📄 qt系列之二:快速设计对话框.txt
字号:
如果用纯文本的方法写对话框,要涉及到窗口布局、控件等类、函数等,很复杂。且当需要对已经设计好的布局进行修改时,需要大量的编码工作,所以引入Qt Desiger工具可视化的设计对话框。步骤如下:
1、打开Qt Desiger,选择窗体类型,此例中选择Widget。
2、拖拽所需要的控件到窗体上面,合理的设计布局。
3、通过“Tools”菜单选择属性编辑工具,为各个控件设置属性,比较重要的一个属性就是Name属性,我们将窗体的Name设置成“GoToCellDialog”
4、保存窗体文件为gotocelldialog.ui 。
5、利用一个文本编辑器生成一个名为main.cpp的文件,使之与ui文件在同一个文件夹下面。该文件的内容如下:
#include <QApplication>
#include <QDialog>
#include "ui_gotocelldialog.h"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
Ui::GoToCellDialog ui;
QDialog *dialog = new QDialog;
ui.setupUi(dialog);
dialog->show();
return app.exec();
}
6、使用qmake -project 命令生成.pro文件;
7、利用qmake -*.pro 命令生成Makefile文件;这样qmake可以侦测到*.ui文件,然后使用uic工具将*.ui转化成c++文件,同时生成ui_gotocelldialog.h文件将结果放入其中。我们可以打开该文件检查代码发现代码的确描述了使用可视化工具设计的对话框。
生成的ui_gotocelldialog.h包含了对Ui::GoToCellDialog类的定义,该类是对*.ui的描述。
如果此时使用nmake命令生成可执行文件,那么对话框的一些响应函数是没有描述和实现的,也即是无法工作的,所以还要定义一个新类继承 QDialog 类和Ui::GoToCellDialog类,实现对话框需要的函数。如下:
8、使用文本编辑器生成一个名为gotocelldialog.h的文件,包含如下代码:
#ifndef GOTOCELLDIALOG_H
#define GOTOCELLDIALOG_H
#include <QDialog>
#include "ui_gotocelldialog.h"
class GoToCellDialog : public QDialog, public Ui::GoToCellDialog
{
Q_OBJECT
public:
GoToCellDialog(QWidget *parent = 0);
private slots:
void on_lineEdit_textChanged();
};
#endif
9、生成gotocelldialog.cpp文件:
#include <QtGui>
#include "gotocelldialog.h"
GoToCellDialog::GoToCellDialog(QWidget *parent)
: QDialog(parent)
{
setupUi(this);
QRegExp regExp("[A-Za-z][1-9][0-9]{0,2}");
lineEdit->setValidator(new QRegExpValidator(regExp, this));
connect(okButton, SIGNAL(clicked()), this, SLOT(accept()));
connect(cancelButton, SIGNAL(clicked()), this, SLOT(reject()));
}
void GoToCellDialog::on_lineEdit_textChanged()
{
okButton->setEnabled(lineEdit->hasAcceptableInput());
}
10、将main.cpp文件的内容做如下修改:
#include <QApplication>
#include "gotocelldialog.h"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
GoToCellDialog *dialog = new GoToCellDialog;
dialog->show();
return app.exec();
}
11、运行qmake -project; qmake gotocell.pro;nmake命令可得到可执行文件。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -