当前位置: 首页 > news >正文

商洛网站开发公司昆明网站建设报价

商洛网站开发公司,昆明网站建设报价,网站做百度推广怎么推广网站,网页设计ppt模板验证布局中的控件的父窗口概述示例开发环境项目运行结果结论番外概述 平时在创建一个窗口类的子空间时#xff0c;一般需要先创建布局#xff0c;将子控件添加到窗口的布局中。子控件没有显示的指定父窗口时#xff0c;那么这个布局中的控件的父窗口是布局还是这个窗口类呢… 验证布局中的控件的父窗口概述示例开发环境项目运行结果结论番外概述 平时在创建一个窗口类的子空间时一般需要先创建布局将子控件添加到窗口的布局中。子控件没有显示的指定父窗口时那么这个布局中的控件的父窗口是布局还是这个窗口类呢。 本文围绕这个问题展开验证。采用一个简单的小程序。 下面要实现的小程序其窗口类中有一个布局布局中添加了一个控件。大体结构如下图所示。 示例 开发环境 在QtCreate4.11.2基于qt 5.14.2的界面应用程序。 项目 main.cpp #include dialog.h#include QApplicationint main(int argc, char *argv[]) {QApplication a(argc, argv);Dialog w;w.show();return a.exec(); } dialog.h #ifndef DIALOG_H #define DIALOG_H#include QDialogQT_BEGIN_NAMESPACE namespace Ui { class Dialog; } QT_END_NAMESPACEclass Dialog : public QDialog {Q_OBJECTpublic:Dialog(QWidget *parent nullptr);~Dialog(); protected:void initUi(); private:Ui::Dialog *ui; }; #endif // DIALOG_H dialog.cpp #include dialog.h #include ui_dialog.h #include QPushButton #include QHBoxLayout #include QString #include QDebugDialog::Dialog(QWidget *parent): QDialog(parent), ui(new Ui::Dialog) {ui-setupUi(this);initUi();createJsonFile();readJsonFile(); }Dialog::~Dialog() {delete ui; } void Dialog::initUi() {QPushButton *pBtn new QPushButton(hdu);QHBoxLayout *hLayout new QHBoxLayout(this);hLayout-addWidget(pBtn);QObject *layoutParent hLayout-parent();QObject* btnParent pBtn-parent();if(btnParent (QObject*)hLayout){qDebug(layout is btns parent!);}char str[20]{0};char *p str;sprintf(str, 0x%x, (unsigned int)btnParent);QString strAddress QString::fromUtf8(p);qDebug(btn parent address:%s,qPrintable(strAddress));//0xa4d4f990sprintf(str, 0x%x, (unsigned int)hLayout);QString strLayoutAddress QString::fromUtf8(p);qDebug(layout address:%s,qPrintable(strLayoutAddress));//0xf1f7d7c0sprintf(str, 0x%x, (unsigned int)layoutParent);QString strLayoutParentAddress QString::fromUtf8(p);qDebug(layout parent address:%s,qPrintable(strLayoutParentAddress));//0xa4d4f990 }运行结果 结论 由上面的运行结果可知添加到布局中的控件的父控件是其所在布局的父窗口即当前的窗口类。 番外 作者创建控件的时候未指定父对象然后将其加入到布局中。根据qt对象树其内存管理机制当前类的子控件是没有必要手动去释放的即调用delete去删除控件的因为作者认为创建的子控件虽没有显示指定其父对象但是布局是当前类的子控件又加入了布局故而子控件也归当前类所属子控件的父窗口为子控件所加入的布局的父窗口。此为验证布局中的控件其父对象不需要手动释放加入窗口类布局的子控件。
http://www.zqtcl.cn/news/56708/

相关文章:

  • 毕业答辩ppt模板免费下载网站seo实战
  • 做网站的公司风险大不大php网站本地调试
  • 自己怎样学做网站小程序开发源码
  • 网站建设注意哪些问题做英文网站用什么源码
  • 贵阳网站建设推广有什么网站可以做3d
  • 一家做运动鞋的网站缪斯形象设计高级定制
  • 后端网站开发培训环保局 网站建设
  • 咨询类网站开发的意义好乐买的网站推广方式
  • ipa文件自己网站怎么做下载网站建设布局
  • 平台门户网站建设方案网站运营与维护是什么意思
  • 去菲律宾做it网站开发wordpress变论坛
  • 岳池建设局网站手机网站被拦截怎么解除
  • 合肥网站设计建设女生去住建局好不好
  • 网站消耗流量聚来宝网站建设
  • 微官网和手机网站区别茂名网站建设优化
  • 周口 网站建设中国能源建设集团有限公司招聘
  • 医院网站优化策划一家专做有机蔬菜的网站
  • 医院网站加快建设网站建设售后服务
  • 静态网页多少钱一页合肥网站seo费用
  • 潍坊作风建设网站哪家公司建5g基站
  • 西宁做腋臭哪里北大DE网站wordpress文章公众号
  • 坊网站建设南京房地产开发公司
  • 牡丹江市住房和城乡建设局网站fifa世界排名最新
  • 上海手机网站制作哪家好公司网站建设注册
  • 网站建设的主题什么比较好物流网站
  • 网站做关键词排名dede网站 异步生成
  • 有什么好的网站做推广的wordpress图文调用
  • 公司网站找谁做苏州cms模板建站宝
  • 天津设计网站天津移动网站设计
  • 国企单位网站建设方案广东的网站建设