PyQt无法在主风中的对话框中为对象设置值

2024-10-01 22:34:41 发布

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

我有一个主程序,它用自己的gui调用各种对话框。基本上,我要做的是在Main中为另一个类的对象设置一个值:

class ZoneManager(QMainWindow, mainWindow.Ui_zzzMainWindow):
    def __init__(self):
        QMainWindow.__init__(self)
        mainWindow.Ui_zzzMainWindow.__init__(self)
.....
    def cookie_find(self):
            match = re.search('cookie_id=(.*?)\"', page).group(1)
            rga = str(match)
            print (match)
            dialog = QDialog()
            dialog.ui = rga_session.Ui_rga_sessionDialog()
            dialog.ui.setupUi(dialog)
            dialog.exec_()
     dialog.ui.rgaSessionText.setText(rga) # <<<<I want to set the text into a QLineEdit object

but I can't. The dialog is in a separate file and made it in QTDesigner with standard 2 methods: from PyQt5 import QtCore, QtGui, QtWidgets

^{pr2}$

我能把从Regex中找到的文本附加到“rgasessionext”中?我做错什么了?提前谢谢


Tags: inselfuiinitcookiedefmatchgui
1条回答
网友
1楼 · 发布于 2024-10-01 22:34:41

我认为主窗口和其他对话框之间最好通过信号槽的方式进行通信。在

在ZoneManager类中,定义:

settextsignal= pyqtSignal(str)

在用户界面会话对话框类中,定义:

^{pr2}$

然后在cookie_find方法中,在初始化Ui gu rga_sessionDialog之后,输入:

self.settextsignal.connect(dialog.ui.textUpdate)

当你想设置文本时,只要打电话:

self.settextsignal.emit(text)

相关问题 更多 >

    热门问题