嵌入式Linux下用Qt Designer开发及实例

合集下载

QT_designer开发ARM-Linux人机界面流程

QT_designer开发ARM-Linux人机界面流程

ARM Linux人机界面开发流程蒋旭东吏继斌目录一.建立Linux开发环境 (3)1.1图解安装Fedora9.0 (3)1.2建立交叉编译环境 (18)1.3解压安装源代码及其他工具 (20)1.3.1解压安装源代码 (20)(1)准备好Linux源代码包 (21)(2)解压安装Linux内核源代码 (21)(3)解压安装嵌入式图形系统qtopia源代码 (21)(4)解压安装busybox源代码 (22)(5)解压安装Linux示例程序 (22)(6)解压安装vboot源代码 (22)(7)解压安装其他其他开源bootloader源代码 (22)1.3.2解压创建目标文件系统 (23)1.3.3解压安装必要实用工具 (23)(1)目标文件系统映象制作工具mkyaffs2image (23)(2)解压安装LogoMaker (24)1.4配置网络文件系统NFS服务 (26)1.4.1设置共享目录 (26)1.4.2启动NFS服务 (26)(1)通过命令启动和停止nfs服务 (27)(2)通过图形界面启动NFS服务 (27)二.目标板上安装Linux系统 (29)2.1安装USB下载驱动 (29)2.2安装Linux系统 (35)2.2.1分区 (35)2.2.2安装bootloader (36)2.2.3安装Linux内核 (38)2.2.4安装根文件系统 (40)三.嵌入式Linux的GUI程序开发 (43)3.1编译ARM平台的Qtopia-2.2.0 (43)3.2利用QT designer开发GUI程序 (44)1、进入arm-qtopia (44)2、设置开发环境 (44)3、生成工程文件hi.pro (44)4、开始设计GUI。

(44)5、修改.pro文件 (49)6、生成Makefile和可执行文件 (50)7、生成.desktop文件。

(50)8、在终端输入命令 (50)9、将hi下载到目标板并运行 (51)10、将所设计的GUI程序设为系统的人机界面 (54)四.附录 (56)备注:本流程中目标板下载的是默认的Linux内核及根文件系统,位于光盘的images/linux/目录下,开发的人机界面作为应用程序添加到目标板上的Qtopia系统下,可设置成启动项使开机即可显示该人机界面。

在Linux操作系统上进行Qt开发

在Linux操作系统上进行Qt开发

在Linux操作系统上进行Qt开发随着计算机科学和技术的迅速发展,软件开发在我们日常生活中扮演着越来越重要的角色。

而在软件开发领域中,Qt框架是一个备受推崇的选择。

1. 简介Qt是一种跨平台的应用程序开发框架,可以在Linux、Windows和Mac等操作系统上进行开发。

它提供了丰富的工具和库,使开发者能够轻松构建出跨平台的应用程序。

2. Linux操作系统Linux是一种自由开源的操作系统,它以其稳定性和安全性而闻名。

对于Qt开发来说,Linux提供了一个理想的开发环境。

2.1 安装Qt首先,我们需要在Linux操作系统上安装Qt。

可以从Qt官方网站下载适用于Linux的Qt安装程序,并按照提示进行安装。

2.2 配置开发环境安装完成后,我们需要配置Qt开发环境。

在终端中输入以下命令,将Qt添加到系统路径中:```export PATH=$PATH:/path/to/qt/bin```这样,我们就能够在任何位置运行Qt开发工具。

3. Qt开发工具Qt提供了一系列开发工具,使我们能够高效地进行软件开发。

3.1 Qt CreatorQt Creator是一个集成开发环境(IDE),具有代码编辑、调试和构建等功能。

它提供了一个直观的界面,使我们能够轻松创建和管理项目。

3.2 Qt DesignerQt Designer是Qt的可视化界面设计器,可帮助我们设计GUI界面。

它提供了丰富的界面组件和布局工具,使我们能够快速创建出漂亮的界面。

4. Qt应用程序的创建和编译在Qt Creator中,我们可以创建一个新的Qt项目。

选择适当的项目模板,并按照向导的指示进行配置。

在项目中,我们可以使用C++或Qt自身的脚本语言QML进行编码。

