以bs結(jié)構(gòu)做的購物網(wǎng)站的畢業(yè)設計論文開題報告百度網(wǎng)站優(yōu)化培訓
一.創(chuàng)建Qt項目?
打開Qt Creator 界面選擇 New Project或者選擇菜單欄 【文件】-【新建文件或項目】菜單項
??彈出New Project對話框,選擇Qt Widgets Application
選擇【Choose】按鈕,彈出如下對話框
設置項目名稱和路徑,按照向?qū)нM行下一步?
?選擇編譯套件
向?qū)J添加一個繼承自QMainWindow的類,可以在此修改類的名字和基類。默認的基類有QMainWindow、QWidget以及QDialog三個,我們可以選擇QWidget(類似于空窗口),這里我們可以先創(chuàng)建一個不帶UI的界面,繼續(xù)下一步
系統(tǒng)會默認給我們添加main.cpp、mywidget.cpp、 mywidget.h和一個.pro項目文件,點擊完成,即可創(chuàng)建出一個Qt桌面程序.
二.項目文件介紹
Qt Creator 和其他 IDE 開發(fā)軟件一樣。都是分組管理項目內(nèi)的各種源文件,下面是項目內(nèi) 的文件簡介。
?01_hello_world.pro 是項目管理文件,這個項目管理文件十分重要,當你加入了文件或者刪 除了文件,Qt Creator 會自動修改這個*.pro 文件。有時候需要打開這個*.pro 文件添加我們 的設置項。
Header 分組,這個節(jié)點下存放的是項目內(nèi)所有的頭文件*.h。
Source 分組,這個節(jié)點下存放的是項目內(nèi)的所有 C++源碼文件*.cpp。
Forms 分組,這個節(jié)點下是存放項目內(nèi)所有界面文件*.ui。*.ui 文件由 XML 語言描述組成, 編譯時會生成相應的 cpp 文件,這樣交叉編譯器就可以編譯它了。
1. 項目文件*.pro
項目管理文件十分重要,當加入了文件或者刪除了文件時, Qt Creator 會自動修改項目文件,有時會通過該文件來添加設置項。
QT += core gui #添加Qt的支持模塊,core與gui庫是Qt的默認設置
#比較Qt5版本,若是Qt5版本,在main.cpp中application是在QtWidgets下的
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
#配置使用c++11
CONFIG += c++11
#添加 QT_DEPRECATED_WARNINGS 定義
DEFINES += QT_DEPRECATED_WARNINGS
#SOURCES 下是源文件
SOURCES += \main.cpp \mainwindow.cpp
#HEADERS 下是頭文件
HEADERS += \mainwindow.h
#FORMS 下是ui界面文件
FORMS += \mainwindow.ui
#部署默認的規(guī)則
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
2. 頭文件*.h
Headers 下的 mainwindow.h,一般有與之對應的 cpp 文件 mianwindow.cpp,其中mainwindow.h 包含類的聲明, mianwindow.cpp 包含類的實現(xiàn)。
#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; } //定義命名空間Ui
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECT //所有用到信號的類都要加這個宏public:MainWindow(QWidget *parent = nullptr);~MainWindow();private:Ui::MainWindow *ui;
};
#endif // MAINWINDOW
?3. 源文件*.cpp
Sources 下的 mainwindow.cpp,有如下內(nèi)容:
#include "mainwindow.h"
// ui_mainwindow.h 文件是Qt根據(jù).ui文件自動生成的,即要點擊構(gòu)建后才生成
#include "ui_mainwindow.h"
//在MainWindow構(gòu)造函數(shù)中用“,”隔開,new一個Ui中的 MainWindow,里初始化成員的一種方法
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow)
{ui->setupUi(this); //進行界面初始化
}MainWindow::~MainWindow()
{delete ui; //刪除ui
}
Sources 下的 main.cpp,有如下內(nèi)容:
#include "mainwindow.h"
//包含QApplication類的定義。每個應用程序中都必須使用QApplication對象
//QApplication管理了各種各樣的應用程序的廣泛資源,比如默認的字體和光標
#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);MainWindow w; //創(chuàng)建MainWindow對象ww.show(); //調(diào)用方法show(),顯示程序界面//main()把控制轉(zhuǎn)交給Qt,當應用程序退出時exec()就會返回//在exec()中,Qt接受并處理用戶和系統(tǒng)的事件并把它們傳遞給適當?shù)拇翱诓考eturn a.exec();
}
4. 樣式文件*.ui
ui 文件由 XML 語言描述組成,編譯時會生成相應的 cpp 文件,這樣交叉編譯器就可以編譯它了。mainwindow.ui 是一個 xml 類型的文件,內(nèi)容如下。 ui 文件是生成的不能手動編輯,只能夠通過圖形界面修改其屬性,雙擊 mainwindow.ui 后可以跳轉(zhuǎn)到設計界面。
<?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>28</height></rect></property></widget><widget class="QStatusBar" name="statusbar"/></widget><resources/><connections/>
</ui>