/*
可能需要的標頭檔案:
#include "qlist.h"
#include "qmainwindow.h"
#include "qwidget.h"
#include "qdesktopwidget.h"
*/ widget =
newqwidget
(main_window)
;//new乙個widget類視窗,並指定父視窗
//設定視窗置頂顯示 無工具欄 無邊框,置頂時使用qt::dialog可以使視窗在當前軟體置頂而不會全域性置頂
//缺點:但視窗還是會被選單彈出的對話方塊蓋住
widget-
>
setwindowflags
(qt::dialog | qt::tool | qt::framelesswindowhint)
;//設定視窗透明度,控制項及視窗都會變透明
widget-
>
setwindowopacity
(0.8);
//下面兩種方式控制項透明度不會發生變化,但我在使用時有些小問題,可自行嘗試
//widget->setpalette(palette);
//widget->setattribute(qt::wa_translucentbackground, true);
//建立乙個label
qlabel *label =
newqlabel
("渲染圖例"
, widget)
; label-
>
setminimumsize
(100,35
);//設定最小大小
label-
>
setalignment
(qt::alignvcenter | qt::alignhcenter)
;//設定文字垂直水平居中
qfont font
("microsoft yahei",14
,75);
//設定字型 字型 大小 加粗(權重)
label-
>
setfont
(font)
; label_list.
push_back
(label)
; qvboxlayout *v_layout =
new qvboxlayout;
//垂直布局
vlayout.
push_back
(v_layout)
; v_layout-
>
addwidget
(label)
;for
(int i =
0; i < color.
length()
;i++)
widget-
>
setlayout
(v_layout)
;//給視窗新增布局
//獲取父視窗大小
qrect screenrect = main_window-
>
geometry()
;//獲得父類視窗得大小
int screenx = screenrect.
width()
;//父視窗得寬
int screeny = screenrect.
height()
;//父視窗得高
widget-
>
show()
;//要先show出來,才能獲得視窗得準確大小,否則獲取到得視窗大小不準確
int w = widget-
>
geometry()
.width()
;int h = widget-
>
geometry()
.height()
; widget-
>
move
(show_wide_scale*screenx-w, show_high_scale*screeny-h)
;/* 9月4日更新,在無意中發現,多次平凡呼叫時,在呼叫show之前設定背景顏色會出現失敗而不能設定成功的情況
具體原因我也不知道,但改為在呼叫show之後在設定背景顏色就不會失敗
int index = 0;
for (auto i = 1; i < g_labellist.length()-1;i=i+2)
*/
Qt建立停靠懸浮視窗
1.qt實現視窗停靠和懸浮使用類qdockwidget,它有兩個重要方法用來設定停靠特性以及停靠區域,dw1 setfeatures qdockwidget dockwidgetmovable qdockwidget dockwidgetclosable 設定停靠視窗特性,可移動,可關閉dw1 se...
Qt學習 建立對話方塊
第二章 建立對話方塊 總結筆記2.1子類化對話方塊 通過前向宣告,編譯器就知道這個類已經存在,而不用寫出包含的標頭檔案。2.2深入訊號和槽 signals and slots in depth 槽和普通的c 成員函式很像。它們可以是虛函式 virtual 也可被過載 overload 可以是公有的 ...
Qt學習之路 4 建立對話方塊
void mainwindow open void mainwindow open 不過,這樣做有乙個問題 如果我們的對話方塊不是在乙個介面類中出現呢?由於qwidget的 parent 必須是qwidget指標,那就限制了我們不能將乙個普通的 c 類指標傳給 qt 對話方塊。另外,如果對記憶體占用...