我试图得到一个qt5qfiledialog来显示图像预览时,选择打开它们。在
方法1:扩展QFileDialog
我使用了this implementation of the dialog,它与qt5.6.1一起工作。在
现在我正在使用Qt 5.9.2,但它不再工作,给出以下错误:
Traceback (most recent call last):
File "main.py", line 74, in mouseDoubleClickEvent
self.openFileDialog()
File "main.py", line 123, in openFileDialog
openDialog = QFileDialogPreview(self, 'Open file', './', self.getDialogFilter())
File "QFileDialogPreview.py", line 22, in __init__
self.layout().addLayout(box, 1, 3, 1, 1)
TypeError: addLayout(self, QLayout, stretch: int = 0): too many arguments
这是翻译课。我使用的是Python 3.5.2:
^{pr2}$方法2:单独的预览窗口
我还尝试为预览添加一个单独的窗口。当它在QFileDialog中被选中时会显示图像,但我无法将其附加到对话框本身的一侧。
我无法使用上的mapToGlobal方法获取映射到全局屏幕坐标的对话框的位置对话框.gemoetry(). 我只得到一个QRect,它包含位置0,0,在本例中大小不匹配100x30,而对话框大约是800x600,大约为2000500。在
当您放置
box = QVBoxLayout(self)
时,您正在放置一个新布局,您必须使用QFileDialog
自己的Qt,为此,除了从box语句中删除self之外,我们还启用了DontUseNativeDialog
标志:输出:
相关问题 更多 >
编程相关推荐