在代码编写完成后,我们可以使用Qt Creator进行编译和构建。

它会自动处理依赖关系,并生成可执行文件。

5. 调试和测试在Qt Creator中,我们可以使用调试器进行调试。

它提供了断点、变量监视和堆栈跟踪等功能,帮助我们追踪和修复程序中的错误。

《嵌入式软件设计》实验报告 qt程序设计

《嵌入式软件设计》实验报告 qt程序设计
3进行交叉编译,mount到目标机运行。
四、实验结果与数据处理五、分与讨论六、教师评语签名:
日期:
成绩
《嵌入式系统软件设计》实验报告
实验序号:09实验项目名称:qt程序设计
学 号
姓 名
专业、班
实验地点
指导教师
实验时间
一、实验目的
1.熟悉qt程序设计的基本步骤。
2.掌握qt程序设计的基本方法。
3. 熟悉qt程序设计的关机技术
二、实验设备(环境)及要求
硬件:PC机;PXA270试验箱
软件:PC机操作系统linux
三、实验内容与步骤
1用qt designer和用户自定义类的方法设计如图1的qt界面,并用主程序调用他们。比较这种方法的不同和优点。(文本框有字符后find按钮有效)
图1图2
2在以上工作的基础上,增加一个clock按钮,布局如图2:
将../../qt-embedded-free-3.1.1/examples/aclock中的aclock.cpp和aclock.h拷贝到当前目录。当用户按clock按钮的时候,程序调出时钟。

Linux下用QT进行软件开发的流程

Linux下用QT进行软件开发的流程

Linux下用QT进行软件开发的流程QT 2009-11-20 17:09:49 阅读69 评论0 字号:大中小1.用QT Designer开发非GUI的C/C++软件1)建立工程:双击上图中的C++ Project;2)新建源程序并添加到工程中:新建hello.cpp后会自动加入到工程,hello.cpp如下:#include<iostream>using namespace std;int main(){cout<<"Hello! this program is created by QT Designer !"<<endl;cout<<"You can build a project by QT,and it will generate a makefile by run$qmake "<<endl;cout<<"Then you can run $make to compile it ."<<endl;cout<<"By QT Designer,you can develop software as easy as onWindows!"<<endl;}3)生成makefile:在终端中进入到工程所在的目录,执行$qmake则会为所建的工程生成一个makefile文件;4)编译工程生成可执行程序:执行$make如果没有错误就会生成可执行文件;接下来就可以执行程序,程序的结果将在终端中输出。

2.用QT Designer开发GUI的C/C++软件1)建立工程:方法同上;2)制作程序界面:●File---〉New选择Dialog,则会建立一个空的对话框根据个人喜好在右边的Property Editor中修改对话框的名字以及相关属性;其中caption属性为窗体标题栏上的显示,name为所创建的对话框类的对象的名字;(本例中将他们都改为了mainForm,)●添加其他控件:一个TextLabel:拖入后双击输入Date;一个LineEdit:拖入后双击输入2006.12.10,并将其name改为dateLineEdit 添加两个按钮,分别将其name改为exitPushbutton, updatePushbutton●选择Tools菜单下的connect signal/slots,在Exit按钮上点击鼠标不放松,将其拖到对话框的任意位置后释放,此时会弹出signal 和slots的设置对话框在signal栏目类选择clicked()信号,在Slot栏目内选择close ()槽;这样链接起来的意思是在单击(clicked)Exit按钮时就触发了mainForm的close()函数,也就是说关闭程序;在单击Update按钮的时候我们希望能够更新LineEdit内的显示,使它能显示当天的日期;这样我们就要添加一个自定义的slot来实现这一功能;●给mainForm添加updateDateSlot。

linux qt creator 例子

linux qt creator 例子

linux qt creator 例子以下是一些在Linux上使用Qt Creator创建的例子:1. "Hello World":一个简单的程序,打印出"Hello World"。

cpp#include <iostream>int main() {std::cout << "Hello World" << std::endl;return 0;}2. 计算器:一个简单的计算器程序,可以进行加法、减法、乘法和除法。

