PyQt5 - 关闭应用程序 bec。 .value() 方法的错误[重复]

     2023-03-29     120

关键词:

【中文标题】PyQt5 - 关闭应用程序 bec。 .value() 方法的错误[重复]【英文标题】:PyQt5 - closes application bec. of error with .value() method [duplicate] 【发布时间】:2018-10-24 17:43:15 【问题描述】:

每当我在我的 PyQt5 应用程序的第二个窗口中单击一个按钮时,该按钮应该只在 GUI 中打印 QDateEdit 的值,它会以以下行关闭:“进程以退出代码 -1073740791 (0xC0000409) 完成”。我发现问题与 .value() 方法有关。下面是使用 Ui_Form 类重现该错误的最小方法:

import sys
from PyQt5 import QtWidgets
from ui.fenster import Ui_Form


app = QtWidgets.QApplication(sys.argv)

class AppendWindow(QtWidgets.QMainWindow):
    def __init__(self, parent=None):
        super().__init__(parent)
        self.ui = Ui_Form()
        self.ui.setupUi(self)
        self.ui.submit.clicked.connect(self.show_value)


    def show_value(self):
        print(self.ui.date.value())






append = AppendWindow()

append.show()
sys.exit(app.exec_())

Ui_Form:

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(413, 215)
        self.date = QtWidgets.QDateEdit(Form)
        self.date.setGeometry(QtCore.QRect(72, 26, 321, 20))
        self.date.setObjectName("date")
        self.label = QtWidgets.QLabel(Form)
        self.label.setGeometry(QtCore.QRect(9, 26, 57, 16))
        self.label.setObjectName("label")
        self.age = QtWidgets.QSpinBox(Form)
        self.age.setGeometry(QtCore.QRect(70, 120, 321, 20))
        self.age.setObjectName("age")
        self.label_2 = QtWidgets.QLabel(Form)
        self.label_2.setGeometry(QtCore.QRect(10, 120, 23, 16))
        self.label_2.setObjectName("label_2")
        self.label_3 = QtWidgets.QLabel(Form)
        self.label_3.setGeometry(QtCore.QRect(9, 69, 27, 16))
        self.label_3.setObjectName("label_3")
        self.name = QtWidgets.QPlainTextEdit(Form)
        self.name.setGeometry(QtCore.QRect(72, 69, 319, 21))
        self.name.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
        self.name.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
        self.name.setObjectName("name")
        self.submit = QtWidgets.QPushButton(Form)
        self.submit.setGeometry(QtCore.QRect(170, 170, 75, 23))
        self.submit.setObjectName("submit")

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Form"))
        self.label.setText(_translate("Form", "Geburtsjahr"))
        self.label_2.setText(_translate("Form", "Alter"))
        self.label_3.setText(_translate("Form", "Name"))
        self.submit.setText(_translate("Form", "Absenden!"))

有谁知道如何解决这个问题? 感谢您的帮助!

【问题讨论】:

请提供minimal reproducible example,分享Ui_Form类。 QPlainTextEdit 没有 value() 方法,因此它会抛出该错误,如果要获取文本,则必须使用 toPlainText()。改为print(self.ui.name.toPlainText()) 谢谢,这解决了 QPlainTextEdit 的问题,但我还需要获取 QDateEdit 的值。是不是也没有 value() 方法? doc.qt.io/qt-5/qdatetimeedit.html#dateTime-prop : print(self.ui.date.dateTime().toString()),请阅读文档。 好的,非常感谢!!我想我现在自己想通了。 【参考方案1】:

您需要在主代码中添加app.exec() 才能启动主循环。

app = QtWidgets.QApplication(sys.argv)
app.exec()

主循环处理所有传入事件并将它们传递给您的 GUI 元素。

【讨论】:

不知道为什么,但这会导致程序一开始就没有打开 GUI。

我想在应用程序关闭时保存 PyQt5 设置

】我想在应用程序关闭时保存PyQt5设置【英文标题】:IwanttosavePyQt5settingswhenapplicationclose【发布时间】:2020-02-0802:21:23【问题描述】:。这是因为下次我再次运行它时,它将以最终设置运行。所以,我写了这样的代码。这是一个... 查看详情

PyQt5 QPlainTextEdit 制作超链接[关闭]

...12-2913:33:39【问题描述】:我们是一个使用PyQt5的Python聊天应用程序,但是在我们用于聊天框的QPlainTextEdit中尝试使超链接可点击时遇到了障碍。我们的输出只是一个没有突出显示的纯html标签。chatbox=QPlainTextE 查看详情

为啥在 PyQt5 中打开新窗口时我的应用程序会关闭?

】为啥在PyQt5中打开新窗口时我的应用程序会关闭?【英文标题】:WhydoesmyappclosewhenopeninganewwindowinPyQt5?为什么在PyQt5中打开新窗口时我的应用程序会关闭?【发布时间】:2017-10-2400:00:41【问题描述】:~EDIT(原来的问题还在下面... 查看详情

如何在 PyQt5 中正确显示图片? [关闭]

...间】:2021-04-2321:42:47【问题描述】:我正在制作一个播客应用程序,我想在其中显示频道图标。那就是我问自己的地方:如何在PyQt5中正确显示图片?我读到了这个:label=QLabel()pixmap=QPixmap(\'image.png\')label.setPixm 查看详情

如何在循环中打开(和关闭)PyQt5 应用程序,并让该循环多次运行

】如何在循环中打开(和关闭)PyQt5应用程序,并让该循环多次运行【英文标题】:HowdoIopen(andclose)aPyQt5applicationinsidealoop,andgetthatlooprunningmultipletimes【发布时间】:2021-11-0905:28:58【问题描述】:以下是我创建的循环:importmainuiimpor... 查看详情

如何在不关闭 GUI 窗口的情况下停止运行 PyQt5 程序?

】如何在不关闭GUI窗口的情况下停止运行PyQt5程序?【英文标题】:HowtostoprunningPyQt5programwithoutclosingtheGUIwindow?【发布时间】:2017-09-2521:12:40【问题描述】:以下代码ping一个网站并在QTextEdit中打印结果。一键“运行”用于启动ping... 查看详情

从 PyQt5 转换为 PyQt4 [关闭]

】从PyQt5转换为PyQt4[关闭]【英文标题】:ConvertfromPyQt5toPyQt4[closed]【发布时间】:2021-07-1214:42:40【问题描述】:兄弟姐妹们,我只是想知道是否有人可以帮我将这个程序转换为PyQt4。我尽力了,但我做不到;,)。它是一个在UI上显示... 查看详情

按下保存按钮pyqt5后关闭第二个小部件

...布时间】:2018-03-2512:29:19【问题描述】:我正在编写一个应用程序,其中主窗口小部件窗口打开第二个窗口小部件窗口,在第二个窗口小部件窗口中,我从用户那里获取一些输入并点击保存按钮,第二个窗口小部件窗口应该将数... 查看详情

Qtreewidget Pyqt5如何恢复正常? [关闭]

】QtreewidgetPyqt5如何恢复正常?[关闭]【英文标题】:HowtorestoretonormaltoQtreewidgetPyqt5?[closed]【发布时间】:2021-01-3104:02:55【问题描述】:我刚刚用QTreeWidget做了一个程序。但是我想在单击按钮时将其恢复正常,我的意思是它应该与... 查看详情

如何要求用户在 Pyqt5 中输入图像 [关闭]

】如何要求用户在Pyqt5中输入图像[关闭]【英文标题】:HowtoaskusertoinputanimageinPyqt5[closed]【发布时间】:2020-03-1009:19:42【问题描述】:喂!我在Pyqt5中做了一个简单的GUI。目前我正在尝试制作一个GUI,用户可以在其中首先输入他们... 查看详情

使用 PyQt5 制作应用程序后无法打开 .exe

】使用PyQt5制作应用程序后无法打开.exe【英文标题】:can\'topen.exeaftermadeanappwithPyQt5【发布时间】:2021-06-0611:36:30【问题描述】:我的Python脚本有两个不同的问题:我用qt设计器做了一个简单的设计,并将其转换为.py文件。在spyder... 查看详情

如何使用pyqt5在python中制作每周时间表? [关闭]

】如何使用pyqt5在python中制作每周时间表?[关闭]【英文标题】:Howtomakeaweeklytimetableinpythonusingpyqt5?[closed]【发布时间】:2021-01-2520:52:30【问题描述】:谁能帮我确定pyqt5中所需的工具,以制作与下图类似的每周时间表,我可以在... 查看详情

用pyqt5关闭窗口时如何关闭串口

】用pyqt5关闭窗口时如何关闭串口【英文标题】:Howtocloseserialportwhenclosingwindowwithpyqt5【发布时间】:2021-05-0906:43:43【问题描述】:此代码读取arduino的输出并实时绘制值。但是当我关闭窗口时,串行连接没有关闭。importpyqtgraphaspgf... 查看详情

PyQt5 - QVariant.value() 返回对象而不是 python 值 (pyqt4 .toPyObject())

】PyQt5-QVariant.value()返回对象而不是python值(pyqt4.toPyObject())【英文标题】:PyQt5-QVariant.value()returnsobjectinsteadofpythonvalue(pyqt4.toPyObject())【发布时间】:2017-12-2010:32:59【问题描述】:基于SO示例here和以下输出:fromPyQt4.QtCoreimportQVariantdat 查看详情

在不终止启动 Python 脚本的情况下关闭 pyqt5 GUI

...动GUI后,用户必须提供一些输入,然后通过关闭按钮关闭应用程序。与按钮关联的方法以“sys.exit()”结束,以关闭GUI。问 查看详情

关闭后执行的 PyQt5 QDialog 代码

】关闭后执行的PyQt5QDialog代码【英文标题】:PyQt5QDialogcodeexecutingafterclose【发布时间】:2018-08-1616:18:18【问题描述】:使用以下代码:fromPyQt5.QtWidgetsimportQDialog,QMessageBoxfromPyQt5.uicimportloadUiclassFileLoader(QDialog):loadCompleteSig=pyqtSign 查看详情

单击文件名时 PyQt5 QFileDialog 关闭

】单击文件名时PyQt5QFileDialog关闭【英文标题】:PyQt5QFileDialogcloseswhenfilenameclicked【发布时间】:2020-07-3016:48:03【问题描述】:我正在使用PyQt5QFileDialog.getOpenFileName。我希望该框保持打开状态,直到单击“打开”按钮。但是,当我... 查看详情

PyQt5中的所有样式是啥[关闭]

】PyQt5中的所有样式是啥[关闭]【英文标题】:WhataretheallstylesinPyQt5[closed]PyQt5中的所有样式是什么[关闭]【发布时间】:2021-09-1304:25:45【问题描述】:我使用的是Windows11我正在使用PyQt5所以我想获得不同操作系统中的所有样式那么... 查看详情