QT入门第一天平台使用规则和代码逻辑学习(初学者)
QT入門第一天平臺使用規(guī)則和代碼邏輯學(xué)習(xí)
- QT學(xué)習(xí)目的,崗位需求
- QT的 應(yīng)用領(lǐng)域,發(fā)展歷史
- QT下載安裝,不同版本QT介紹
- 新建QT工程
- 1.集成開發(fā)環(huán)境介紹
- 2.新建QT工程
- 3.QT工程介紹
- QT的學(xué)習(xí)方法
- 1. 組件作用
- 2.跳轉(zhuǎn)到ui設(shè)計(jì)師
- 3.常用的組件
- (1)標(biāo)簽label
- (2) 單行輸入框 lineedit
- (3) 普通按鈕 pushbutton
- (4)文本瀏覽框 textBrowser
- (5)文本編輯框 textEdit
- (6)lcdNumber
- QT中的樣式設(shè)計(jì),添加資源文件
- 1.樣式設(shè)計(jì)
- (1)什么是樣式
- (2)QT中常用的樣式設(shè)計(jì)語句(qss語句)
- 2.QT工程中添加資源文件
- (1)什么是資源文件
- (2)如何添加資源文件到QT工程中
- 純代碼實(shí)現(xiàn)登錄界面(C++基礎(chǔ)要扎實(shí))
- 1.為什么要掌握純代碼
- 2.總結(jié)QT的api文檔規(guī)律(QT助手)
- 3.具體步驟
- 第一步:創(chuàng)建一個(gè)標(biāo)簽對象--》顯示標(biāo)題
- (1)構(gòu)造函數(shù)
- (2)設(shè)置位置坐標(biāo),寬高
- 第二步:創(chuàng)建兩個(gè)輸入框--》賬號和密碼輸入
- (1)構(gòu)造函數(shù)
- (2)設(shè)置默認(rèn)提示字符串
- (3)設(shè)置樣式
- 運(yùn)行方法
- 本節(jié)代碼分享
- main.c
- MainWindow.cpp
- MainWindow.h
- MainWindow.ui
QT學(xué)習(xí)目的,崗位需求
上位機(jī):用戶使用的那個(gè)小平板(帶有界面,應(yīng)用程序)
下位機(jī):底層硬件傳感器,底層的硬件電路板
1.學(xué)習(xí)目的
QT可以幫助我們開發(fā)上位機(jī)程序
QT使用C++寫代碼
2.崗位需求
QT開發(fā)工程師 --》二年左右的經(jīng)驗(yàn) 1.5----3w之間
QT的 應(yīng)用領(lǐng)域,發(fā)展歷史
1.QT的特點(diǎn)
跨平臺:市面上主流的操作系統(tǒng)都能支持
window
linux
蘋果
安卓
QT下載安裝,不同版本QT介紹
1.QT下載鏈接
https://download.qt.io/archive/qt/
2.不同版本的QT安裝程序
.exe --》window版本的QT
.dmg --》蘋果電腦
.run --》linux系統(tǒng)
新建QT工程
1.集成開發(fā)環(huán)境介紹
QT creator --》集成開發(fā)環(huán)境
2.新建QT工程
方法一:點(diǎn)擊projects中new按鈕方法二:點(diǎn)擊文件菜單項(xiàng) ,選擇新建文件/工程注意:選擇QT widgets application(QT窗口應(yīng)用程序)工程名和路徑名不能有中文3.QT工程介紹
第一個(gè): .pro文件(工程配置文件,跟我們前面學(xué)習(xí)的Makefile有點(diǎn)類似)
QT += core gui //往QT工程中添加核心庫和圖形用戶界面庫greaterThan(QT_MAJOR_VERSION, 4): QT += widgets //添加窗口庫CONFIG += c++11 //選用C++11標(biāo)準(zhǔn)語法去編譯程序SOURCES += \main.cpp \mainwindow.cpp //指定要編譯的源碼HEADERS += \mainwindow.h //指定頭文件FORMS += \mainwindow.ui //界面設(shè)計(jì)文件,用來保存你在ui設(shè)計(jì)師中設(shè)計(jì)好的ui界面qnx: target.path = /tmp/$${TARGET}/binelse: unix:!android: target.path = /opt/$${TARGET}/bin!isEmpty(target.path): INSTALLS += target //指定環(huán)境變量第二個(gè):頭文件–》類的定義
class MainWindow : public QMainWindow{Q_OBJECT //宏定義,暫時(shí)不理會(信息與曹)public:MainWindow(QWidget *parent = nullptr); ~MainWindow();private:Ui::MainWindow *ui;};第三個(gè):主函數(shù)–》
int main(int argc, char *argv[]){QApplication a(argc, argv); //QApplication類,用來管理你的QT工程,用來支持信號與槽,用來管理事件的觸發(fā)MainWindow w;w.show(); //顯示主窗口return a.exec(); //進(jìn)入事件循環(huán)(不斷地幫你刷新主窗口)}QT的學(xué)習(xí)方法
============================================================
1.QT中的內(nèi)容非常多
組件的屬性有很多: 掌握主要的屬性設(shè)置,其他的屬性遇到了上網(wǎng)查詢
UI設(shè)計(jì)師界面的使用–》傻瓜式操作(所見即所得)
1. 組件作用
組件(控件):按鈕 滑動條 進(jìn)度條......提供了大量的組件幫助我們設(shè)計(jì)ui界面2.跳轉(zhuǎn)到ui設(shè)計(jì)師
雙擊工程中ui文件,自動跳轉(zhuǎn)組件如何使用: 鼠標(biāo)左鍵直接拖動即可復(fù)制組件:ctrl按住不松開,鼠標(biāo)拖動組件即可復(fù)制3.常用的組件
注意:任何一個(gè)組件,你需要查看修改它的屬性,都要先用鼠標(biāo)選中該組件,再去查看修改屬性(1)標(biāo)簽label
作用一:用來顯示文字作用二:用來顯示圖片void setPixmap(const QPixmap &)參數(shù)::QPixmap(const QString &fileName)fileName --》你要顯示的圖片路徑名標(biāo)簽顯示圖片有兩種優(yōu)化方式方式一:讓圖片去自動適應(yīng)標(biāo)簽的大小(標(biāo)簽的大小是固定的,讓圖片自動改變大小去適應(yīng)標(biāo)簽)QPixmap mymap(piclist.at(n)); //創(chuàng)建了繪圖設(shè)備mymap.scaled(ui->label->width(),ui->label->height()); //調(diào)整圖片的寬高,讓其跟標(biāo)簽一致ui->label->setScaledContents(true); //讓圖片可以適應(yīng)標(biāo)簽ui->label->setPixmap(mymap);方式二:讓標(biāo)簽去自動適應(yīng)圖片的大小QPixmap mymap(piclist.at(n)); //創(chuàng)建了繪圖設(shè)備ui->label->resize(mymap.width(),mymap.height());ui->label->setPixmap(mymap);常用屬性geometry --》定位坐標(biāo),長寬大小font --》設(shè)置字體(2) 單行輸入框 lineedit
作用:輸入一行字符串信息,不能換行常用屬性geometry --》定位坐標(biāo),長寬大小font --》設(shè)置字體placeholdertext --》設(shè)置默認(rèn)的提示信息echomode --》設(shè)置輸入內(nèi)容是否隱藏normal --》不隱藏password --》隱藏maxlength --》設(shè)置輸入框的最大字符個(gè)數(shù)(英文字母一個(gè)算一個(gè))中文一個(gè)算一個(gè)(3) 普通按鈕 pushbutton
作用:添加一些可以點(diǎn)擊的按鈕常用屬性geometry --》定位坐標(biāo),長寬大小font --》設(shè)置字體(4)文本瀏覽框 textBrowser
作用:顯示文本內(nèi)容,只能顯示,不能編輯修改方法:setText(你要顯示的內(nèi)容)(5)文本編輯框 textEdit
作用:可以顯示文本,也可以編輯方法:setText(你要顯示的內(nèi)容)QString QTextEdit::toPlainText() const //返回文本編輯框中所有的內(nèi)容(6)lcdNumber
作用:顯示數(shù)字方法:display() //可以顯示整數(shù),小數(shù)屬性:digitcount --》設(shè)置最大多少位數(shù)字QT中的樣式設(shè)計(jì),添加資源文件
===================================
1.樣式設(shè)計(jì)
(1)什么是樣式
為了讓你的ui界面更加的美觀好看如何彈出QT的樣式表方法一: 點(diǎn)擊屬性中的stylesheet方法二: 右鍵點(diǎn)擊組件,選擇改變樣式表(2)QT中常用的樣式設(shè)計(jì)語句(qss語句)
background-color: rgb(85, 255, 255); //設(shè)置背景顏色background-image: url(:/new/prefix1/pic/3.jpg); //設(shè)置背景圖片background-image: url(你需要的圖片的絕對路徑);border-image: url(:/new/prefix1/pic/2.jpg); //設(shè)置邊框圖片(邊框圖片跟組件的大小保持一致)border-image: url(你需要的圖片的絕對路徑); border-radius:15px; //把倒角設(shè)置為15個(gè)像素倒角的大小不能超過組件高度的一半border:2px solid#ff0000; //把邊框的寬度設(shè)置為2個(gè)像素,顏色設(shè)置成ff0000QPushButton:pressed{ 設(shè)置按鈕按下的時(shí)候背景圖片 用于主窗口的樣式設(shè)計(jì)background-image: url(:/button_down.png);}QPushButton:pressed#regBt{ 設(shè)置指定按鈕regBt按鈕按下時(shí)候背景圖片 用于主窗口的樣式設(shè)計(jì)background-image: url(:/button_down.png);}QPushButton:hover{ 用于主窗口的樣式設(shè)計(jì)background-color:#ff00ff; 鼠標(biāo)進(jìn)入控件設(shè)置背景顏色}QMainWindow{border-image: url(:/new/prefix1/pic/3.jpg);} //讓圖片只作用于主窗口 用于主窗口的樣式設(shè)計(jì)注意:QT中的路徑的寫法跟window的路徑寫法是不同比如: window路徑是: C:\note\temp\1.cQT代碼中這個(gè)路徑改成:C:/note/temp/1.c2.QT工程中添加資源文件
(1)什么是資源文件
只要是你從外界拿過來的文件都叫資源文件,比如: 圖片,音頻文件,視頻文件(2)如何添加資源文件到QT工程中
第一步:準(zhǔn)備好你要添加的資源文件,拷貝一份到你的工程目錄下(新建文件夾保存)第二步:右鍵點(diǎn)擊工程名,選擇QT,選擇QT resource file --》點(diǎn)擊add prefix,點(diǎn)擊add file--》自動彈出對話框,你選擇之前要添加的圖片文件最后ctrl+s保存即可純代碼實(shí)現(xiàn)登錄界面(C++基礎(chǔ)要扎實(shí))
===================================
1.為什么要掌握純代碼
第一:學(xué)習(xí)面向?qū)ο缶幊趟枷?-》查詢類和方法,學(xué)會自動思考閱讀QT中api文檔第二:代碼實(shí)現(xiàn)的功能,肯定比ui設(shè)計(jì)師強(qiáng)大2.總結(jié)QT的api文檔規(guī)律(QT助手)
規(guī)律一:組件的類名有統(tǒng)一的命名規(guī)則pushButton --》QPushButtonlabel --》QLabel規(guī)律二:頭文件跟類名一樣#include <QPushButton>規(guī)律三:ui設(shè)計(jì)師中所有的屬性都有對應(yīng)的接口函數(shù)去設(shè)置屬性這些函數(shù)都有統(tǒng)一的命名規(guī)則 setxxxxx() //xxxxx就是你見到的屬性的英文單詞名字比如:屬性名 geometry --》函數(shù)名setGeometry()font --》函數(shù)名setFont()3.具體步驟
第一步:創(chuàng)建一個(gè)標(biāo)簽對象–》顯示標(biāo)題
(1)構(gòu)造函數(shù)
QLabel(const QString &text, QWidget *parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags())參數(shù): text --》你要顯示在標(biāo)簽上的文字信息QString類似于C++中的stringparent --》表示標(biāo)簽的父窗口(標(biāo)簽在哪個(gè)窗口顯示,那個(gè)窗口就是它的父窗口)(2)設(shè)置位置坐標(biāo),寬高
void QWidget::setGeometry(int x, int y, int w, int h)參數(shù):x y --》坐標(biāo)位置w h --》寬和高設(shè)置字體void setFont(const QFont &)參數(shù): QFont --》QT中封裝好專門表示各種字體的類名QFont::QFont(const QString &family, int pointSize = -1)參數(shù):family --》字體的名字pointSize --》字體大小第二步:創(chuàng)建兩個(gè)輸入框–》賬號和密碼輸入
(1)構(gòu)造函數(shù)
QLineEdit(QWidget *parent = nullptr)參數(shù):parent --》表示單行輸入框的父窗口(2)設(shè)置默認(rèn)提示字符串
void setPlaceholderText(const QString &)參數(shù):你要顯示的提醒信息設(shè)置密碼隱藏void setEchoMode(QLineEdit::EchoMode)參數(shù):QLineEdit::Normal --》不隱藏QLineEdit::Password --》隱藏設(shè)置最大長度void setMaxLength(int)參數(shù):最大字符數(shù)量(3)設(shè)置樣式
void setStyleSheet(const QString &styleSheet)參數(shù):styleSheet --》你要設(shè)置的樣式語句QString str="輸入賬號"; setPlaceholderText(str);第三步:創(chuàng)建兩個(gè)按鈕(1)構(gòu)造函數(shù)QPushButton(const QString &text, QWidget *parent = nullptr)參數(shù):text --》按鈕的字面信息parent --》按鈕的父窗口運(yùn)行方法
日常使用基本都是MinGW 64-bit,因?yàn)榱硗庖粋€(gè)需要第三方庫
下一個(gè)知識:前奏分享
本節(jié)代碼分享
main.c
#include "mainwindow.h"#include <QApplication>int main(int argc, char *argv[]) {QApplication a(argc, argv);MainWindow w;w.show();return a.exec(); }MainWindow.cpp
#include "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui->setupUi(this); }MainWindow::~MainWindow() {delete ui; }MainWindow.h
#ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow>QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACEclass MainWindow : public QMainWindow {Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();private:Ui::MainWindow *ui; }; #endif // MAINWINDOW_HMainWindow.ui
<?xml version="1.0" encoding="UTF-8"?> MainWindow 0 0 800 600 75 true MainWindow QMainWindow{border-image: url(:/new/prefix1/pic/1.jpg);} 160 20 541 91 楷體 34 75 true 歡迎使用粵嵌自動販賣機(jī) 200 120 361 51 楷體 20 50 false 8 請輸入賬號 200 230 371 51 楷體 20 50 false border-radius:15px; border:5px solid#ff0000; 8 QLineEdit::Password 請輸入密碼 130 360 161 81 楷體 20 50 false background-color: rgb(0, 255, 0); color: rgb(255, 0, 0); border-radius:40px; border:2px solid#ff0000; 登錄 450 370 161 81 楷體 20 50 false color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(255, 0, 0, 255), stop:0.166 rgba(255, 255, 0, 255), stop:0.333 rgba(0, 255, 0, 255), stop:0.5 rgba(0, 255, 255, 255), stop:0.666 rgba(0, 0, 255, 255), stop:0.833 rgba(255, 0, 255, 255), stop:1 rgba(255, 0, 0, 255)); border-image: url(:/new/prefix1/pic/2.jpg); 注冊 0 0 800 22源碼分享@:
hi,這是我用百度網(wǎng)盤分享的內(nèi)容~復(fù)制這段內(nèi)容打開「百度網(wǎng)盤」APP即可獲取?鏈接:https://pan.baidu.com/s/1sNUS0ArNHTGOer70Juab8w?pwd=t82n?提取碼:t82n
總結(jié)
以上是生活随笔為你收集整理的QT入门第一天平台使用规则和代码逻辑学习(初学者)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 你们最爱的BAT,都有什么部门和职位呢
- 下一篇: 神经官能症虽属常见病,烦起来真要命