RAD(快速应用程序开发)是一种高效的软件开发办法,能够让用户在极短的时刻里创立一个图形化的用户界面。通常情况下,在一张空白的表单上,开发人员能够经过迁延或点击的办法,在窗口的恰当方位上增加一些输入框和按钮等窗口组件。这时,RAD东西会主动编写和保护代码。而用户所要做的仅仅确定当点击按钮或挑选选单选项时即将产生什么作业。
在Linux下,一个十分盛行的RAD东西便是Qt Designer。它是嵌入式公司Trolltech的Qt软件包的一个组成部分。假如用户运用的是KDE桌面,那么Qt现已主动装置上了,Qt Designer也很有或许现已被装置好。假如用户的体系没有装置,那么针对不同的版别,能够很方便地找到KDE Development Tools,并装置之。以Red Hat 9.0为例,用户能够从主选单→体系设置→增加/删去应用程序中挑选KDE软件开发,即可完结Qt Designer的装置(如图1所示)。
创立
为了快速地向我们展现一下Qt Designer功用,先创立一个简略的摄氏温度和华氏温度的转化程序。本文里将规划一个简略的GUI,而且增加一些简略的代码来完结温度的转化。由于是为了展现一下快速的开发进程,而不是一个谨慎的软件项目的开发,所以这儿不会进行任何的过错查看,也不进行输入查验(也便是查看用户的输入是否为合法的温度办法)、缓冲溢出查看等在日常软件开发中必定要做的过程。
假如用户运用的是KDE,那么选单上应该现已有Qt Designer的图标。不同的发行版,图标的方位会有所不同。假如用户的发行版没有Qt Designer图标,那么能够在指令行形式下输入“designer”指令来发动该开发东西。在Red Hat 9.0中,能够经过点击主选单→编程→更多编程东西→Qt Designer来发动(如图2)。
图2 发动Qt Designer
Qt Designer首要出现给用户的是一个New/Open对话框(如图3所示)。由于这儿要创立一个C 程序,所以在此挑选C Project,点击“OK”持续。
图3 New/Open对话框
挑选一个想要保存文件的方位,而且给出一个文件名,在此运用的文件名是cfconv。留意这儿文件名的扩展名必定要是.pro。点击“Save”后,回来到了Project Settings对话框(见图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()函数实际上现已存在了,只不过是空的算了。输入下面的C 代码来完结函数:
void cfconvMainForm::convert() {
/* Declare some variables */
double celsius_input, result = 0;
/* Retrieve Celsius input */
celsius_input = celsiusLineEdit-》text().toDouble();
/* Convert to Fahrenheit */
result = (celsius_input * (9.0/5.0)) 32.0;
/* Enter result and clear Celsius input box */
fahrenheitLineEdit-》setText(QString::number(result, ‘f’, 1));
celsiusLineEdit-》clear();
}
现在就现已基本完结这个应用程序了。不过在编译和运转此应用程序之前,还要创立一个main.cpp文件。办法是挑选 File→New→C Main-File(main.cpp),只需承受缺省的装备即可。main.cpp会主动在Code Editor中翻开。由于这儿无需改动main.cpp中的任何东西,所以直接将Code Editor窗口封闭,而且保存main.cpp。这时也一起封闭cfconfMainForm.ui.h Code Editor窗口。
编译
到此为止,在Qt Designer中的作业现已完结了。保存整个项目,下面来编译和运转这个程序。在编译程序之前,要首要生成它的Makefile文件。翻开一个终端,然后切换至保存有项目的方位,运用以下指令来生成Makefile文件:
#qmake -o Makefile cfconv.pro
现在,就能够运转make来编译程序了,依据体系的功能,这个过程需求花费一点时刻。当编译作业完结后,输入。/cfconv来运转程序。假如一切正常,用户应该现已看到程序了。