首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何关闭QDialog

如何关闭QDialog
EN

Stack Overflow用户
提问于 2015-06-30 19:26:57
回答 4查看 27.8K关注 0票数 8

我一直试图关闭一个从主窗口分支的QDialog窗口。到目前为止,以下几点对我并没有起作用:

代码语言:javascript
运行
复制
self.close()
QDialog.close()

我尝试了其他命令,如exitexec_(),但没有成功。我遇到的最常见的错误是

className对象没有属性“关闭”

代码语言:javascript
运行
复制
# Creating our window
class Ui_MainWindow(object):

    # Sets up GUI
    def setupUi(self, MainWindow):

        [GUI CODE]      

    # Sets text for parts of GUI
    def retranslateUi(self, MainWindow):

        [MORE GUI CODE]

    # Function handling screencap on click and metadata for filenames
    def cap_on_Click(arg1,arg2):

        popup = QDialog()
        popup_ui = Ui_Dialog()
        popup_ui.setupUi(popup)
        popup.show()
        sys.exit(popup.exec_())

以上是我的主要窗口。

代码语言:javascript
运行
复制
class Ui_Dialog(object):

    def setupUi(self, Dialog):

        [GUI CODE]

    def retranslateUi(self, Dialog):

        [MORE GUI CODE]

    def button_click(self, arg1):

        self.close()

第二个块是对话框窗口代码。如何关闭此对话框窗口?

EN

回答 4

Stack Overflow用户

发布于 2015-06-30 19:40:11

首先,很抱歉与C++相关的链接,但是Python有着相同的概念

可以尝试使用rejectacceptdone函数关闭对话框。通过这样做,可以适当地设置返回值(RejectedAccepted或指定为参数的值)。

总之,您应该尝试调用YourDialog.done(n)关闭对话框,并在希望它被接受/拒绝时返回nYourDialog.accept()YourDialog.reject()

票数 7
EN

Stack Overflow用户

发布于 2015-06-30 20:03:12

因为QDialogQWidget,而QWidgetclose()方法,我不明白它怎么不能工作。但是,您永远不应该调用popup.exec_(),因为它将很高兴地要求大量代码在您没有意识到的情况下被重入。这是不必要的--您已经让应用程序事件循环运行,并且在执行cap_on_Click时在调用堆栈上运行。

popup.show()之后,对话框将是可见的和可用的,直到它被用户接受或拒绝为止。希望您的对话框设计将按钮框的accepted()rejected()信号连接到对话框的accept()reject()插槽。这是Qt以及Qt提供的QDialog模板的默认行为,但是您应该在查看Ui文件时进入信号/插槽编辑器模式来检查它。

票数 3
EN

Stack Overflow用户

发布于 2018-04-03 13:39:19

我猜问题在于Ui_Dialog没有继承QDialog,因此没有定义reject()accept()done()。我认为

代码语言:javascript
运行
复制
class Ui_Dialog(object):

应改为

代码语言:javascript
运行
复制
class Ui_Dialog(QDialog):

但是我不能测试它,因为没有提供最小的工作示例。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31146799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档