遍歷Qt介面控制項

2021-09-27 09:51:28 字數 596 閱讀 7296

——2021 0408——

最近發現qt中有乙個函式可以遍歷某種型別的介面控制項:

qlistbtns = findchildren();

預設就是遞迴呼叫的,所以,如果只是提取某一類控制項,可以採用這種方式;

檢視了網路上常用的遍歷控制項**,很有啟發,不過,因為qt介面類往往有很多層,用網上提到的方法通常只能遍歷一層,也就是說,當獲取父節點的時候,只能遍歷子節點,子節點以下的節點,無法獲取到了。

所以,改進後的遍歷方法是,先採用遞迴函式,獲取介面上的控制項;然後,從這些控制項中,提取自己需要的控制項;

**如下:

/* 獲取所有控制項 */

/* 獲取介面上所有按鈕;

當然也可以是所有的lineedit或其他;

/*呼叫時,可以在介面所在類這樣呼叫*/

qobjectlist listofbutton = getallbuttons(getalluicontrols(this));

/* ---------------------------------------我是分隔線-------------------------------------- */

這樣就可以獲取介面上所有的按鈕了;

Qt動態介面 控制項刪除問題

在專案中遇到要實現乙個動態資訊展示ui,so,需要動態刪除控制項 結構體儲存所有新建控制項並標識序列號 m nsequence struct cstinfo int m nsequence qgridlayout m pgridlayout qlabel m ptasknamelabel 任務名稱標...

QT 5 9 8 UI介面控制項介紹

布局管理器 所謂 gui 介面,歸根結底,就是一堆元件的疊加。我們建立乙個視窗,把按鈕放上面,把圖示放上面,這樣就成了乙個介面。在放置時,元件的位置尤其重要。我們必須要指定元件放在 以便視窗能夠按照我們需要的方式進行渲染。這就涉及到元件定位的機制。qt 提供了兩種元件定位機制 絕對定位和布局定位。絕...

qt控制項使用

1.建立視窗 qwidget window new qwidget window resize 300,300 window show qpushbutton button new qpushbutton tr window button move 100,100 button show 2.按鈕控...