5)~Qt~Desinger小观与qmake设置与使用

Desinger

是一个可视化的工具,尤其可以使布局简单,不过总有强人告诉我直接用代码更好~o(╯□╰)o

还是先来学习这个吧。

无论用编写代码的方式还是用Qt Designer,创建对话框都有如下基本的步骤:
1
、创建和初始化子控件。
2
、把子控件放到布局管理器中。
3
、设置tab顺序。
4
、创建信号和槽。
5
、实现对话框的自己的槽函数。

然后我们设计一个有个textlabel,一个lineEdit,一个分隔符,2个pushbutton的小对话框,其中按钮一个是okButton和cancelButton把对话框设计好以后,保存为.ui文件。其中制作过程可以参考那本with Qt 4(宝书)。然后用文本编辑器写一个main.cpp放到同一文件夹下。

  这段要说一下了,我们可以直接我creator,但是为了了解qmake,先这么做。

#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();
}

这段代码以后也要修改。

然后运行qmake

现在来了解qmake,qmake是个什么东西呢,qmake可以使你的纯文本编译的代码生成.pro文件,然后再生成Makefile。之后也可以生成.exe。就是说qmake自动帮你完成了编译器要完成的功能。我们用creator来做其实是一样的顺序。只不过界面更加友好简便了。

那么在控制台下(windows)

我推荐用Qt Command Prompt,不用设置太麻烦的环境变量,还可以在其中输入-edit直接来写代码。

环境变量的设置见后面的附录

qmake -project

qmake ***.pro

就可以了,qmake非常的天才,可以自动检测ui并且转化成等价的头文件。

然后我们run一下发现可以看,就是不能用。然后就这本书就创建一个新类,此类继承自QDialog和ui,实现功能,废话少说。代码如下

gotocelldialog.h

#ifndef COTOCELLDIALOG_H

#define GOTOCELLDIALOG_H
#include <QDialog>
#include "ui_gotocelldialog.h"
class GoToCellDialog : public QDialog, public Ui::GoToCellDialog//继承了2个
{
Q_OBJECT
public:
GoToCellDialog(QWidget *parent = 0);
private slots:
void on_lineEdit_textChanged();//如果用on_objectName_signalName()命名的任意槽与相应的objectName()的signalName(
                                                   //自动连接这是很方便的一种机制。
};
#endif
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~·
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());
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
最后我们修改的main.cpp
#include<QApplication>
//#include<QDialog>
#include"gotocelldialog.h"
int main(int argc , char *argv[])
{
QApplication app(argc, argv);
GoToCellDialog *dialog = new GoToCellDialog;
//ui.setupUi(dialog);
dialog->show();
return app.exec();
}
然后我们一样
qmake -project
qmake ***pro
之后我们就可以看到一个很不错的对话框了。但是我还是推荐用creator的方式来写,因为这个要是写错了,根本不知道那里有的问题。
不过这么先这么写一下,了解一下以后是有用的。
附录:
 
我就是照着这个来弄的。不过我一直用的是Qt Command Prompt。
推荐用这个哈。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值