Qt學習筆記 001 基礎篇 多視窗 登入介面

2021-07-10 12:49:31 字數 1317 閱讀 3145

多視窗程式教程鏈結

登入對話方塊教程鏈結

由例項切入,開啟新世界的大門,可能筆記做的不是很系統,但是是乙個萌新不斷發現的過程。

和vs的mfc的專案管理介面很類似,把各個型別的檔案統一做了分類。

以main.cpp為例 因為其餘的程式都還沒能讀懂

#include "mainwindow.h"

int main(int argc, char *argv)

else return 0;

}

/*在qt中選中語句按f1就可以查閱該語句的功能,類似matlab的幫助文件 

說好的中文呢*/

mainwindow類 和 logindialog 類是實在標頭檔案中.h檔案中定義,隨著新建乙個對話方塊自動生成的乙個類,同樣建立物件w和dlg自動與對話方塊互動(具體機理並不是很清楚),初步斷定這兩個類都是基於qdialog派生出來的。

exec()函式,啟用模態對話方塊,返回值accepted或者rejected(這裡應該是乙個「槽」的概念)

也就是說,在主介面中,首先啟用登入介面dlg,等待其返回值為accepted時才啟用主介面。

在logindialog.cpp中,進行條件判斷,滿足條件即使用者名稱密碼匹配正確,則向訊號槽中注入accepted(姑且這麼說,並沒有考證)

#include "logindialog.h"

#include "ui_logindialog.h"

#include logindialog::logindialog(qwidget *parent) :

qdialog(parent),

ui( )

logindialog::~logindialog()

void logindialog::on_loginbtn_clicked()

else

}

這裡ui應該是對話方塊類的物件,通過setupui將當前對話方塊的指標指向該物件,再通過ui物件的函式操作對當前對話方塊中的元件進行定義。

ui->usrlineedit->text().trimmed()
這句話充分顯示了ui的用法,usrlineedit是logindialog對話方塊中的乙個文字框,其objectname被修改為usrlineedit,每個環節都是乙個物件(具體哪個類有待深入學習),text()返回值是文字框中的字串,trimmed()的作用是刪除字串前後的空白字元。當該語句通過時,則注入accepted,進入主介面。

Qt學習筆記 視窗的布局

布局 layout,就是把各個控制項放在合適的位置,佔據適當大小的空間。在qt中,使用布局器qlayout進行布局 1 它為我們自動計算各個控制項的大小和位置 2 當父視窗調整時,它根據既定策略policy來調整各個子視窗的大小和位置。兩個常用的qlayout子類 qhboxlayout 橫向布局 ...

QT學習筆記 視窗的相互切換

1.ui檔案中布局 2.主要程式 main.cpp int main int argc,char argv mainwindow.cpp include mainwindow.h include ui mainwindow.h mainwindow mainwindow qwidget parent...

QT學習筆記(3) 容器視窗 Container

選項卡視窗qtabwidget 類似於瀏覽器的頂部的不同頁面 堆疊視窗qstackedwidget 類似於qt creator 工具 選項 右邊的那些視窗,點乙個左邊的標籤右邊也跟著變 工具視窗qtoolbox 類似於qt designer 的東西 選項卡視窗 選項卡上顯示的資訊更改 屬性 qtab...