• 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到翻译软件更能提高你的英语阅读水平。

  • 相关阅读:
    nginx http和https共存
    jQuery prop方法替代attr方法
    idea内置tomcat中java代码热更新
    Linux磁盘空间查看、磁盘被未知资源耗尽
    Mysql order by与limit混用陷阱
    IIS 架构解析
    asp.net MVC 应用程序的生命周期
    Linq专题之var关键字
    ThoughtWorks 2016年第1期DNA活动总结
    对象的深拷贝--反射
  • 原文地址:https://www.cnblogs.com/yangguang-it/p/6390686.html
Copyright © 2020-2023  润新知