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

图片制作动图seo门户网站优化

图片制作动图,seo门户网站优化,免费做三级网站有哪些,轻创优选地推appQt中通过对象树的方式,实现了窗体自动析构,只要我们使用得当,就能免去自己去释放窗体对象的内存,但是我们得清楚Qt窗体自动析构的机制,什么情况下能够自动析构,什么情况不能。操作不当的情况可能造成内存泄…

Qt中通过对象树的方式,实现了窗体自动析构,只要我们使用得当,就能免去自己去释放窗体对象的内存,但是我们得清楚Qt窗体自动析构的机制,什么情况下能够自动析构,什么情况不能。操作不当的情况可能造成内存泄漏,甚至会出现程序崩溃问题。

下面通过一系列示例进行探究。

设置父窗体

这种情况规则最简单,在创建窗体或控件时,指定其parent对象,当parent对象销毁时,则会析构该窗体。

QComboBox* cbx=new QComboBox(this);//this窗体被析构时,cbx自动析构

Qt中如果一个widget创建时没有指定parent,但是被其他窗体设置为centerWidget()后
其他窗体析构时,该窗体能正常析构

MainWindow::MainWindow(QWidget *parent): QMainWindow(parent)
{MyWidget* w=new MyWidget();//MainWindow将成为w的父窗体this->setCentralWidget(w);
}
设置窗体关闭时自动销毁

Qt中如果一个widget没有指定parent,但设置setAttribute(Qt::WA_DeleteOnClose);
该窗口关闭时析构

MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);//w作为一个独立的窗体展示,点击关闭按钮后,窗体自动析构MyWidget* w=new MyWidget();w->show();w->setAttribute(Qt::WA_DeleteOnClose);
//    this->setCentralWidget(w);
}

Qt中如果一个widget没有指定parent,且没有设置setAttribute(Qt::WA_DeleteOnClose);
该窗口关闭时不会析构,主窗口关闭后,该窗口也不会析构

MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);//w作为一个独立的窗体展示,关闭后,并不会销毁MyWidget* w=new MyWidget();w->show();
}
放入父窗体的布局之中

如果一个控件在new时没有指定parent,但是放在了一个另窗体的布局中,该窗体关闭时
该控件将析构。将控件放入一个窗体的布局中时,将自动设置该窗体为控件的父窗体。
 

MyWidget::MyWidget(QWidget *parent) : QWidget(parent)
{MyLineEdit* edit=new MyLineEdit();//没有指定parentQVBoxLayout* layout=new QVBoxLayout();layout->addWidget(edit);//放在一个widget的布局中this->setLayout(layout);//当放入到当前窗体的布局中时,当前窗体将成为edit的父窗体
}
指定父窗体,又放入布局

Qt中,如果一个控件指定了widget1作为parent,但是又放在了widget2的布局中
在widget2被析构的时候,该控件将被析构
 

MyWidget::MyWidget(QWidget *parent) : QWidget(parent)
{MyLineEdit* edit=new MyLineEdit(parent);//指定widget1作为parentQVBoxLayout* layout=new QVBoxLayout();layout->addWidget(edit);//edit的实际parent已经更改为widget2( this, MyWidget*)this->setLayout(layout);
}

其他设置父窗体的场景
控件放入表格中

Qt中,将一个编辑框放置在一个表格中,当表格被析构的时候,编辑框也被析构

MyWidget::MyWidget(QWidget *parent) : QWidget(parent)
{MyLineEdit* edit=new MyLineEdit(parent);QTableWidget* table=new QTableWidget(this);table->setColumnCount(2);table->setRowCount(2);table->setCellWidget(0,0,edit);//表格table析构时,edit也被析构QVBoxLayout* layout=new QVBoxLayout();layout->addWidget(table);this->setLayout(layout);}

http://www.khdw.cn/news/22669.html

相关文章:

  • 真人做爰直播网站新公司如何做推广
  • 做建筑钢材的b2b网站有哪些杭州百度公司在哪里
  • 佰牛深圳网站建设关联词有哪些四年级
  • 制作网址怎么收费seochinaz查询
  • 青岛网站建设商家今日刚刚发生新闻事件
  • 怎么自己搭建一个博客网站今日热点新闻事件
  • 惠州模板网站建设seo网络优化是什么意思
  • 商城网站建设可以吗搜索词分析工具
  • 上海信息公司做网站百度首页推广
  • b2c网站开发目的和意义西安百度关键词推广
  • 惠州开发做商城网站建设哪家好池州网络推广
  • 北京住房和城乡建设部网站官网百度云盘登录
  • 网站建设环境软件有哪些全国31省市疫情最新消息今天
  • 商务信息网站淘宝关键词优化推广排名
  • 深圳网站建设电话咨询南宁网站建设优化服务
  • 有网站代码怎么建站2023年8月疫情严重吗
  • 视频网站点击链接怎么做外贸网站建设推广
  • 万网购买网站新东方英语线下培训学校
  • 网站制作里的更多怎么做软文营销常用的方式是什么
  • wordpress主题如何升级百度关键词优化推广
  • 山西网站制作公司seo搜索引擎优化视频
  • 推进门户网站建设 用好用活怎么开发一款app软件
  • 免费发布信息网站有哪些搭建网站步骤
  • 做系统用哪个网站好百度搜索推广和信息流推广
  • 大学一学一做视频网站成都百度推广和seo优化
  • 三只羊网络科技有限公司上海百度首页优化
  • 门户网站建设和管理情况官方网站怎么查询
  • 网站管理员权限怎么设置纵横seo
  • 岳阳网站开发收费百度的广告推广需要多少费用
  • 网站什么模板做的网络免费推广平台