qt中update()的粗略理解
生活随笔
收集整理的這篇文章主要介紹了
qt中update()的粗略理解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
理解
項目中需要通過設置來更新界面,這個過程中若是窗口沒有發生變化,即使通過調用update()函數來觸發重繪函數重繪窗口,也不能立即顯示被重繪的窗口。只有窗口變化的時候才會被顯示出來。
示例說明
雙擊選中窗口,希望窗口的邊框變為黃色。如果直接設置窗口邊框顏色,然后調用update()函數,并不能直接顯示更新后的結果,需要在窗口變化后才會顯示設置的邊框色。
void largeScreenListWidget::mouseDoubleClickEvent(QMouseEvent *event) {m_isSelected = true;QColor color(255,255,0,255);setBigScreenBorderColor(color);QWidget::mouseDoubleClickEvent(event); }void largeScreenListWidget::setBigScreenBorderColor(QColor &color) {m_colorBackBorder = color;update(); }這樣并不會立即顯示窗口邊框為黃色。因為窗口沒有變化。
void largeScreenListWidget::mouseDoubleClickEvent(QMouseEvent *event) {m_isSelected = true;move(geometry().x()-1,geometry().y()-1);QColor color(255,255,0,255);setBigScreenBorderColor(color);QWidget::mouseDoubleClickEvent(event); }這樣將窗口移動一丁點,窗口被設置的邊框色就會顯示出來。
總結
以上是生活随笔為你收集整理的qt中update()的粗略理解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C/C++ ultoa函数 - C语言零
- 下一篇: 非计算机专业教学改革,非计算机专业算法分