使用 Qt 应用程序 - NetBeans IDE 教程
撰稿人:Alexey Vladykin ,维护人:
Susan Morgan
2013 年 10 月 [修订版本号:V7.4-1]
本教程指导您如何在 NetBeans IDE 中创建简单的 Qt 应用程序项目。Qt 工具包是一个跨平台的开源应用程序开发框架。
目录
要求
要学习本教程,您需要具备以下软件。
有关下载并安装所需 NetBeans 软件的信息,请参见 NetBeans IDE 安装说明 。
简介
NetBeans IDE 支持在 IDE 内创建、构建、运行和调试 Qt 项目。Qt 工具(如 qmake、moc 和 uic)可在需要时自动启动。您不必去考虑(甚至不需要了解)它们。本文演示如何配置 NetBeans IDE 以使用 Qt 4.8 并创建简单的 Qt 应用程序。
安装 Qt 软件以在 NetBeans IDE 中使用
在 IDE 中创建 Qt 应用程序之前,必须安装 Qt 软件并将 NetBeans 配置为使用它。
重要说明:必须使用 Qt 4.8 才能遵循本教程。 如果要使用 Qt 5,请参见下面提供的文章: 如何在 Windows 上使用 NetBeans 7.4 设置 64 位 Qt 5
请参阅有关针对您的平台设置 Qt 的说明:
在 Windows 上设置适用于 NetBeans IDE 的 Qt 4.8
这些说明描述了为创建本教程而安装在 Windows 上的软件。
下载 Windows 所需的软件
安装 NetBeans IDE 和 C/C++ 插件模块,如为 C/C++/Fortran 配置 NetBeans IDE 中所述。尚不安装编译器。
退出 NetBeans IDE。
从 http://sourceforge.net/projects/mingw 下载 MinGW 安装程序。
运行 MinGW 安装程序,该安装程序的文件名应类似于 mingw-get-inst-20120426.exe 。
在 MinGW 安装程序中,选择以下要安装的组件:
C
C++
MSYS Basic System
MinGW Developer Toolkit
该安装程序需要一些时间来下载和提取软件包。默认情况下,MinGW 安装在 C:\MinGW 中。
从 http://qt-project.org/downloads 下载并安装以下 Qt 软件。
适用于 Windows 的 Qt 库 4.8.5 (minGW 4.4 317 MB)
适用于 Windows 的 Qt Creator 2.8.1 (51 MB)
编辑 Windows 路径
必须编辑 Windows 中的 PATH 环境变量才能添加 Qt、MinGW 和 MSYS 的二进制文件的路径。如果您安装到了默认位置,则路径为:
C:\Qt\4.8.5\bin
C:\MinGW\bin
C:\MinGW\MSYS\1.0\bin
将路径添加到 Path 环境变量:
打开“环境变量”窗口:
在 Windows XP 和 Windows 2000 上:右键单击“我的电脑”>“属性”>“高级”标签 >“环境变量”按钮。
在 Windows Vista 和 Windows 7 上:右键单击“我的计算机”>“属性”>“高级系统设置”链接 >“环境变量”按钮。
在“环境变量”窗口中,选择“系统变量”部分中的 Path 变量,然后单击“编辑”。
在路径结尾插入一个分号并添加 Qt、MinGW 和 MSYS 的可执行文件的路径。在路径之间使用分号,并且不要使用任何空格。请小心不要删除任何已在 PATH 上的内容,否则您的计算机可能无法正常工作。
完成后,您的路径应类似于以下内容:
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0;C:\MinGW\bin;C:\MinGW\MSYS\1.0\bin;C:\Qt\4.8.5\bin
单击“环境变量”窗口中的“确定”。
为 MinGW 和 Qt 创建工具集合
您需要创建使用 MinGW 编译器、MSYS 命令和 Qt 命令的新工具集合。
创建新工具集合:
通过选择 "Window"(窗口)> "Services"(服务)启动 NetBeans IDE 并打开 "Services"(服务)窗口。
展开 "C/C++ Build Hosts"(C/C++ 构建主机)节点和本地主机节点,然后右键单击 "Tool Collections"(工具集合)节点并选择 "Add New Tool Collection"(添加新工具集合)。
将 MinGW 安装的 bin 目录指定为工具集合的基目录(例如 C:\mingw\bin )。 "Tool Collection Family"(工具集合系列)和 "Tool Collection Name"(工具集合名称)应自动填写为 MinGW。
将 "Tool Collection Name"(工具集合名称)更改为 MinGW_Qt 并单击 "OK"(确定)。
右键单击 "Services"(服务)窗口中的 "Tool Collection"(工具集合)节点下的新 MinGW_Qt 工具集合,然后选择 "Properties"(属性)。 这些工具的路径应类似于下图。
检查路径中的 Make 命令和 QMake 命令并根据需要更正它们。 Make 命令应为 C:\MinGW\MSYS\1.0\bin\make.exe 命令,而 QMake 命令应为 C:\Qt\4.8.5\bin\qmake.exe 命令。
选中 MinGW_Qt 时单击 "Default"(默认)按钮以使其成为默认工具集合。
继续执行本文创建简单的 Qt 应用程序 中的步骤。
在 Linux 或 Mac OS X 平台上设置适用于 NetBeans IDE 的 Qt
从 http://qt-project.org/downloads 下载适用于 Linux 或 Mac OS X 平台的 Qt 库,或者从 Linux 包资源库获取它们。
如果您的系统上尚不存在编译器,请如为 C/C++/Fortran 配置 NetBeans IDE 中所述安装它们。
将编译器和 Qt 工具的路径添加到 PATH 环境变量中
在终端窗口中,键入 qmake -v 和 gcc --version 以确保这些命令位于您的路径中。
当命令行中提供这些工具时,请启动 NetBeans IDE,然后检查“工具集合”属性以确保编译器、make 命令和 qmake 命令的路径正确。
继续执行本文创建简单的 Qt 应用程序 中的步骤。
在 Oracle Solaris 平台上设置适用于 NetBeans IDE 的 Qt
对于 Oracle Solaris 平台,没有可用的 Qt 二进制文件。然而,可以从源构建 Qt,然后将其与 NetBeans IDE 配合使用。
如为 C/C++/Fortran 配置 NetBeans IDE 中所述安装编译器。
从 ftp://ftp.qt-project.org/qt/source/ 下载 Qt 源
有关构建说明,请参阅 Qt 文档为 X11 平台安装 Qt 。
成功构建 Qt 二进制文件之后,请编辑 PATH 环境变量以添加 Qt 二进制文件的路径。
在终端窗口中,键入 qmake -v 和 gcc --version 以确保这些命令位于您的路径上。
当命令行中提供 GNU 编译器和 Qt 工具时,启动 NetBeans IDE。
检查“工具集合”属性以确保编译器和 qmake 命令的路径正确。
继续执行本文创建简单的 Qt 应用程序 中的步骤。
创建简单的 Qt 应用程序
在本教程中,您将创建一个简单的 "Hello World" Qt 应用程序,该程序与 Hello Qt World 样例类似(可以在 "Samples"(样例)-> "C/C++" -> "Hello Qt World" 中找到该样例)。
这些说明是面向 Windows 平台编写的。Linux、Mac 和 Solaris 平台上的用户可以使用正确指定了 qmake 路径的 GNU 工具集合来执行相同的步骤。
首先,创建一个新项目。在 "New Project"(新建项目)对话框中选择 "C/C++ Qt Application"(C/C++ Qt 应用程序),然后单击 "Next"(下一步)。
在下一个对话框中,根据需要更改项目的名称和位置。
选中 "Create Main File"(创建主文件)并选择 MinGW_qt 工具集合,然后单击 "Finish"(完成)。
新创建的项目应类似于下图:
右键单击该项目节点,然后选择 "Properties"(属性)以打开 "Project Properties"(项目属性)对话框。单击 "Qt" 类别。高级用户可以调整 Qt 项目属性中的许多设置,但对于本教程,您应保留所有默认设置。
单击 "Run"(运行)类别并将 "Console Type"(控制台类型)属性设置为 "External Terminal"(外部终端),然后单击 "OK"(确定)。
接下来,您可以创建一个窗体。右键单击 "Resource Files"(资源文件),然后选择 "New"(新建)-> "Qt Form"(Qt 窗体)
在 "New Qt Form"(新建 Qt 窗体)对话框中,键入 HelloForm 作为窗体名称,然后选择 "Dialog without Buttons"(无按钮的对话框)作为窗体类型。选中 "Create C++ wrapper class"(创建 C++ 包装类),然后单击 "Finish"(完成)。
此时将创建三个文件(HelloForm.ui 、HelloForm.cpp 和 HelloForm.h ),同时 IDE 将自动打开 Qt 设计器,以便于您编辑新窗体 HelloForm.ui 。
使用您所具备的 GUI 技能创建一个类似于如下所示的窗体。向窗体中添加两个 QLineEdit 窗口部件,然后将第一个窗口部件的名称更改为 nameEdit ,并将第二个窗口部件的名称更改为 helloEdit 。
在创建完窗体之后,保存它并关闭 Qt 设计器。项目如下图所示。
所有新创建的 HelloForm 文件都将置于 "Resource Files"(资源文件)逻辑文件夹中。如果您更喜欢将 CPP 文件放在 "Source Files"(源文件)中,而将 H 文件放置在 "Header Files"(头文件)中,只需将其拖放至所需的逻辑文件夹即可。
您应该会在 "Projects"(项目)标签中看到一个小问号,指示 #include 中断指令是否存在。带有红色下划线的 setupUi 是由 #include ui_HelloForm.h 中断指令引起的,这发生在 HelloForm.h 文件中。ui_HelloForm.h 包含文件尚不实际存在,它将在第一次构建项目时生成。这就是 Qt 构建系统的工作方式。
单击工具栏上的 "Build Project"(构建项目)按钮,错误应该会在生成 ui_HelloForm.h 文件时消失。
打开 main.cpp 并插入两行负责创建和显示 HelloForm 的代码,如下图中的第 17 行和第 18 行所示。不要忘记包含第 9 行显示的 HelloForm.h 。
单击工具栏中的 "Run"(运行)按钮以运行应用程序。 首先您会看到一个终端窗口,然后是您在 Qt 设计器中创建的对话框。
在文本字段中键入一些内容并按 Enter,您应该看不到任何响应。
要使应用程序进行响应,您必须定义一个槽函数 (slot),并将其连接到由文本字段引发的 textChanged 信号。要了解有关 Qt 信号和槽函数的详细信息,请访问 http://doc.qt.digia.com/4.6/signalsandslots.html
转到 HelloForm.h 并声明该槽函数,如下图中的第 18 行和第 19 行所示:
然后转到 HelloForm.cpp 并插入该槽函数的定义,如下图中的第 17 行到第 23 行所示:
最后,在 HelloForm 构造函数中插入一些代码,以便连接信号和槽函数,如下图中的第 12 行和第 13 行所示:
现在运行应用程序,当显示对话框时,单击顶部输入字段,键入名称,底部字段将向您回显 Hello,如下所示。
小结
本文演示了如何设置环境,以便您可以将 NetBeans IDE 与 Qt 库和工具配合使用。
请使用 NetBeans 创建和开发 Qt 应用程序,并将您的反馈发送至
CND 邮件列表
和 NetBeans C/C++ 用户论坛 。
如果发现错误或者希望提出有关如何增强功能的建议,请将这些错误或建议提交至 https://netbeans.org/bugzilla/enter_bug.cgi?component=cnd (需要在 netbeans.org 上注册)。
另请参见
有关在 NetBeans IDE 中使用 C/C++/Fortran 进行开发的更多文章,请参见 C/C++ 学习资源 。