【Qt学习笔记】窗口部件整理

关于Qt中窗口部件的学习

  今天开始学习Qt的窗口部件,领略一下Qt的神奇之处,记得2012年的那年冬天,我还学Java呢,现在基本上和Java说再见了,不过对于嵌入式的开发Qt还是举足轻重的,我想趁着假期的时间,好好学习。考研之后发现一个问题,无论当初你学的有多明白,总会忘记,最好的方法就是将他们记录下来,甚至写下你当时的心情,如果有一天你需要了,回过头来看看,是一笔不错的财富。

1. QDialog类对话框

1.1 模态和非模态对话框

  对于对话框,有模态(modal)和非模态(modeless)之分。模态对话框就是,对话框一出的时候,你不能点击对话框后面的面板了。非模态就是对话框出的时候,可以点击后面的面板。下面代码就是如何设定的。

 #include "widget.h"
 #include "ui_widget.h"
 #include <QDialog>
 #include <QDebug>

 Widget::Widget(QWidget *parent) :
     QWidget(parent),
     ui(new Ui::Widget)
 {
     ui->setupUi(this);
     // *建立一个QDialog对象,把这个对象设定在这个Widget里面
     // *这个对象目标建立一个:模态对话框(不能点击其他应用部分)
     QDialog *dialog1 = new QDialog(this);
     dialog1->setWindowTitle("DIALOG-1");
     // ** 调动dialog的方法,setModal(),给定参数为布尔类型的值
     // ** 如果是true建立一个模态对话框,如果是false建立一个非模态对话框
     dialog1->setModal(false);
     // ** 等效以下方法调动setWindowModality()
     // ** 给定参数:
     // ** 1. Qt::ApplicationModal ====> 阻塞整个应用程序(与setModal(true)效果同)
     // ** 2. Qt::WindowModal      ====> 阻塞他的父窗口和祖先窗口和它的子窗口
     // ** 3. Qt::NonModal         ====> 不阻塞任何窗口
     // dialog1->setWindowModality(Qt::ApplicationModal);

     // *建立一个QDialog对象的另一种方法

     QDialog dialog2(this);
     dialog2.setWindowTitle("DIALOG-2");
     dialog2.exec();                                 // 和show的区别是,这个需要关闭才能返回
                                                     // 而变量定义法和指针定义法区别在于,变量定义法会被释放掉。
     // 如果利用dialog2.show();将会一闪而过!

     dialog1->setWindowModality(Qt::ApplicationModal);
     dialog1->show();

 }

 Widget::~Widget()
 {
     delete ui;
 }

1.2 几种系统自带的标准对话框

  今天学习了几个自带的标准对话框,颜色对话框、文件对话框、字体对话框、输入对话框、消息、进度和向导对话框。这些对话框都是我们使用软件能接触的,理解起来比较容易,我们也不是为了学习这个几个对话框而学习,积累对他们的知识的同时,了解一下Qt里边所包含的类,变量如何使用,同时复习一下C++语言的基本规则。

1.2.1 颜色对话框

  对于颜色对话框,很好理解了。在Qt里面有个Color类,掌管颜色,如果按照字符串输出,会输出QColor(ARGB 1, 0.666667, 0, 0) 的

上一篇:深入理解javascript原型和闭包(2)——函数和对象的关系


下一篇:Mac 终端实现快速定位命令 自动补全目录