Qt之窗口的父子关系:Widget与按钮

发布时间:2025-05-03 02:47

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表变关系树图

随便看看