QFileDialog component signals
我正在对
我有两种方法可以想到,但不知道如何实现。一种方法是通过某种方式获得对组件的引用来连接到它的信号。另一个是事件过滤器,但事件源是对话框本身,所以我不知道如何确定鼠标单击或按键的位置。
这些方法是否可行?还是别的办法?
以下是一个选项(您的第一个建议):
1 2 3 4 5 6 7 8 9 10 11 12 | dialog = QFileDialog() layout = dialog.layout() # for i in range(layout.rowCount()): # for j in range(layout.columnCount()): # try: # print i,j # print layout.itemAtPosition(i,j).widget() # except: # pass line_edit = layout.itemAtPosition(2,1).widget() line_edit.setText('Hello Stack Overflow') dialog.exec_() |
这使您可以访问对话框中的qlineedit,该对话框中有许多可以连接的信号。
我还包含了我用来查找这个小部件的代码。我只是迭代了对话框布局中的小部件,并找到了我所追求的那个小部件的索引。因此,如果您需要访问对话框中的任何其他内容,您应该能够很容易地找到它!
这种方法的缺点是:如果布局在未来版本的qt中发生更改,这将中断。我想您可以通过查找