我們知道,所有的qt控制項都繼承自qobject,而qobject有乙個屬性叫做objectname。我們可以利用這個屬性。
查詢物件的方法,可以利用findchild()和fildchildren()。函式原型如下:
t qobject::findchild(const qstring &name = qstring(), qt::findchildoptions options = qt::findchildrenrecursively) const
qlist qobject::findchildren(const qstring &name = qstring(), qt::findchildoptions options = qt::findchildrenrecursively) const
具體使用方式,可通過qt助手檢視。
示例:
//獲取ui->widget_4的所有型別為qpushbutton的子控制項,並且遍歷遍歷,列印顯示控制項文字,和控制項名
qlist> buttons = ui-
>widget_4-
>findchildren>()
;foreach
(auto btn, buttons)
//獲取 ui->widget_4的子控制項中名為「btnfilemng」型別為qpushbottn的控制項。
qpushbutton* btn = ui-
>widget_4-
>findchild>
("btnfilemng"
);
如何獲取控制項座標
一 monkeyrecorder獲取座標 1 啟動monkeyrecorder 首先真機或模擬器連線上電腦 以夜神模擬器為例,cmd輸入adb connect 127.0.0.1 62001 連線成功後,cmd輸入adb devices檢視已連線真機或模擬器裝置的名稱 cmd輸入monkeyrunn...
WPF獲取子 父窗體控制項
獲得父窗體控制項 要獲得控制項類名 當前子控制項名 要查詢父控制項名 要獲得控制項類名 public static t getparentobject dependencyobject obj,string name where t frameworkelement parent visualtre...
Qt的子控制項如何接收主視窗的手勢事件
首先我建了乙個新的qt應用,這個應用有三個類,乙個是qt的mainwindow 另外乙個可以接收手勢的widget,最後是我自己擴充套件的可以接收手勢的button.程式執行後的結果是這樣的 1 我點button,button可以正常處理接收到的手勢 2 我點widget的部分,widget可以接收...