【实操干货】如何开始用Qt Widgets编程?(二)

这篇具有很好参考价值的文章主要介绍了【实操干货】如何开始用Qt Widgets编程?(二)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Qt 是目前最先进、最完整的跨平台C++开发工具。它不仅完全实现了一次编写,所有平台无差别运行,更提供了几乎所有开发过程中需要用到的工具。如今,Qt已被运用于超过70个行业、数千家企业,支持数百万设备及应用。

在本文中,我们通过使用C++和Qt Widgets模块实现一个简单的记事本应用程序来学习基本的Qt知识,该应用程序是一个小型的文本编辑器,允许您创建文本文件、保存、打印或重新打开并在此编辑它,还可以设置要使用的字体。

在上文中(点击这里回顾>>),我们为大家介绍了如何从Qt Creator中运行示例、如何创建记事本项目等,本文将继续讲解主源文件和设计一个用户界面。

【实操干货】如何开始用Qt Widgets编程?(二),qt,开发语言,UI开发,界面控件,c++

点击获取Qt Widget组件下载(Q技术交流:166830288)

主源文件

向导在main.cpp文件中生成以下代码:

#include "notepad.h"

#include <QApplication>

int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Notepad w;
w.show();
return a.exec();
}

我们将逐行浏览代码,下面几行包括Notepad小部件和QApplication的头文件,所有Qt类都有一个以它们命名的头文件。

#include "notepad.h"

#include <QApplication>

下面这行定义了main函数,它是所有基于C和C++的应用程序的入口点:

int main(int argc, char *argv[])

下面这行代码创建了一个QApplication对象,这个对象管理应用程序范围内的资源,并且是运行任何使用Qt Widgets的Qt程序所必需的,它用argv中运行的argc命令行参数构造一个应用程序对象。(对于不使用Qt Widgets的GUI应用程序,您可以使用QGuiApplication代替)

QApplication a(argc, argv);

下面一行代码创建Notepad对象,这是向导为其创建类和UI文件的对象。用户界面包含可视元素,这些元素在Qt中被称为小部件,小部件的例子有文本编辑、滚动条、标签和单选按钮。一个小部件也可以是其他小部件的容器;例如,对话框或主应用程序窗口。

Notepad w;

下面一行显示了Notepad小部件在屏幕上的窗口,小部件还可以用作容器。一个例子是QMainWindow,它通常包含几种类型的小部件。默认情况下,小部件是不可见的;函数show()使小部件可见。

w.show();

下面一行使QApplication进入它的事件循环,当Qt应用程序运行时,会生成事件并将其发送给应用程序的小部件,事件的例子是鼠标按压和按键。

return a.exec();
设计一个用户界面

向导生成XML格式的用户界面定义:notepad.ui,当您打开记事本,UI文件在Qt Creator中,它会自动在集成的Qt Designer中打开。

当您构建应用程序时,Qt Creator启动Qt用户界面编译器(uic),它读取.ui文件并创建相应的C++头文件ui_notepad.h。文章来源地址https://www.toymoban.com/news/detail-637569.html

