ToB企服应用市场:ToB评测及商务社交产业平台

标题: Qt入门之概述 [打印本页]

作者: 西河刘卡车医    时间: 2024-6-10 10:29
标题: Qt入门之概述
1.概述

1.1 介绍

1.2 安装

下面在Windows11环境下安装Qt6,首先,访问Qt官方下载网站,下载在线安装包,这里最新版本为4.7.0

双击打开程序qt-unified-windows-x64-4.7.0-online.exe,输入Qt Account,没有的话请自行注册,接着点击Next

Qt开源协议用法及义务页面,重要是GPL协议的规范,了解一下,在两个复选框那里全都选上,然后点击Next

欢迎页面,没有啥内容,继承Next >

点击第一个单选框,帮助Qt Creator改进开发中遇到的问题,继承Next >

安装目次选择,继承Next >

勾选安装组件,我选了Qt6.6.2及Qt Creator两大组件,这里先安装,以后有必要再根据必要重新设置安装,继承Next >

查看license,点击勾选框同意相干允许协议,继承Next >

创建开始菜单,继承Next >

安装空间提示必要18.36GB的硬盘空间,继承Install

下载安装中,这里必要比较好的网络连接,必要比较久的时间等待安装完成

安装完成,继承Next >

运行Qt Creator程序,点击Finish

1.3 开发环境

窗口功能

①:菜单栏
②:功能栏,可以切换不同的功能区域
③:调试运行栏
④:左边栏,由项目栏、文件系统等功能区域组成
⑤:工具栏,各种小功能快捷跳转
⑥:文件编辑器
⑦:调试运行信息输出区域
⑧:代码定位栏
帮助文档

①:工具栏
②:左侧栏,支持按目次、索引等方式查看
③:文档区域
快捷键
功能按键组合打开文件Ctrl + O关闭文件Ctrl + W关闭所有文件Ctrl + Shift + W保存所有文件Ctrl + Shift + S编译所有工程Ctrl + Shift + B编译当前工程Ctrl + B运行Ctrl + R开始调试F5中断运行F5单步跳过F10单步进入F11单步跳出Shift + F11切换断点F9接口帮助F1 + F1(两次F1)注释代码Ctrl + /查看粘贴板Ctrl + Shift + V复制Ctrl + C粘贴Ctrl + V剪切Ctrl + X切换书签Ctrl + M自动缩进Ctrl + Shift + I打开左侧栏Alt + 0打开右侧栏Alt  + Shift + 0上下分割窗口Ctrl + E + 2左右分割窗口Ctrl + E + 3窗口复原Ctrl + E + 1退出软件Ctrl + Q1.4 最小程序

创建工程
点击文件 -> New Project

选择工程模板

填写工程名和路径

构建工具选择cmake

源文件定名

多语言设置,这里暂时用不上多语言,以是不选择

勾选编译工具链

版本控制,不必要进行设置,点击完成即可

