在學完qt的繪製函式後,大家也許會想新增乙個按鈕,按下按鈕後就繪製另一張不同的影象,但實際寫完後,卻發現沒有什麼作用。如果有人把介面隱藏再開啟就會發現,影象發生了變化。
這種情況的原因是qt的介面不能實時重新整理,所以繪製完影象後,介面不能顯示變化,隱藏再放大介面後介面會自動重新整理一次,這樣才使得介面上出現了新的圖畫。
在qt中呼叫下列函式可以解決這一問題。(最好用的是update()函式)
update()函式,實質上是呼叫了repaint函式,但是不是同步的,就是repaint函式可能不會立即執行。呼叫多次update()可能只執行了一次repaint()函式。
就是直接呼叫repaint()函式,如果這個控制項不是disable狀態或者不是隱藏狀態,它將直接呼叫paintevent()函式。如果你需要立刻重新整理,官方也建議之間是用repaint()函式。
如果以上都不行,你也可以試試以下這個方法。shownormal(),它也許會有用。
使用resize()函式。可以這樣呼叫this->resize(this->size());
最後可以選擇adjust()函式,一般情況下直接使用這個函式,就能進行介面的實時調整
//工程型別為qwidget時的函式
void qwidget::
update()
void qwidget::
repaint()
void qwidget::
shownormal()
void
resize
(const qsize &
)void qwidget::
adjustsize()
//如果工程型別換成qmainwindow,按下面這麼改就行
void qmainwindow::
update()
;
如果是通過按下按鍵改變影象,那在按鍵的槽函式末尾加乙個update()函式就可以了。 QT繪製手勢密碼介面
1 封裝類 ifndef afguesture h define afguesture h 手勢輸入控制項 輸入完成時,發出訊號result 外部呼叫者負責處理結果。include class afguesture public qframe q object signals void result...
Qt圓形等待介面繪製 3
一 效果圖如下 二 效果圖拆解 根據效果圖,實際就是以控制項中心為圓心,計算周圍12個小圓座標,然後繪製12個不同顏色,不同透明度的小圓。這裡顏色有兩個漸變,前幾個小圓透明度逐漸減小,後幾個小圓透明度逐漸增加,並且同時有顏色漸變。四 準備工作 初始化視窗類,類繼承自qdialog,設定視窗大小,去掉...
QT文字繪製
1 基本繪製 qpainter painter this 這個this要斟酌下 painter.drawtext 100,100,yafeilinux 2 中級繪製 qpainter painter this qrectf ff 100,100,300,200 設定乙個矩形 painter.draw...