到了这里,关于【实操干货】如何开始用Qt Widgets编程?(二)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [Qt 教程之Widgets模块] —— QFontComboBox 字体选择器

    Qt系列教程总目录 该控件用于选择字体,在一些软件中经常有类似控件,如下: Microsoft Office: Photoshop: QFontComboBox 继承于 QComboBox ,所以他有 QComboBox 大部分属性与成员,但也有自己特有的。 注意: 这里虽然说是 Font 选择器,实际上每次选择只对 Font 中的 family 进行了修改

    2024年02月12日
    浏览(28)
  • 使用Qt Designer为您的Qt for Python项目创建基于Qt Widgets的图形界面的两种方法

    本页介绍如何使用Qt Designer为您的Qt for Python项目创建基于Qt Widgets的图形界面。Qt Designer是一个图形UI设计工具,可以作为独立的二进制文件(pyside6-designer)提供,也可以嵌入到Qt Creator IDE中。它在Qt Creator中的使用在Using Qt Designer中描述。 设计存储在.ui文件中,这是一种基于

    2024年02月07日
    浏览(33)
  • 【 Qt 的“前世”与“今生”】Qt 的起源 | Qt 的发展历程 | 为什么选择 Qt | Qt 的授权模式 | Qt 版本选择 | Qt Widgets和QML | Qt 程序发布

    目录 1、什么是 Qt ? 2、Qt 可以用来做什么? 3、Qt 的由来与发展 3.1、Qt 的起源与发展 3.2、Qt 发展经历的三家公司 4、为什么选择 Qt ? 5、Qt 支持的平台 6、Qt 的授权模式 7、Qt 版本的选择 8、选择 QML 还是 Qt Widgets? 8.1、什么是 Widgets ? 8.2、什么是 QML ? 8.3、Widgets 与 QML 工程

    2024年02月05日
    浏览(40)
  • 何时开始学习Qt和C++,以及如何有效学习?

    我这里刚好有嵌入式、单片机、plc的资料需要可以私我或在评论区扣个6

    2024年02月12日
    浏览(27)
  • QT 如何让QLineEdit的文字从最左边开始显示

    当QLineEdit的文字长度超过了控件宽度,一般而言(控件文字设为靠左对齐),用户只能看到这一长串文字的后半段部分。但是如果想让QLineEdit从最左边开始显示字符串内容呢? 举个例子,\\\"abcdefghijklmnopqrstuvwxyz0123456789\\\"这一长串字符串,在QLineEdit中显示时,可能只能看到“012

    2024年01月18日
    浏览(29)
  • [编程语言][C++][Qt]单独添加UI文件

    不知什么原因,Qt Creator并不是很完美很智能。当先写好界面类的头文件和源代码文件后,我们再添加用于可视化界面设计的UI文件时,会出现一些问题。 当使用CMake管理项目时,CMake会读取 CMakeLists.txt 文件来确定各种项目设置。需要把 MainWindow.ui 包含进项目时,在 CMakeLists.

    2024年02月07日
    浏览(35)
  • QT支持多种开发语言

    QT主要是一个C++应用程序框架,但它也提供了对其他一些编程语言的官方或非官方支持。以下是QT支持的一些语言版本及其特点。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1.Python (PyQt)  : PyQt是QT的官方Python绑定,允许Python开发者使用QT库来创建

    2024年04月29日
    浏览(36)
  • 是否应该学习Qt作为主要编程语言C/C++的补充?

    如果您以C/C++作为主要编程语言,学习Qt是一个不错的选择。主要还是学习Qt的思想。 在初期阶段,您可以学习如何使用Qt设计界面。您可以使用Qt Designer拖拽控件,这样做比较直观。当然,您也可以手写代码实现界面。 Qt目前主要提供了两种UI实现方式:Widget和Qt Quick。 Widge

    2024年02月07日
    浏览(45)
  • 由于找不到Qt5widgets.dll,无法继续执行代码。重新安装程序可能会解决此问题。(尝试了多种方法最后通过这个方法解决)

            开发工具:visual studio2017         问题情况:目前已经生成了解决方案,此时点击.exe文件报错。 推测这种运行exe文件报系统错误的情况不论是Qt5Widget.dll或者是找不到类似的文件都是一个原因。         前提:已经正确安装qt。         报错原因:没有正确配置系统

    2024年02月05日
    浏览(51)
  • QT网络编程TCP/UDP开发流程 制作网络调试助手

    1、QT的网络编程: TCP和UDP TCP编程需要用到俩个类: QTcpServer 和 QTcpSocket QTcpSocket类 提供了一个TCP套接字 QTcpSocket是QAbstractSocket的一个子类,它允许您建立TCP连接和传输数据流 注意:TCP套接字不能在QIODevice::Unbuffered模式下打开。 QTcpServer类 提供一个基于tcp的服务器 2. 这个类可以接

    2023年04月08日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包