cpp#include <iostream>int main() {int num1, num2;char operation;std::cout << "Enter the first number: ";std::cin >> num1;std::cout << "Enter an operation (+, -, *, /): ";std::cin >> operation;std::cout << "Enter the second number: ";std::cin >> num2;switch(operation) {case '+':std::cout << "Result: " << num1 + num2 << std::endl;break;case '-':std::cout << "Result: " << num1 - num2 << std::endl;break;case '*':std::cout << "Result: " << num1 * num2 << std::endl;break;case '/':std::cout << "Result: " << num1 / num2 << std::endl;break;default:std::cout << "Invalid operation" << std::endl;break;}return 0;}3. 图形界面窗口:一个简单的图形界面窗口,显示一个标签和一个按钮。

一个基于Qt-Embedded的嵌入式Linux应用程序的实现

一个基于Qt-Embedded的嵌入式Linux应用程序的实现

一个基于Qt/Embedded的嵌入式Linux应用程序的实现1 嵌入式GUI概况普通Linux有自己标准的GUI系统——X Windows,但是由于X Windows过于庞大和臃肿,极耗系统资源,而且其中不少功能对于嵌入式系统来说是多余的,不适于资源有限的嵌入式系统使用。

嵌入式系统与传统计算机系统相比更专门化,其软硬件设计直接从具体应用出发,嵌入式Linux是应用于嵌入式设备开发上的一种操作系统。

通常嵌入式设备中的GUI系统占据资源较多,因此对GUI的筛选显得很重要。

嵌入式Linux需要高性能、轻量级的GUI系统,于是一批基于嵌入式的Linux的GUI系统应运而生,目前发展比较成熟的主要包括以下几种:MiniGUI是由魏永明主持开发的轻量级的图形用户支持系统,实现了简化的类Windows 98风格。

它基于SVGALib库的多窗口图形用户界面支持的系统,支持Pthread的微客户/服务器结构。

它运行在多线程模式下,许多模块都可以单独的线程来运行,同时还可以利用线程来支持多窗口。

由于支持力量比较薄弱,相对而言,MiniGUI 的维护和再开发成本不可预计。

Mierowindows/NanoX 是由美国Century Software公司开发的开放源码的嵌入式GUI项目,主要特色在于提供了类似X的客户/服务器体系结构,并提供了相对完善的图形功能。

它以较小的资源消耗、通用的framebuffer技术、灵活的分层设计模式和丰富的AP1支持等特点获得了广泛的关注,国内一些人士也参与开发,并编写了GB2312等字符集的支持。

但它的图形引擎存在一些问题:无任何硬件加速能力、图形引擎中存在许多低效算法和代码质量较差。

OpenGUI 最初的名字叫FastGL,支持多种操作系统平台。

OpenGUI分三层。

最低层是由汇编写的快速图形引擎;中间层提供了图形绘制API;第三层用C 编写的,提供了完整的GUI对象集。

基于汇编实现的内核并利用MMX指令提高运行速度,比较适合于基于x86平台的实时系统,可移植性稍差。

嵌入式Linux下用Qt Designer开发及实例

嵌入式Linux用Qt Designer快速开发RAD(快速应用程序开发)是一种高效的软件开发形式,可以让用户在极短的时间里创建一个图形化的用户界面。

通常情况下,在一张空白的表单上,开发人员可以通过拖拉或点击的方式,在窗口的适当位置上添加一些输入框和按钮等窗口组件。

这时,RAD工具会自动编写和维护代码。

而用户所要做的只是确定当点击按钮或选择选单选项时将要发生什么事件。

在Linux下,一个非常流行的RAD工具就是Qt Designer。

它是嵌入式公司Trolltech 的Qt软件包的一个组成部分。

如果用户使用的是KDE桌面,那么Qt已经自动安装上了,Qt Designer也很有可能已经被安装好。

如果用户的系统没有安装,那么针对不同的版本,可以很方便地找到KDE Development Tools,并安装之。

以Red Hat 9.0为例,用户可以从主选单→系统设置→添加/删除应用程序中选择KDE 软件开发,即可完成Qt Designer的安装(如图1所示)。

图1 安装Qt Designer创建为了快速地向大家展示一下Qt Designer功能,先创建一个简单的摄氏温度和华氏温度的转换程序。

本文里将设计一个简单的GUI,并且添加一些简单的代码来实现温度的转换。

因为是为了展示一下快速的开发过程,而不是一个严谨的软件项目的开发,所以这里不会进行任何的错误检查,也不进行输入检验(也就是检查用户的输入是否为合法的温度形式)、缓冲溢出检查等在日常软件开发中一定要做的步骤。

如果用户使用的是KDE,那么选单上应该已经有Qt Designer的图标。

不同的发行版,图标的位置会有所不同。

如果用户的发行版没有Qt Designer图标,那么可以在命令行模式下输入“designer”命令来启动该开发工具。

在Red Hat 9.0中,可以通过点击主选单→编程→更多编程工具→Qt Designer来启动(如图2)。

图2 启动Qt DesignerQt Designer首先呈现给用户的是一个New/Open对话框(如图3所示)。

嵌入式linux qt开发命令行程序 -回复

嵌入式linux qt开发命令行程序-回复嵌入式Linux QT开发命令行程序嵌入式Linux QT开发命令行程序是在嵌入式Linux环境下使用QT框架进行开发的命令行程序。

QT框架是一个跨平台的应用程序开发框架,它提供了丰富的图形界面和多媒体功能,可以用于开发各种各样的应用程序。

本文将一步一步回答如何在嵌入式Linux环境下使用QT框架进行开发命令行程序的问题。

第一步:准备开发环境在进行嵌入式Linux QT开发命令行程序之前,首先需要准备好相应的开发环境。

需要使用到的工具和软件有:1. 嵌入式Linux操作系统:可以选择嵌入式Linux发行版,如Buildroot,OpenWrt等。

2. QT开发环境:需要在嵌入式Linux环境中安装QT开发环境。

可以通过源码编译安装或者使用预编译包安装。

3. 开发工具链:需要为目标设备安装相应的交叉编译工具链,以支持在主机上编译生成运行在目标设备上的可执行文件。

第二步:创建QT项目在准备好开发环境后,可以开始创建QT项目。

可以通过QT Creator进行创建,也可以通过命令行创建。

使用QT Creator创建项目的步骤如下:1. 打开QT Creator,选择“新建项目”。

2. 选择“QT Console Application”作为项目类型。

3. 输入项目名称和路径,点击“下一步”。

4. 选择目标设备的配置文件,点击“下一步”。

5. 选择QT版本,点击“下一步”。

6. 选择项目模板,点击“下一步”。

7. 点击“完成”来创建项目。

使用命令行创建项目的步骤如下:1. 进入项目所在目录,执行命令:qmake -project2. 打开生成的.pro文件,添加所需要的QT模块和其他依赖项。

3. 执行命令:qmake4. 执行命令:make第三步:编写代码在创建好QT项目后,可以开始编写代码。

打开创建的项目文件,找到main.cpp文件。

在main函数中,可以编写命令行程序的逻辑。

Linux下QT图形界面开发

Linux下QT图形界面开发第1页:概述(1)第2页:用快速开发工具Qt Designer编写Qt程序第3页:信号和槽第4页:在终端窗口中Qt编程信号的应用实例第5页:Qt介绍概述(1)一、QT简介Qt是一个跨平台的C++图形用户界面库,.由挪威TrollTech公司出品,目前包括Qt/X11,基于Frambuffe r的Qt Embedded,快速开发工具Qt Designer几国际化工具Qt Linguist等.Qt支持Unix与Linux系统,还支持 Windows NT/Windows 2k与Qindows 95/98平台.Qt的良好封装机制使其模块化程度非常高,可重用性较好.Qt/Embeded是面向嵌入式系统的Qt版本,是Qt的嵌入式Linux窗口,是完整的自包含C++ GUI和基于L inux的嵌入式品台开发工具。

Qt/Embeded API可用于多种开发项目。

许多基于Qt的X Window程序可以非常方便地移植到嵌入式版本。

