pyqt5 qgridlayout獲取元素位置
PyQt5中獲取控件在QLayout布局中所在的行數列數
刪除單個元素,ui不變,當刪除正行時,ui會自動刪除正行,但是行列序號還是不變。
在使用PyQt5庫編寫界面程序的時候,想要獲取布局中某個控件所在的行數和列數。在網上搜索方法無果后,通過查看Qt文檔摸索出了一種方法,先記錄下來。
先使用函數
PyQt5.QtWidgets.QGridLayout.indexOf(Widget)
當gridlayout刪除元素后,這個索引會跟著一起變。刪掉的可能不計數了。
獲取控件Widget在Layout中的index,(如果在QGridLayout中沒有找到Widget,函數會返回 -1)
再使用函數
PyQt5.QtWidgets.QGridLayout.getItemPosition(index)
得到Widget所在位置的信息,這個函數會返回一個tunple:(raw, column, rawSpan, columnSpan)
當表格中刪除元素后,獲取的位置不變,還是刪除之前的行列位置。
根據位置獲取元素
QGridLayout.itemAtPosition(int?row, int?column)
這里獲取的是item,不是真正的子控件,還需要進一步獲取,可能才能獲取子控件
QGridLayout.itemAtPosition(int?row, int?column).widget()
Qt
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。