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


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

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

    在上文中(点击这里回顾>>),我们主要介绍了如何开始添加用户交互,例如打开文件、保存文件、以另一个名称保存文件等,本文将继续介绍用户交互添加的其他部分,以及如何从命令行构建和运行。

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

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

    添加用户交互
    打印文件

    如果想要使用打印功能,需要在项目文件中添加PrintSupport:

    1. find_package(Qt6
    2. REQUIRED COMPONENTS Core Gui Widgets
    3. OPTIONAL_COMPONENTS PrintSupport
    4. )
    5. 在notepad.cpp中,我们声明了一个QPrinter对象printDev:
    6. void Notepad::print()
    7. {
    8. #if defined(QT_PRINTSUPPORT_LIB) && QT_CONFIG(printer)
    9. QPrinter printDev;
    10. #if QT_CONFIG(printdialog)
    11. QPrintDialog dialog(&printDev, this);
    12. if (dialog.exec() == QDialog::Rejected)
    13. return;
    14. #endif // QT_CONFIG(printdialog)
    15. ui->textEdit->print(&printDev);
    16. #endif // QT_CONFIG(printer)
    17. }

    我们启动一个打印机对话框,并将选中的打印机存储在对象printDev中。如果单击Cancel并且没有选择打印机,则方法返回。实际的打印机命令由ui->textEdit->print给出,并以QPrinter对象作为参数。

    选择字体
    1. void Notepad::selectFont()
    2. {
    3. bool fontSelected;
    4. QFont font = QFontDialog::getFont(&fontSelected, this);
    5. if (fontSelected)
    6. ui->textEdit->setFont(font);
    7. }

    我们声明了一个布尔值,指示是否使用QFontDialog选择了一个字体。如果是这样,使用ui->textEdit->setFont(myfont)设置字体。

    复制,剪切,粘贴,撤消和重做

    如果您选择了一些文本,并希望将其复制到剪贴板,则调用ui->textEdit的适当方法,剪切、粘贴、撤消和重做也是如此。

    下图显示了要使用的方法名。

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

    从命令行构建和运行

    要从命令行构建示例应用程序,请为其创建一个构建目录。切换到构建目录并运行qt-cmake来配置您的项目进行构建,如果项目配置成功,生成的文件能构建项目。

    1. md
    2. cd
    3. \bin\qt-cmake -GNinja

    这些命令在构建目录中创建一个可执行文件,CMake工具读取项目文件并生成如何构建应用程序的说明,然后生成器使用这些指令生成可执行的二进制文件。

    例如,要在Windows上构建记事本示例,当使用Ninja作为生成器时,输入以下命令:

    md notepad-build
    cd notepad-build
    C:\Qt\6.5.2\msvc2019_64\bin\qt-cmake -GNinja C:\Examples\notepad
    ninja

    如果不使用Ninja作为生成器,使用生成器独立的CMake命令来构建应用程序,替代Ninja:

    cmake --build

    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 主题!
  • 相关阅读:
    gt基础教程
    秋天的第一个存储过程
    [论文精读]Semi-Supervised Classification with Graph Convolutional Networks
    去中心化衍生品协议内卷,ZKX 能否通过差异化道路突出重围?
    Qt事件的详细介绍和原理
    世微 电动车摩托车灯 5-80V 1.2A 一切二降压恒流驱动器AP2915
    RSA加密算法
    Seata-AT模式
    隐私计算头条周刊(9.11-9.17)
    Java_SpringBoot_MybatisPlus入门
  • 原文地址:https://blog.csdn.net/AABBbaby/article/details/132800690