說明:**框上面是對操作描述,**框內部具體操作
執行時介面字型顯示不全(解析度問題)
: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...