工程代码
CMakeLists.txt
  1. cmake_minimum_required(VERSION 3.5)
  2. project(HelloQt6 VERSION 0.1 LANGUAGES CXX)
  3. set(CMAKE_AUTOUIC ON)
  4. set(CMAKE_AUTOMOC ON)
  5. set(CMAKE_AUTORCC ON)
  6. set(CMAKE_CXX_STANDARD 17)
  7. set(CMAKE_CXX_STANDARD_REQUIRED ON)
  8. find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets)
  9. find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets)
  10. set(PROJECT_SOURCES
  11.         main.cpp
  12.         main_window.cpp
  13.         main_window.h
  14.         main_window.ui
  15. )
  16. if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
  17.     qt_add_executable(HelloQt6
  18.         MANUAL_FINALIZATION
  19.         ${PROJECT_SOURCES}
  20.     )
  21. # Define target properties for Android with Qt 6 as:
  22. #    set_property(TARGET HelloQt6 APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR
  23. #                 ${CMAKE_CURRENT_SOURCE_DIR}/android)
  24. # For more information, see https://doc.qt.io/qt-6/qt-add-executable.html#target-creation
  25. else()
  26.     if(ANDROID)
  27.         add_library(HelloQt6 SHARED
  28.             ${PROJECT_SOURCES}
  29.         )
  30. # Define properties for Android with Qt 5 after find_package() calls as:
  31. #    set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android")
  32.     else()
  33.         add_executable(HelloQt6
  34.             ${PROJECT_SOURCES}
  35.         )
  36.     endif()
  37. endif()
  38. target_link_libraries(HelloQt6 PRIVATE Qt${QT_VERSION_MAJOR}::Widgets)
  39. # Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1.
  40. # If you are developing for iOS or macOS you should consider setting an
  41. # explicit, fixed bundle identifier manually though.
  42. if(${QT_VERSION} VERSION_LESS 6.1.0)
  43.   set(BUNDLE_ID_OPTION MACOSX_BUNDLE_GUI_IDENTIFIER com.example.HelloQt6)
  44. endif()
  45. set_target_properties(HelloQt6 PROPERTIES
  46.     ${BUNDLE_ID_OPTION}
  47.     MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
  48.     MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
  49.     MACOSX_BUNDLE TRUE
  50.     WIN32_EXECUTABLE TRUE
  51. )
  52. include(GNUInstallDirs)
  53. install(TARGETS HelloQt6
  54.     BUNDLE DESTINATION .
  55.     LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
  56.     RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
  57. )
  58. if(QT_VERSION_MAJOR EQUAL 6)
  59.     qt_finalize_executable(HelloQt6)
  60. endif()
复制代码
main.cpp
  1. #include "main_window.h"
  2. #include <QApplication>
  3. int main(int argc, char *argv[])
  4. {
  5.     QApplication a(argc, argv);
  6.     MainWindow w;
  7.     w.show();
  8.     return a.exec();
  9. }
复制代码
main_window.cpp
  1. #include "main_window.h"
  2. #include "./ui_main_window.h"
  3. MainWindow::MainWindow(QWidget *parent)
  4.     : QMainWindow(parent)
  5.     , ui(new Ui::MainWindow)
  6. {
  7.     ui->setupUi(this);
  8. }
  9. MainWindow::~MainWindow()
  10. {
  11.     delete ui;
  12. }
复制代码
main_window.h
  1. #ifndef MAINWINDOW_H
  2. #define MAINWINDOW_H
  3. #include <QMainWindow>
  4. QT_BEGIN_NAMESPACE
  5. namespace Ui {
  6. class MainWindow;
  7. }
  8. QT_END_NAMESPACE
  9. class MainWindow : public QMainWindow
  10. {
  11.     Q_OBJECT
  12. public:
  13.     MainWindow(QWidget *parent = nullptr);
  14.     ~MainWindow();
  15. private:
  16.     Ui::MainWindow *ui;
  17. };
  18. #endif // MAINWINDOW_H
复制代码
main_window.ui
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <ui version="4.0">
  3. <class>MainWindow</class>
  4. <widget  name="MainWindow">
  5.   <property name="geometry">
  6.    <rect>
  7.     <x>0</x>
  8.     <y>0</y>
  9.     <width>800</width>
  10.     <height>600</height>
  11.    </rect>
  12.   </property>
  13.   <property name="windowTitle">
  14.    <string>MainWindow</string>
  15.   </property>
  16.   <widget  name="centralwidget"/>
  17.   <widget  name="menubar">
  18.    <property name="geometry">
  19.     <rect>
  20.      <x>0</x>
  21.      <y>0</y>
  22.      <width>800</width>
  23.      <height>17</height>
  24.     </rect>
  25.    </property>
  26.   </widget>
  27.   <widget  name="statusbar"/>
  28. </widget>
  29. <resources/>
  30. <connections/>
  31. </ui>
复制代码
直接运行效果

1.5 术语


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4