文章
问答
冒泡
Ⅰ 初始化一个qt桌面应用工程

为什么用QT就不赘述了,优点主要是高性能,跨平台。缺点就是基于C++语言开发成本高,效率低。
下面我们就从创建一个qt桌面应用开始

环境:Qt6
1.打开qt creator界面如下

0


选择桌面应用

0

选择创建文件夹

0


选择编译系统

0

 

0

选择语言

0


生成的工程如下

0

可以看到这里的文件
头文件
mainwindow.h
源文件
main.cpp
mainwindow.cpp
ui
mainwindow.ui
本地化文件
qt-demo_zh_CN.ts

mainwindow.h 文件中主要定义了MainWindow 的构造函数还有析构函数

#ifndef MAINWINDOW_H
#define MAINWINDOW_H


#include <QMainWindow>


QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE


class MainWindow : public QMainWindow
{
    Q_OBJECT


public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();


private:
    Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H

mainwindow.cpp 中就是mainwindow.h的实现

#include "mainwindow.h"
#include "./ui_mainwindow.h"


MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}


MainWindow::~MainWindow()
{
    delete ui;
}

main.cpp 是main函数入口了,这里是创建了QApplication对象,显示了MainWindow

#include "mainwindow.h"


#include <QApplication>
#include <QLocale>
#include <QTranslator>


int main(int argc, char *argv[])
{
    QApplication a(argc, argv);


    QTranslator translator;
    const QStringList uiLanguages = QLocale::system().uiLanguages();
    for (const QString &locale : uiLanguages) {
        const QString baseName = "qt-demo_" + QLocale(locale).name();
        if (translator.load(":/i18n/" + baseName)) {
            a.installTranslator(&translator);
            break;
        }
    }
    MainWindow w;
    w.show();
    return a.exec();
}


mainwindow.ui 就是主窗口的布局文件了

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>MainWindow</class>
 <widget class="QMainWindow" name="MainWindow">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>800</width>
    <height>600</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>MainWindow</string>
  </property>
  <widget class="QWidget" name="centralwidget"/>
  <widget class="QMenuBar" name="menubar">
   <property name="geometry">
    <rect>
     <x>0</x>
     <y>0</y>
     <width>800</width>
     <height>24</height>
    </rect>
   </property>
  </widget>
  <widget class="QStatusBar" name="statusbar"/>
 </widget>
 <resources/>
 <connections/>
</ui>

ui文件在qt creator中是一个只读文件,界面设计需要在qt的设计器中

0


运行程序,出现这个界面

0

这样,一个初始化的QT工程就创建成功了。

Qt

关于作者

落雁沙
非典型码农
获得点赞
文章被阅读