天天看点

QT学习-第一个程序

建立一个空项目:

main.cpp文件代码:

int main(int argc,char**argv){
   QApplication app (argc,argv);

   QWidget w;//创建名为w的窗口
   w.show();//窗口显示
   w.setWindowTitle("检测系统");//标题设置
   QPushButton b;//同理创建一个名为b的按钮
   b.setText("打开相机");//给按钮设置内容
   b.show();//按钮显示
   app.exec();
   return 0;
}
           

效果展示

结果两个窗口独立,按钮窗口可以独自移动和缩放大小。

QT学习-第一个程序

如何将按钮窗口嵌入到主窗口中?

如果不知道父对象,对象与对象(窗口与窗口)之间没有关系,相互独立。

例如将a指定b为父对象,那么a放在了b的上面。

指定父对象,有两种办法:

1.setparent

2.通过构造函数传参

设置完成后,指定好父对象,只需要显示父对象,子对象会自动显示在上面。

main.cpp文件代码修改后:

#include <QApplication>
#include <QWidget> //窗口显示基类
#include <QPushButton> //按钮的头文件

int main(int argc,char**argv){
   QApplication app (argc,argv);

   QWidget w;//创建名为w的窗口
   w.setWindowTitle("检测系统");//标题设置

   QPushButton b;//同理创建一个名为b的按钮
   b.setText("打开相机");//给按钮设置内容
   b.setParent(&w);//指定父对象
   b.move(100,200);//默认位置为原点。move为移动坐标API,左上角为原点,第一个参数为在横坐标上移动100,第二个为在纵坐标上移动200

   QPushButton b1(&w);//构造函数传参指定父对象
   b1.setText("关闭相机");
   w.show();//窗口显示

   app.exec();
   return 0;
}
           

效果展示

QT学习-第一个程序

窗口控件对象

三者意义相同,只是叫法不一样

如果进行了分类,就分为主窗口和子窗口;父对象和子对象;父控件和子控件

继续阅读