下面我们就从实际应用中认识Qt.二、在终端下编写Qt程序我们先要介绍在终端窗口编写Qt程序.打开一个终端,建立一个文件夹,如:mkdir hello然后进入这个文件夹:cd hello创建c++文件,vi hello.cpp在文件中键入下面的代码:#include <qapplication.h>#include <qlabel.h>int main(int argc,char *argv[]){QApplication app(argc,argv);QLabel *label=new QLabel("Hello Qt!",0);app.setMainWidget(label);label->show();return app.exec();}然后我们用qt的工具qmake来生成工程文件:qmake -project大家可以用ls查看一下,是不是多了一个名为hello.pro的工程文件.接下来是生成Makefile文件:qmake hello.pro呵呵,ls一下,Makefile终于看到你的.接下来就是make了,等上一段时间.运行程序./hello下面是界面:下面我们来讲解上面的程序:#include <qapplication.h>这一行包含了QApplication类的定义。

《基于Qt的嵌入式linux指纹识别系统GUI的实现》范文

《基于Qt的嵌入式linux指纹识别系统GUI的实现》篇一一、引言随着科技的不断发展,嵌入式系统在各个领域的应用越来越广泛。

其中,指纹识别技术因其独特的生物识别特性,在身份验证、安全控制等方面得到了广泛应用。

本文将介绍一种基于Qt的嵌入式Linux指纹识别系统的图形界面(GUI)的实现方法。

二、Qt框架概述Qt是一个跨平台的C++图形界面开发库,它提供了丰富的GUI组件和强大的网络编程功能。

Qt的信号与槽机制使得软件组件之间的通信变得简单而灵活。

此外,Qt还具有良好的可扩展性和可移植性,这使得它在嵌入式系统开发中得到了广泛应用。

三、系统架构设计1. 硬件架构:本系统采用嵌入式Linux平台,配备指纹识别模块和显示器等必要的硬件设备。

其中,指纹识别模块负责采集指纹信息,显示器用于显示GUI界面。

2. 软件架构:软件部分采用基于Qt的GUI开发框架,实现用户交互功能。

此外,还需设计指纹识别算法模块,负责处理指纹信息并完成身份验证。

四、GUI设计与实现1. 设计GUI界面:使用Qt Designer工具,根据系统需求设计GUI界面。

主要包括登录界面、主界面、用户管理界面等。

2. 实现信号与槽:在Qt中,信号与槽用于实现组件之间的通信。

根据系统功能需求,设计合适的信号与槽,实现各界面之间的跳转和交互。

3. 添加控件与布局:在GUI界面中添加必要的控件,如按钮、文本框、列表等。

使用Qt的布局管理器,实现控件的自动排列和调整。

4. 皮肤与主题定制:为了提升用户体验,可以对GUI界面进行皮肤和主题定制。

Qt提供了丰富的样式表(QSS)功能,可以实现个性化的界面设计。

五、指纹识别算法实现1. 采集指纹信息:通过指纹识别模块采集用户指纹信息。

2. 预处理指纹图像:对采集的指纹图像进行预处理,如去噪、二值化等操作,以便于后续的特征提取。

3. 特征提取与匹配:提取预处理后的指纹特征,并与数据库中的指纹信息进行比对,完成身份验证。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

嵌入式Linux用Qt Designer快速开发RAD(快速应用程序开发)是一种高效的软件开发形式,可以让用户在极短的时间里创建一个图形化的用户界面。

通常情况下,在一张空白的表单上,开发人员可以通过拖拉或点击的方式,在窗口的适当位置上添加一些输入框和按钮等窗口组件。

这时,RAD工具会自动编写和维护代码。

而用户所要做的只是确定当点击按钮或选择选单选项时将要发生什么事件。

在Linux下,一个非常流行的RAD工具就是Qt Designer。

它是嵌入式公司Trolltech 的Qt软件包的一个组成部分。

如果用户使用的是KDE桌面,那么Qt已经自动安装上了,Qt Designer也很有可能已经被安装好。

如果用户的系统没有安装,那么针对不同的版本,可以很方便地找到KDE Development Tools,并安装之。

以Red Hat 9.0为例,用户可以从主选单→系统设置→添加/删除应用程序中选择KDE 软件开发,即可完成Qt Designer的安装(如图1所示)。

图1 安装Qt Designer创建为了快速地向大家展示一下Qt Designer功能,先创建一个简单的摄氏温度和华氏温度的转换程序。

