PyQt5获取QFileDialog的QGridLayout

2024-07-01 08:35:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试在PyQt5中创建我自己的QFileDialog,对它原来的QGridLayout做一些小的修改。在

在PyQt4中,我只是将QFileDialog子类化并调用自布局()的某个地方,它返回了QFileDialog的QGridLayout,然后我可以自由地做我需要的事情。在

不过最近,我被迫在Python3中改用PyQt5。自布局()、findChildren()等没有返回相同的结果(有时返回None)。在

因此,我再次尝试在PyQt5中获取QFileDialog的QGridLayout实例。另外,我使用的是python3.5,如果这有什么改变的话。有人知道怎么做吗?在

编辑1-添加了一个示例:

PyQt4-在python2.7.10上测试

import sys
from PyQt4 import QtGui


class MyQFileDialog(QtGui.QFileDialog):
    def __init__(self, parent=None):
        super(MyQFileDialog, self).__init__(parent=parent)
        print(self.layout())  # <=--- Returns <PyQt4.QtGui.QGridLayout object>


def window():
   app = QtGui.QApplication(sys.argv)
   w = MyQFileDialog()
   w.show()
   sys.exit(app.exec_())

if __name__ == '__main__':
   window()

PyQt5-在python3.5.2上测试

^{pr2}$

Tags: importselfnoneinitdefsys布局window

热门问题