QT5基礎操作(一)

2021-10-13 05:30:10 字數 4780 閱讀 9027

說明:**框上面是對操作描述,**框內部具體操作

執行時介面字型顯示不全(解析度問題)

:setattribute

(qt:

:aa_enablehighdpiscaling)

;**方式建立元件

在.**件中private 宣告指標,在.cpp檔案中new例項化物件,後可在cpp中以指標方式使用
**方式進行元件布局(其實這步可以在qt designer中完成)

1.定義qgridlayout/水平/豎直物件a

2.a-

>

addwidget

(部件名,0,

0)//新增元件,後面是對應元件x,y座標,都從0開始

qtextedit設定文字儲存格式

qtextedit *textleft =

newqtextedit()

; textleft-

>

setalignment

(qt:

:aligncenter);/*

* setalignment為設定中文字對齊方式

* 包括alignleft 左對齊

* alignright 右對齊

* aligncenter 中心對齊

* alignup 文字與頂部對齊

* alignbottom 文字與底部對齊

*/

視窗顯示拖拽條

qsplitter *splitterright =

newqsplitter()

; splitterright-

>

setopaqueresize

(false);

//用於顯示拖拽條,flase不顯示,true顯示

設定當前視窗標題(其實不加tr,直接雙引號也可以。a是當前介面的物件名)

a

->

setwindowtitle(tr

("splitter"))

;

顯示當前視窗(a是當前介面的物件名)

a

->

show()

;

關閉當前視窗(a是當前介面的物件名,如果是在自己的cpp檔案內使用可以用this)

a

->

close()

;;

設定可移動視窗

qdockwidget *dock =

newqdockwidget(tr

("dockwindow1"),

this);

//可移動

dock-

>

setfeatures

(qdockwidget :

:dockwidgetmovable)

; dock-

>

setallowedareas

(qt:

:leftdockwidgetarea|qt:

:rightdockwidgetarea)

;

將label設定成鑲嵌型別

otherlabel-

>

setframestyle

(qframe:

:panel|qframe:

:sunken)

;//設定控制項的風格,鑲嵌陰影型

引用影象作為控制項(比如**)

//引用影象時可放置於build目錄下

headiconlabel-

>

setpixmap

(icon)

;**調整控制項大小(a為任意控制項物件)

a-

>

resize

(x,y)

;

如果需要顯示抽屜效果,每層抽屜又分n個按鍵(例如qq聊天列表)

qtoolbox
qtoolbutton中settoolbuttonstyle各個引數設定

/*

* settoolbuttonstyle用來設定圖示和文字的位置

* 包括:

* toolbuttonicononly 只顯示圖示

* toolbuttontextonly 只顯示文字

* toolbuttontextbesidesicon 文字在圖示旁邊

* toolbuttontextundericon 文字在圖示下面

*/toolbtn1_1-

>

settoolbuttonstyle

(qt:

:toolbuttontextbesideicon)

;

設計進度框(像windows下刪除大檔案下進度條)

qprogressdialog
設定視窗置頂(a為介面物件名)

a

->

setwindowflags

(qt:

:framelesswindowhint)

;

設定視窗透明度(a為介面物件名)

//設定透明度為0.5a-

>

setwindowopacity

(0.5

);

滑鼠移動事件

//呼叫時滑鼠移動使用的應該是->buttons()而不是->button

//以下兩個函授完成時鐘隨著滑鼠移動的功能

void digiclock:

:mousepressevent

(qmouseevent *event)

if(event-

>

buttons()

== qt:

:rightbutton)

}void digiclock:

:mousemoveevent

(qmouseevent *event)

}

按鍵:按下去變色,鬆開後恢復(使用qtime實現)

//(注意:基本思想是修改樣式表的背景,所以要保證前後字型大小統一。樣式表的話推薦選擇border-image,background的圖案會顯示不全)

this

->ui-

>p_back-

>

setstylesheet

("qpushbutton");

//使用等待效果,讓圖示變換有顯示

qtime dietime= qtime:

:currenttime()

.addmsecs

(300);

while

(qtime:

:currenttime()

< dietime)

:processevents

(qeventloop:

:allevents,

100)

;this

->

close()

;this

->ui-

>p_back-

>

setstylesheet

("qpushbutton"

);

讀取txt檔案內的資料

int i =1;

qfile file

("***.txt");

//檔案路徑,最好是絕對路徑if(

!file.

open

(qiodevice:

:readonly | qiodevice:

:text)

) qtextstream in

(&file)

;//檔案流

qstring line =in.

readline()

;//讀取一行

while

(!line.

isnull()

)

當前時鐘,動態變化

//主函式

qtimer *timer =

newqtimer()

;connect

(timer,

signal

(timeout()

),this

,slot

(showtime_1()

)); timer-

>

start

(1000);

//1s改變一次

//槽函式showtime_1

qdatetime *datatime =

newqdatetime

(qdatetime:

:currentdatetime()

);qstring str = datatime-

>

tostring

("yyyy-mm-dd hh:mm:ss ddd");

ui->d_time-

>

settext

(str)

;

QT5 學習筆記一

一 訊號和槽機制 signal slot qt提供了訊號和槽機制用於完成介面操作的響應,是完成任意兩個qt物件之間的通訊機制。訊號會在某個特定情況或動作下被觸發,槽是等同於接收並處理訊號的函式。訊號與槽機制的連線方式 1 乙個訊號可以與另乙個訊號相連 2 同乙個訊號可以與多個槽相連 3 同乙個槽可以...

Qt5 嵌入式裝置QT5動態庫編譯,QT5移植

perl 5.8 or later python 2.7 or later c compiler supporting the c 98 standard sdk提供 編譯套裝 sudo apt get install build essential sudo apt get install git...

Qt5資料庫操作

以sqlite為例,對資料庫進行簡單操作 資料庫的基本操作不外乎以下幾類 以下是乙個qt例子,其中主要涉及的類 qsqldatabase,qsqlquery,前者對資料庫進行設定,後者執行sql語句 工程檔案 pro qt core sql config c 11 console defines q...