QT刪除QWidget或QLayout下的控制項

2022-01-30 11:01:22 字數 554 閱讀 9837

最近做了乙個功能,點選按鈕新建控制項,再次點選需要刪除上一次的結果,重新新建控制項,如圖:

設定引數,第一次點選分類按鈕:

更改引數,第二次點選分類按鈕:

試了很多方法都不行,update(),repaint()均沒有效果,簡單的移除layout也不管用,後來發現問題在於前一次建立的控制項沒有delete,方法很簡單,看**:

qlistbtns = ui->scrollareawidgetcontents->findchildren();

foreach (qpushbutton* btn, btns)

取widget / layout 下所有的qpushbutton型別(或其他)的子控制項,遍歷控制項,刪除,再重新執行建立操作即可。

參考:如何動態刪除qgridlayout裡的控制項

Qt 汽車儀表 QWidget

先上程式執行圖 這裡顯示數字,閃爍等都沒有問題,唯一的問題就是這個速度指標的繪製問題,在 中我使用的是用qpainter繪製image。鋸齒好嚴重,這裡我已經開了抗鋸齒 painter.setrenderhint qpainter antialiasing,true 但是效果幾乎沒有,是操作不對,還...

Qt 設定QWidget背景色

qt設定qwidget背景顏色的方法測試了三種,推薦第一種。一 使用qpalette qpalette palette palette.setcolor qpalette background,qt yellow this setautofillbackground true this setpal...

Qt學習(五) QWidget物件模型

在qt中,所有視窗及視窗控制項都是從qwidget直接或間接派生出來的。在qt中建立物件的時候會提供乙個parent物件指標,下面來解釋這個parent到底是幹什麼的。qobject是以物件樹的形式組織起來的。當你建立乙個qobject物件時,會看到qobject的建構函式接收乙個qobject指標...