QtDesigner 的使用 比较简单 , 一般摸索几下就可以使用大部分的功能了
这里主要介绍其常用的功能
1、对用户界面进行可视化的搭建 和 布局
2、设置 tab 键的顺序
3、设置信号-槽的关系
4、自定义槽
5、设置窗口部件的各种属性
QtDesigner的主要使用方法就是
首先 创建一个 QtDesigner 文件, 就是一个 后缀 为 *.ui 的文件
这种ui文件是基于xml格式的一种文件
点击这个文件,就自动使用 可视化编辑器打开了
当用户界面建立完成后 , 保存
使用 qmake 编译这个文件 , 就会得到一个 以 ui_*.h 的头文件 ,里面包含用户界面的实现代码
打开 *.pro 工程文件 , 在 HEADERS += 这一項中加上 ui_*.h 头文件 , 然后保存 , 然后就会发现 ui_*.h 头文件被自动包含到工程里面了
当要使用搭建好的界面的时候 就要经历以下步骤
包含 ui_*.h 头文件
创建一个 window , 例如 QWidget * window = new QWinget;
然后创建一个 Ui::XXXX * ui = new Ui::XXXX; ( 该类是在ui_*.h 中定义的 )
然后调用如下语句 ui->setupUi(window) ; 该语句 是将 定义好的 UI 界面应用到刚刚创建的 window 上
然后就可以show() 了
实例代码
1 /********************main.cpp*******************************/
2 #include"gotocelldialog.h"
3 #include <QApplication>
4 #include<QDialog>
5
6 int main(int argc, char *argv[])
7 {
8 QApplication a(argc, argv);
9 GotoCellDialog* dlg = new GotoCellDialog;
10 dlg->show();
11 return a.exec();
12 }
1 /*****************************gotocelldialog.h**********************************/
2 #ifndef GOTOCELLDIALOG_H
3 #define GOTOCELLDIALOG_H
4 #include<QDialogButtonBox>
5 #include<QString>
6 #include"ui_dialog.h"
7
8 class GotoCellDialog:public QDialog, public Ui::Dialog
9 {
10 Q_OBJECT
11 public:
12 GotoCellDialog(QWidget* parent = 0);
13 ~GotoCellDialog();
14 private slots:
15 void on_lineEdit_textChanged(const QString & txt);
16 void on_okBtn_clicked();
17 void on_cancelBtn_clicked();
18 };
19
20 #endif // GOTOCELLDIALOG_H
1 /**********************gotocelldialog.cpp*********************************/
2 #include<QtGui>
3 #include<QLabel>
4 #include "gotocelldialog.h"
5
6 GotoCellDialog::GotoCellDialog(QWidget* parent)
7 : QDialog(parent)
8 {
9 this->setupUi(this);
10 QRegExp reg("[a-zA-Z][0-9][0-9]{0,2}");
11 lineEdit->setValidator(new QRegExpValidator(reg,this));
12 }
13
14 void GotoCellDialog::on_lineEdit_textChanged(const QString & txt)
15 {}
16
17 void GotoCellDialog::on_okBtn_clicked()
18 {
19 this->setWindowTitle(lineEdit->text());
20 okBtn->update();
21 }
22 void GotoCellDialog::on_cancelBtn_clicked()
23 {
24 this->close();
25 }
26
27 GotoCellDialog::~GotoCellDialog()
28 {}
1 /***************************gotocelldialog.pro*******************************/
2 //这是添加了 ui_*.h 的工程文件
3
4 #-------------------------------------------------
5 #
6 # Project created by QtCreator 2013-05-31T12:59:16
7 #
8 #-------------------------------------------------
9
10 QT += core gui
11
12 greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
13
14 TARGET = QtDesigner_Test
15 TEMPLATE = app
16
17
18 SOURCES += main.cpp\
19 mainwindow.cpp\
20 gotocelldialog.cpp
21
22 HEADERS += mainwindow.h\
23 ui_dialog.h\
24 gotocelldialog.h
25
26 FORMS += mainwindow.ui \
27 dialog.ui