小编Emi*_*y C的帖子

PyQt QDialog - 返回一个值并从对话框中关闭

我正在使用PyQt中的用户界面,我在尝试使用QDialog时遇到了一些问题.基本上我有一个主要的小部件和一个子小部件,保存在单独的.py文件中; 当我点击主窗口小部件中的某个按钮时,我希望打开子窗口小部件.这似乎开得很好.

问题在于返回和关闭.我的子窗口小部件上有一个"提交"按钮 - 当用户单击此按钮时,我想将一个值(由其输入创建的字典)返回到主窗口小部件,然后关闭子窗口小部件.我似乎无法用我现在的代码做这些事情.

主窗口小部件中适用的代码位(如果问题不明显,可以添加更多代码以使其自包含):

import SGROIWidget_ui

def retranslateUi(self, ROIGUI):
    #ShowGroupROI is a push-button
    self.ShowGroupROI.clicked.connect(self.ShowGroupROIFunction)

def ShowGroupROIFunction(self):
    dialog = QDialog()
    dialog.ui = SGROIWidget_ui.Ui_ShowGroupWidget()
    dialog.ui.setupUi(dialog)
    dialog.setAttribute(QtCore.Qt.WA_DeleteOnClose)
    if dialog.exec_():
        roiGroups=dialog.Submitclose()
        print(roiGroups)
        dialog.accept()
Run Code Online (Sandbox Code Playgroud)

我似乎永远不会在if语句之后命中代码.

来自我的子窗口小部件的适用代码(此处将包含更多内容):

try:
    _fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
    def _fromUtf8(s):
        return s

try:
    _encoding = QtGui.QApplication.UnicodeUTF8
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig)

class Ui_ShowGroupWidget(QtGui.QWidget):
    def __init__(self):
        QtGui.QWidget.__init__(self)
        self.setupUi(self)

    def setupUi(self, ShowGroupWidget):
        #sets up Submit button

    def …
Run Code Online (Sandbox Code Playgroud)

python user-interface qt pyqt qdialog

8
推荐指数
1
解决办法
2万
查看次数

PyQt - 强制一个标签首先出现?

快速问题 - 我正在使用pyqt中的GUI,它有两个选项卡.现在第二个选项卡在启动时始终打开,我认为这是因为它运行一个函数来查找要保留在QLineEdit中的文件名.我真的希望第一个标签出现在启动时.我该怎么做呢?

python user-interface qt pyqt

8
推荐指数
1
解决办法
7374
查看次数

标签 统计

pyqt ×2

python ×2

qt ×2

user-interface ×2

qdialog ×1