彩票走势图

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

翻译|使用教程|编辑:龚雪|2023-08-09 10:57:59.160|阅读 37 次

概述:本文中是一个基于Qt Widgets的记事本应用程序的教程,欢迎大家下载组件一起体验!

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

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

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

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

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

Qt技术交流群: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。

Qt Widget组件推荐
  • QtitanRibbon - Ribbon UI组件:是一款遵循Microsoft Ribbon UI Paradigm for Qt技术的Ribbon UI组件,QtitanRibbon致力于为Windows、Linux和Mac OS X提供功能完整的Ribbon组件。
  • QtitanChart - Qt类图表组件:是一个C ++库,代表一组控件,这些控件使您可以快速地为应用程序提供漂亮而丰富的图表。
  • QtitanDataGrid - Qt网格组件:提供了一套完整的标准 QTableView 函数和传统组件无法实现的独特功能。使您能够将不同来源的各类数据加载到一个快速、灵活且功能强大的可编辑网格中,支持排序、分组、报告、创建带状列、拖放按钮和许多其他方便的功能。
  • QtitanDocking:允许您像 Visual Studio 一样为您的伟大应用程序配备可停靠面板和可停靠工具栏。黑色、白色、蓝色调色板完全支持 Visual Studio 2019 主题!


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:慧都网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP