PyQt新对话框,带参数

2024-06-25 23:25:20 发布

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

我有一个问题,试图建立一个新的对话框从我的主窗口传递一个路径参数,现在对话框只是闪烁和退出。。。我想问题是我把窗户放在哪里,但我不知道该放在哪里!
在这个XtractMainWindow.py文件我设置主窗口并获取路径

from PyQt4.QtCore import *
from PyQt4.QtGui import *
import ui_XtractMainWindow
import AndroidDialog
import sys

class XtractMainWindow(QMainWindow, ui_XtractMainWindow.Ui_XtractMainWindow):
    def __init__(self, parent=None):
    super(XtractMainWindow, self).__init__(parent)
    self.setupUi(self)

    self.androidXtractButton.clicked.connect(self.setAndroid)

def setAndroid(self):
    filename = QFileDialog.getExistingDirectory(self, "Open Directory", "/home")
    print filename
    dialog = AndroidDialog.AndroidDialog(str(filename))
    dialog.show()


app = QApplication(sys.argv)
form =  XtractMainWindow()
form.show()
app.exec_()

这是对话框,在AndroidDialog.py文件

^{pr2}$

谢谢你的建议!在


Tags: 文件frompyimportself路径uiinit
1条回答
网友
1楼 · 发布于 2024-06-25 23:25:20
dialog = AndroidDialog.AndroidDialog(str(filename))
dialog.show()

在这里可以看到,您正在将dialog的引用保存在一个局部变量中。当setAndroid(self)完成执行时,dialog变量由垃圾回收器收集(销毁)。在

请注意,只要对该窗口的引用存在,该窗口就存在。在

这样做:

^{pr2}$

在本例中,self.dialog是一个类成员,它不会被垃圾回收器收集或销毁。在

相关问题 更多 >