QT中 uic 工具的使用

   使用QT设计师设计的窗口部件,用uic 工具可以转换成C++代码:

(1)首先用QT设计师设计一个窗口,选择一个英文目录下,保存为gotocelldialog.ui

我的文件保存在:F:\qt-program\gotocell


(2)在该目录下创建一个 main.cpp 文件,内容如下:

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


(3)使用 qmake 工具

   打开Qt Command Prompt 

       ->   f:             // 回车,可以进入F盘

       ->cd  qt-program\gotocell         // 回车进入我保存文件的目录

      ->dir                     //  查看该目录下的所有文件

      ->qmake   -project       // 生成 gotocell.pro 文件

      ->qmake   gotocell.pro   // 生成 makefile 文件

      -> uic  gotocelldialog.ui  -o ui_gotocelldialog.h   // -o 用来制定目标文件,生成指定的ui_gotocelldialog.h




创建两个文件:

gotocelldialog.h 

#ifndef GOTOCELLDIALOG_H
#define GOTOCELLDIALOG_H

#include <QDialog>

#include "ui_gotocelldialog.h"


// GoToCellDialog 继承自两个类
class GoToCellDialog:public QDialog,public 	Ui::GoToCellDialog
{
	Q_OBJECT
public:
	GoToCellDialog(QWidget *parent=0);
private slots:
	void on_lineEdit_textChanged();
};

#endif 

 gotocelldialog.cpp

#include <QtGui>
#include "gotocelldialog.h"

GoToCellDialog::GoToCellDialog(QWidget *parent):QDialog(parent)
{
	setupUi(this);  // 初始化窗体
	// 允许一个大写或者小写字母,后面跟一个范围1-9的数字,后面再跟0个,1个,2个0-9的数字
	QRegExp regExp("[A-Za-z][1-9][0-9]{0,2}");  // 正则表达式
	lineEdit->setValidator(new QRegExpValidator(regExp,this));  // validator n 验证器
	
	connect(okButton,SIGNAL(clicked()),this,SLOT(accept()));  // 设置QDialog::Accepted 为1
	connect(cancelButton,SIGNAL(clicked()),this,SLOT(reject()));  // 设置QDialog::Regected 为0
}

void GoToCellDialog::on_lineEdit_textChanged()
{
	okButton->setEnabled(lineEdit->hasAcceptableInput());
}

main.cpp 文件的修改

#include <QApplication>
//#include <QDialog>
//#include "ui_gotocelldialog.h"

#include "gotocelldialog.h"

int main(int argc,char *argv[])
{
	QApplication app(argc,argv);
	//Ui::GoToCellDialog ui;
	//QDialog *dialog = new QDialog;
	//ui.setupUi(dialog);
	//dialog->show();
	
	GoToCellDialog *dialog = new GoToCellDialog;
	dialog->show();
	
	return app.exec();
}

---> qmake  -project

--->qmake    gotocell.pro

--->mingw32-make

--->cd debug

--->gotocell.exe 


参考书籍:

《C++ GUI Qt  4 编程》(第二版)




  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值