本文里将设计一个简单的GUI,并且添加一些简单的代码来实现温度的转换。

因为是为了展示一下快速的开发过程,而不是一个严谨的软件项目的开发,所以这里不会进行任何的错误检查,也不进行输入检验(也就是检查用户的输入是否为合法的温度形式)、缓冲溢出检查等在日常软件开发中一定要做的步骤。

如果用户使用的是KDE,那么选单上应该已经有Qt Designer的图标。

不同的发行版,图标的位置会有所不同。

如果用户的发行版没有Qt Designer图标,那么可以在命令行模式下输入“designer”命令来启动该开发工具。

在Red Hat 9.0中,可以通过点击主选单→编程→更多编程工具→Qt Designer来启动(如图2)。

图2 启动Qt DesignerQt Designer首先呈现给用户的是一个New/Open对话框(如图3所示)。

因为这里要创建一个C++程序,所以在此选择C++ Project,点击“OK”继续。

图3 New/Open对话框选择一个想要保存文件的位置,并且给出一个文件名,在此使用的文件名是cfconv。

注意这里文件名的扩展名一定要是.pro。

点击“Save”后,返回到了ProjectSettings对话框(见图4)。

图4 保存文件图5 Qt Designer主窗口现在就已经在Qt Designer主窗口上了(见图5),确保Property Editor可见。

如果它是不可见的,用户可以通过Windows→Views→Property Editor/Signal Handlers选单选项来使其可见(缺省情况下是可见的)。

图6 创建一个新的表单图7 更改表单的属性通过选择File→New选单,然后选择Dialog来创建一个新的对话框。

这时Qt Designer 会创建一个新的空白表单(见图6),用户可以在其上放置输入框和按钮。

打开Property Editor(见图7),把name的值改为“cfconvMainForm”,把caption 的值改为“Celsius to Fahrenheit Converter”。

这里表单的name是被应用程序使用的内部名字,在用户编写代码时,有时需要使用的就是这个名字。

Caption指的是要在标题栏上显示的名字。

从左边的工具箱中选择Common Widgets,并且双击“TextLabel”。

在表单的左上角放置一个标签,在这个标签位置下方再放置一个同样的标签。

选中上面的标签,并且将其text值改为“Celsius”,相应地把第二个标签的text值也改为“Fahrenheit”。

在这两个标签的后面加上两个对应的输入框,用于输入需要转换的温度和输出转换后的温度。

从Common Widgets中双击选择LineEdit,然后在两个标签后创建两个LineEdit。

把两个LineEdit框的name值分别改为“celsiusLineEdit”和“fahrenheitLineEdit”,再把fahrenheitLineEdit文本框的readOnly属性改为True。

从Common Widgets上选择PushButton,并且创建两个按钮,分别将其name和text 属性改为quitPushButton和Quit、convertPushButton和Convert。

这时表单看起来就如图8所示。

图8 基本完成的GUI现在按“Ctrl+S”或从选单中选择File→Save,接下来要求输入文件名。

缺省情况下,使用的是表单的name值,扩展名使用的是.ui。

用户可以接受这个名字,然后点击“Save”。

如果想看一看效果,用户可以按“Ctrl+T”或从选单中选择Preview→Preview Form来预览应用程序。

但是现在按钮还不能做任何事情,所以下一步要做的事情就是让按钮和某一特定的动作相关联。

当点击“Quit”按钮时,要求应用程序会被关闭;而当点击“Convert”按钮时,要求输入的温度由摄氏温度转换为华氏温度。

在“Quit”按钮上点击右键,选择Connections,然后点击“New”。

从Sender列表中选择quitPushButton,从Signal列表中选择clicked(),从Receiver列表中选择cfconvMainFrom,从Slot列表中选择close()。

用户可以参见图9所示。

图9 为Quit按钮创建关联现在,当用户点击“Quit”按钮时,会向表单发送一个鼠标点击的信号,这将使这个表单关闭(因为这个表单是主表单,所以它关闭时应用程序也就同时关闭了)。

要进行测试,可以选择Preview→Preview Form。

这时点击“Quit”按钮,预览窗口就会被关闭。

下面为“Convert”按钮创建连接。

在“Convert”按钮上点击右键,然后选择Connections。

