qt中update()的粗略理解
生活随笔
收集整理的這篇文章主要介紹了
qt中update()的粗略理解
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
理解
項(xiàng)目中需要通過(guò)設(shè)置來(lái)更新界面,這個(gè)過(guò)程中若是窗口沒(méi)有發(fā)生變化,即使通過(guò)調(diào)用update()函數(shù)來(lái)觸發(fā)重繪函數(shù)重繪窗口,也不能立即顯示被重繪的窗口。只有窗口變化的時(shí)候才會(huì)被顯示出來(lái)。
示例說(shuō)明
雙擊選中窗口,希望窗口的邊框變?yōu)辄S色。如果直接設(shè)置窗口邊框顏色,然后調(diào)用update()函數(shù),并不能直接顯示更新后的結(jié)果,需要在窗口變化后才會(huì)顯示設(shè)置的邊框色。
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(); }這樣并不會(huì)立即顯示窗口邊框?yàn)辄S色。因?yàn)榇翱跊](méi)有變化。
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); }這樣將窗口移動(dòng)一丁點(diǎn),窗口被設(shè)置的邊框色就會(huì)顯示出來(lái)。
總結(jié)
以上是生活随笔為你收集整理的qt中update()的粗略理解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: C/C++ ultoa函数 - C语言零
- 下一篇: 非计算机专业教学改革,非计算机专业算法分