Qt之窗口的父子关系:Widget与按钮
1、新建项目 --> 其他项目 --->Empty qmake project:只有一个 pro 程序
1、新建项目 --> 其他项目 --->code snapped--->Gui application
2、修改 main.cpp:在主窗口上显示一个按钮:也就是将按钮的父窗口设置为 widget [因为 QPushButton 继承 QWidget],这样 widget 就和 button 关联起来了,当 widget 的 show 时候会调用 button 的 show。
#include <QApplication> #include <QWidget> #include <QPushButton> int main(int argc, char *argv[]) { QApplication app(argc, argv); QWidget w; QPushButton button; /*按钮是窗口*/ button.setText("Button"); button.setParent(&w); //窗口对象的父子关系:设置父窗口是button w.show(); w.setWindowTitle("Hello world"); w.show(); return app.exec(); }
如果没有设置父子关系,那么这个程序就有两个主窗口,按钮窗口和 widget 窗口没有关系,单独显示:
#include <QApplication> #include <QWidget> #include <QPushButton> int main(int argc, char *argv[]) { QApplication app(argc, argv); QWidget w; QPushButton button; /*按钮是窗口*/ button.setText("Button"); // button.setParent(&w); //窗口对象的父子关系:设置父窗口是button button.show(); //必须 w.show(); w.setWindowTitle("Hello world"); w.show(); return app.exec(); }
3、添加信号与槽机制
#include <QApplication> #include <QWidget> #include <QPushButton> int main(int argc, char *argv[]) { QApplication app(argc, argv); QWidget w; QPushButton button; /*按钮是窗口*/ button.setText("Button"); button.setParent(&w); //窗口对象的父子关系:设置父窗口是button //添加信号与槽:当clicked()函数被调用,close()也被调用 QObject::connect(&button, SIGNAL(clicked()), &w, SLOT(close())); w.show(); w.setWindowTitle("Hello world"); w.show(); return app.exec(); }
效果是当按钮被点击了,窗口就会退出。
4、设置 button 的位置
#include <QApplication> #include <QWidget> #include <QPushButton> int main(int argc, char *argv[]) { QApplication app(argc, argv); QWidget w; QPushButton button; /*按钮是窗口*/ button.setText("Button"); button.setParent(&w); //窗口对象的父子关系:设置父窗口是button button.setGeometry(30, 30, 100, 30); //坐标原点在窗口的左上角[不包括工具栏] //添加信号与槽:当clicked()函数被调用,close()也被调用 QObject::connect(&button, SIGNAL(clicked()), &w, SLOT(close())); w.show(); w.setWindowTitle("Hello world"); w.show(); return app.exec(); }
--
网址:Qt之窗口的父子关系:Widget与按钮 https://mxgxt.com/news/view/946951
相关内容
钮承泽和钮晓晴是什么关系 两人父亲是堂兄弟【中国新闻周刊】当钮承泽变回“钮祜禄·承泽”
原产地证明填报规则调整后单一窗口录单指南(新版教程)
钮承泽澄清与Hebe忘年恋 一饭之缘再无约会
你找不到关闭直播的按钮,我也找不到开启你直播的方式
钮承泽突然改口,自称与女受害人是男女关系,有亲密举动也正常
怎么解除与师父的关系
《奇葩说》若有一个按钮可看到伴侣爱你的分,你会按吗?肖骁感动了我
劲舞团怎么解除情侣关系?
办公软件excel表变关系树图