这时用户会发现这是一个全局连接窗口,而不是某一窗口部件的连接。

点击“New”来创建一个新的连接。

从Sender列表中选择convertPushbButton,从Signal列表中选择clicked(),从Receiver列表中选择cfconvMainFrom。

本想将该按钮与fahrenheitLineEdit窗口部件相关联,但列表中却没有一个可以满足这项要求的栏目。

因此需要创建一个新的栏目来完成这个连接。

图10 创建新的栏图11 完成连接创建点击“Edit Slots”和“New Function”(见图10),把函数名改为convert(),其它的值可以保持不变,点击“OK”来关闭窗口。

要完成这个连接,从Slot列表中选择convert()(见图11)。

现在来完成应用程序的代码部分:创建convert()函数。

在Project Overview窗口点击“cfconvmainform.ui.h”来启动Code Editor。

此时convert()函数实际上已经存在了,现在就已经基本完成这个应用程序了。

不过在编译和运行此应用程序之前,还要创建一个main.cpp文件。

方法是选择File→New→C++Main-File(main.cpp),只需接受缺省的配置即可。

main.cpp会自动在Code Editor中打开。

因为这里无需改变main.cpp中的任何东西,所以直接将Code Editor窗口关闭,并且保存main.cpp。

这时也同时关闭cfconfMainForm.ui.h Code Editor窗口。

不过我是自己敲进去的main.cpp#include <qapplication.h>#include "cfconvmainform.h"int main(int argc, char *argv[]){QApplication app(argc, argv);cfconvMainForm *dialog = new cfconvMainForm;app.setMainWidget(dialog);dialog->show();return app.exec();}编译现在编写一个cfconv.pro文件cfconv.proSOURCES = main.cppFORMS = cfconvmainform.ui到此为止,在Qt Designer中的工作已经完成了。

保存整个项目,下面来编译和运行这个程序。

在编译程序之前,要首先生成它的Makefile文件。

打开一个终端,然后切换至保存有项目的位置,使用以下命令来生成Makefile文件:#qmake -o Makefile cfconv.pro现在,就可以运行make来编译程序了,根据系统的性能,这个步骤需要花费一点时间。

当编译工作完成后,输入./cfconv来运行程序。

如果一切正常,用户应该已经看到程序了。

[root@unknown000c29c2d915 cfconvmainform]# makeqmake -o Makefile cfconv.prog++ -c -pipe -Wall -W -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -DQT_NO_DEBUG -DQT_SHARED -DQT_TABLET_SUPPORT -DQT_THREAD_SUPPORT -I/usr/lib/qt-3.3/mkspecs/default -I. -I/usr/lib/qt-3.3/include -o main.o main.cpp/usr/lib/qt-3.3/bin/uic cfconvmainform.ui -i cfconvmainform.h -o cfconvmainform.cppg++ -c -pipe -Wall -W -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -DQT_NO_DEBUG -DQT_SHARED -DQT_TABLET_SUPPORT -DQT_THREAD_SUPPORT -I/usr/lib/qt-3.3/mkspecs/default -I. -I/usr/lib/qt-3.3/include -o cfconvmainform.o cfconvmainform.cpp/usr/lib/qt-3.3/bin/moc cfconvmainform.h -o moc_cfconvmainform.cppg++ -c -pipe -Wall -W -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -DQT_NO_DEBUG -DQT_SHARED -DQT_TABLET_SUPPORT -DQT_THREAD_SUPPORT -I/usr/lib/qt-3.3/mkspecs/default -I. -I/usr/lib/qt-3.3/include -o moc_cfconvmainform.o moc_cfconvmainform.cppg++ -o cfconv main.o cfconvmainform.o moc_cfconvmainform.o -L/usr/lib/qt-3.3/lib -lqt-mt -lXext -lX11 -lm[root@unknown000c29c2d915 cfconvmainform]# lscfconv cfconvmainform.h cfconvmainform.ui cfconv.pro main.o moc_cfco nvmainform.cppcfconvmainform.cpp cfconvmainform.o cfconvmainform.ui.h main.cpp Makefile moc_cfconvmainform.o[root@unknown000c29c2d915 cfconvmainform]#。

相关文档
最新文档