Qt学习之路2---窗口组件及窗口类型
窗口组件:
图形用户界面由不同的窗口和窗口组件构成;
Qt以组件对象的方式,构建图形用户界面。
组件的类型包括:
---容器类(父组件):用于包含其他的界面组件
---功能类(子组件):用于实现特定的交互功能
Qt中没有用父组件的顶级组件叫做窗口。
Qwidget 继承自QObject和QPaintDevice
-Qwidget 能够绘制自己和处理用户的输入,也是Qt中所以窗口组件类的父类
-Qwidget类对象作为父组件或顶级组件使用
-Qt中的每一个窗口组件都是Qwidget
-Qwidget 是所有窗口组件的抽象
QLabel组件-QLabel 用于显示提示性的字符串
-QLabel 是功能性组件,一般需要父组件作为容器
-QLabel 可以作为窗口存在,但没有实际意义
Qt中可以根据需要定制窗口式样
-窗口类型
.Qt::Dialog---对话框类型
.Qt::Window---主窗口类型
.Qt::SplashSctrrn---启动画面类型
。。。
-窗口标志
.Qt::WindowStaysOnTopHint
.Qt::WindowContexHelpButtonHint
。。。
编程实战:
新建Qwidget工程如下图:
参考代码:
1 /*main.cpp*/ 2 3 #include "widget.h" 4 #include <QApplication> 5 6 int main(int argc, char *argv[]) 7 { 8 QApplication a(argc, argv); 9 Widget w; 10 w.setWindowTitle("我是继承自Qwidget的Widget"); 11 w.show(); 12 13 return a.exec(); 14 }
1 /*widget.cpp*/ 2 3 #include<QLabel> 4 #include "widget.h" 5 6 Widget::Widget(QWidget *parent) 7 : QWidget(parent) 8 { 9 m_label =new QLabel(this); 10 m_label->setText("我是一个标签"); 11 } 12 13 Widget::~Widget() 14 { 15 16 }
1 /*widget.h*/ 2 3 #ifndef WIDGET_H 4 #define WIDGET_H 5 6 #include <QWidget> 7 class QLabel; 8 class Widget : public QWidget 9 { 10 Q_OBJECT 11 private: 12 QLabel *m_label; 13 public: 14 Widget(QWidget *parent = 0); 15 ~Widget(); 16 }; 17 18 #endif // WIDGET_H
效果图:
NOTE:
你可能现在会有很多疑问,但慢慢看下去,你的疑问就会慢慢被解决。O(∩_∩)O
Best Practices:
Qt中的帮助文档是你的第一手资料,它也是你遇到问题首先应该去查询的。但这也要求我们需要具备一定的英语阅读能力,刚开始吃力,坚持几个月就好,至少我是这样过来的,遇到不会的单词,只查词比你整句copy到翻译软件更能提高你的英语阅读水平。
欢迎加入作者的小圈子
扫描下方左边二维码加入QQ交流群,扫描下方右边二维码关注个人微信公众号并获取更多隐藏干货,QQ交流群:816747642 微信公众号:Crystal软件学堂
作者:Crystal软件学堂 bilibili视频教程地址:https://space.bilibili.com/5782182 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在转载文章页面给出原文连接。 如果你觉得文章对你有所帮助,烦请点个推荐,你的支持是我更文的动力。 文中若有错误,请您务必指出,感谢给予我建议并让我提高的你。 |