QT编程初探

来源:互联网 发布:qpst找不到端口 编辑:程序博客网 时间:2024/04/29 02:47

 以下是主要转抄网上QT编程初步入门的一篇文章,对我QT编程帮助很大。

 

某机器安装有QT编程环境。登录此用户,输入%designer,调出画用户程序界面的环境,选择 New ->打开Dialog 。这时侯, QT Designer 中就会出现一个 From1 来。更改右下角那个窗口里的 caption ,原内容 "Form1"改为 "一个小计算";name,原内容 "Form1"改为 "form_main"。
现在我们 click 一下上面的 tools 中的那个 pushbutton, (标有 OK 的图标)并且用 mouse 选择到一定的大小。在这个 pushbutton上面用您的 mouse double click 一下, 我们就可以改变 pushbutton 的 label 了。 这里我们把pushbutton1 这几个字换成 “计算”, 然后直接按 Enter 或者用 mouse 选择 OK 也可以。现在我们 看到, 那个 button 中的标签已将变成 “计算” 了。更改右下角那个窗口里的 name , 原内容 "pushButton"改为 "pBtn_calculate" 。
同样拉个pushbutton到窗口上,改pushbutton1 为 Close , 改右下角那个窗口里的 name为 pBtn_Close。
    同样拉个textLabel到窗口上, 更改右下角那个窗口里的 name 内容 , 原内容 "textLabel1"改为 "txLbl_expression" 。text 内容, 原内容 "textLabel1"改为 "56+89"。
同样拉个lineEdit到窗口上 ,更改右下角那个窗口里的 name 内容 , 原内容 "lineEdit1"改为 "LEdt_result"。
我们这时侯还需要给这个 Close Button 一个signal(信号),这样当您在 Close 这个 Button 上 click 的时侯,QT 才知道如何去处理这个信号。我们按一下 F3(connect singnal slot)然后在那个 Close Button 上面 Click 一下. 这时侯我们就看到了 Close Connection 的 Dialog 了。在 Signal 中选择 clicked, 在 slot 中,先选择 close() 就好了,在 Reciever 中选择 form_main,这时侯选择 OK。
    我们这时侯还需要给这个 “计算” Button 一个signal(信号), 这样当您在 “计算” 这个 Button 上 click 的时侯,QT 才知道如何去处理这个信号。由主菜单 Edit->Slots 打开 Edit Function 窗口可以新建新的函数,如 void func1() 。点击 New Function 按钮,将newSlot()改为func1(); 然后选择 OK。
    我们按一下 F3(connect singnal slot)然后在那个 “计算” Button 上面 Click 一下。这时侯我们就看到了 View and Edit Connection 的 Dialog 了。在 Signal 中选择 clicked, 在 slot 中先选择 func1() 就好了,在 Reciever 中选择 form_main,这时侯选择 OK。

    我们就算是基本完成了。如果想看看这个小程式长什么样子,可以用 CTRL+T来看 PreView。

    下一步在您的 用户中建立一个 test 的 Directory 出来。这个 Directory 将会作为我们存放文件的地方。现在我们用 File -> Save 把这个文件存为 form_main.ui 放在 /用户/test的目录下。现在如果大家打开 form_main.ui 来看一看,会发现那是一堆有很多的东西。

    这时侯我们只需要写一个小的main.cpp就可以编译form_main.cpp (这个文件等下会自动生成)了。
main.cpp非常的简单,如下
运行gedit或vi ,写main.cpp
 
#include "form_main.h"
#include <qapplication.h>

int main(int argc, char **argv)
{

QApplication app(argc, argv, "form_main");
form_main *form1=new form_main();
form1->show();
app.setMainWidget(form1);
return(app.exec());
}

编写完后保存到/用户/test 中命名为 main.cpp
% cd /用户/test/
% qmake -project
% qmake
% make

再打开 /用户/test/ 可以发现多了一些文件
form_main.cpp form_main.ui Makefile test
form_main.h main.cpp moc_form_main.cpp test.pro
form_main.o main.o moc_form_main.o

那个test文件就是可执行文件
% ./test
至此第一个简单的程序雏形就编写完成拉。

再用vi 打开form_main.cpp
void form_main::func1()中添加
txLbl_expression->setText(tr("56+89=145"));
LEdt_result ->setText(tr("56+89=145"));
保存,再来编译一次
% cd /用户/test/
% qmake -project
% qmake
% make
%test
就出现我们编的程序界面来。
另使用uic 命令可以把画面form1.ui转换成程序文件,如
Uic form1.ui –o form1.h
Uic form1.ui –i form1.h –o form1.cpp
可以自己编写*.pro文件(用来生成Makefile),也可以用%qmake –project 自动生成。
原创粉丝点击