PyQt6将文本从LineEdit给Label时出错(窗口自行关闭)



我有一个PyQt6的问题:我创建了一个有2个窗口的程序。错误出现在第二个窗口,因此可以忽略窗口1。问题是一个函数,它需要4个lineedit的输入并将4个值放到4个标签中以显示它们。我试了很多方法,但都没用。

错误:只要我按下按钮导航到下一个窗口,什么都没有打开,错误代码Process finished with exit code -1073741819 (0xC0000005)出现。当我试着打开窗口2时,同样的错误代码出现了。

giveDatatoÜbersicht函数为导入函数。窗口2的代码:

from PyQt6 import QtCore, QtGui, QtWidgets

class Ui_MainWindow(object):
def giveDatatoÜbersicht(self):
lineEdit3value = self.lineEdit_3.text()
self.label_5 = lineEdit3value
lineEdit4value = self.lineEdit_4.text()
self.label_17 = lineEdit4value
lineEdit13value = self.lineEdit_13.text()
self.label_19 = lineEdit13value
lineEdit14value = self.lineEdit_14.text()
self.label_21 = lineEdit14value
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(804, 552)
MainWindow.setStyleSheet("background-color: rgb(251, 255, 208);")
self.centralwidget = QtWidgets.QWidget(parent=MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.tabWidget = QtWidgets.QTabWidget(parent=self.centralwidget)
self.tabWidget.setEnabled(True)
self.tabWidget.setGeometry(QtCore.QRect(0, 0, 801, 601))
self.tabWidget.setObjectName("tabWidget")
self.tab_3 = QtWidgets.QWidget()
self.tab_3.setAccessibleName("")
self.tab_3.setObjectName("tab_3")
self.label_3 = QtWidgets.QLabel(parent=self.tab_3)
self.label_3.setGeometry(QtCore.QRect(10, 20, 141, 31))
self.label_3.setStyleSheet("font-size: 30px;n"
"text-decoration: underline;n"
"font: 22pt "MS Shell Dlg 2";")
self.label_3.setObjectName("label_3")
self.label_4 = QtWidgets.QLabel(parent=self.tab_3)
self.label_4.setGeometry(QtCore.QRect(10, 120, 131, 21))
self.label_4.setStyleSheet("font: 12pt "MS Shell Dlg 2";")
self.label_4.setObjectName("label_4")
self.label_16 = QtWidgets.QLabel(parent=self.tab_3)
self.label_16.setGeometry(QtCore.QRect(10, 180, 191, 21))
self.label_16.setStyleSheet("font: 12pt "MS Shell Dlg 2";")
self.label_16.setObjectName("label_16")
self.label_18 = QtWidgets.QLabel(parent=self.tab_3)
self.label_18.setGeometry(QtCore.QRect(10, 240, 61, 21))
self.label_18.setStyleSheet("font: 12pt "MS Shell Dlg 2";")
self.label_18.setObjectName("label_18")
self.label_20 = QtWidgets.QLabel(parent=self.tab_3)
self.label_20.setGeometry(QtCore.QRect(10, 290, 61, 21))
self.label_20.setStyleSheet("font: 12pt "MS Shell Dlg 2";")
self.label_20.setObjectName("label_20")
self.lineEdit_3 = QtWidgets.QLineEdit(parent=self.tab_3)
self.lineEdit_3.setGeometry(QtCore.QRect(610, 120, 171, 21))
self.lineEdit_3.setStyleSheet("background-color: rgb(255, 255, 255);n"
"border-radius: 6px;n"
"border: 1px solid black;")
self.lineEdit_3.setObjectName("lineEdit_3")
self.lineEdit_4 = QtWidgets.QLineEdit(parent=self.tab_3)
self.lineEdit_4.setGeometry(QtCore.QRect(510, 180, 271, 21))
self.lineEdit_4.setStyleSheet("background-color: rgb(255, 255, 255);n"
"border-radius: 6px;n"
"border: 1px solid black;")
self.lineEdit_4.setObjectName("lineEdit_4")
self.lineEdit_13 = QtWidgets.QLineEdit(parent=self.tab_3)
self.lineEdit_13.setGeometry(QtCore.QRect(740, 240, 51, 21))
self.lineEdit_13.setStyleSheet("background-color: rgb(255, 255, 255);n"
"border-radius: 6px;n"
"border: 1px solid black;")
self.lineEdit_13.setObjectName("lineEdit_13")
self.lineEdit_14 = QtWidgets.QLineEdit(parent=self.tab_3)
self.lineEdit_14.setGeometry(QtCore.QRect(740, 290, 51, 21))
self.lineEdit_14.setStyleSheet("background-color: rgb(255, 255, 255);n"
"border-radius: 6px;n"
"border: 1px solid black;")
self.lineEdit_14.setObjectName("lineEdit_14")
self.pushButton = QtWidgets.QPushButton(parent=self.tab_3)
self.pushButton.setGeometry(QtCore.QRect(720, 330, 71, 21))
self.pushButton.setStyleSheet("background-color: rgb(255, 255, 255);n"
"border-radius: 6px;n"
"border: 1px solid black;")
self.pushButton.setObjectName("pushButton")
self.pushButton.clicked.connect(self.giveDatatoÜbersicht)
self.label_5 = QtWidgets.QLabel(parent=self.tab_3)
self.label_5.setGeometry(QtCore.QRect(150, 120, 191, 21))
self.label_5.setStyleSheet("border-radius: 6px;n"
"border: 1px solid black;n"
"font: 12pt "MS Shell Dlg 2";n"
"background-color: rgb(255, 255, 255);")
self.label_5.setText("")
self.label_5.setObjectName("label_5")
self.label_17 = QtWidgets.QLabel(parent=self.tab_3)
self.label_17.setGeometry(QtCore.QRect(210, 180, 281, 21))
self.label_17.setStyleSheet("border-radius: 6px;n"
"border: 1px solid black;n"
"font: 12pt "MS Shell Dlg 2";n"
"background-color: rgb(255, 255, 255);")
self.label_17.setText("")
self.label_17.setObjectName("label_17")
self.label_19 = QtWidgets.QLabel(parent=self.tab_3)
self.label_19.setGeometry(QtCore.QRect(80, 240, 41, 21))
self.label_19.setStyleSheet("border-radius: 6px;n"
"border: 1px solid black;n"
"font: 12pt "MS Shell Dlg 2";n"
"background-color: rgb(255, 255, 255);")
self.label_19.setText("")
self.label_19.setObjectName("label_19")
self.label_21 = QtWidgets.QLabel(parent=self.tab_3)
self.label_21.setGeometry(QtCore.QRect(80, 290, 41, 21))
self.label_21.setStyleSheet("border-radius: 6px;n"
"border: 1px solid black;n"
"font: 12pt "MS Shell Dlg 2";n"
"background-color: rgb(255, 255, 255);")
self.label_21.setText("")
self.label_21.setObjectName("label_21")
self.tabWidget.addTab(self.tab_3, "")
self.tab = QtWidgets.QWidget()
self.tab.setObjectName("tab")
self.label = QtWidgets.QLabel(parent=self.tab)
self.label.setGeometry(QtCore.QRect(20, 20, 81, 21))
self.label.setObjectName("label")
self.lineEdit = QtWidgets.QLineEdit(parent=self.tab)
self.lineEdit.setGeometry(QtCore.QRect(110, 20, 113, 21))
self.lineEdit.setStyleSheet("background-color: rgb(255, 255, 255);n"
"border-radius: 6px;n"
"border: 1px solid black;")
self.lineEdit.setObjectName("lineEdit")
self.label_2 = QtWidgets.QLabel(parent=self.tab)
self.label_2.setGeometry(QtCore.QRect(20, 60, 81, 21))
self.label_2.setObjectName("label_2")
self.lineEdit_2 = QtWidgets.QLineEdit(parent=self.tab)
self.lineEdit_2.setGeometry(QtCore.QRect(110, 60, 191, 21))
self.lineEdit_2.setStyleSheet("background-color: rgb(255, 255, 255);n"
"border-radius: 6px;n"
"border: 1px solid black;")
self.lineEdit_2.setObjectName("lineEdit_2")
self.label_6 = QtWidgets.QLabel(parent=self.tab)
self.label_6.setGeometry(QtCore.QRect(20, 110, 71, 31))
self.label_6.setObjectName("label_6")
self.lineEdit_5 = QtWidgets.QLineEdit(parent=self.tab)
self.lineEdit_5.setGeometry(QtCore.QRect(100, 110, 51, 31))
self.lineEdit_5.setStyleSheet("background-color: rgb(255, 255, 255);n"
"border-radius: 6px;n"
"border: 1px solid black;")
self.lineEdit_5.setText("")
self.lineEdit_5.setObjectName("lineEdit_5")
self.label_8 = QtWidgets.QLabel(parent=self.tab)
self.label_8.setGeometry(QtCore.QRect(20, 160, 71, 31))
self.label_8.setObjectName("label_8")
self.lineEdit_7 = QtWidgets.QLineEdit(parent=self.tab)
self.lineEdit_7.setGeometry(QtCore.QRect(100, 160, 51, 31))
self.lineEdit_7.setStyleSheet("background-color: rgb(255, 255, 255);n"
"border-radius: 6px;n"
"border: 1px solid black;")
self.lineEdit_7.setText("")
self.lineEdit_7.setObjectName("lineEdit_7")
self.label_7 = QtWidgets.QLabel(parent=self.tab)
self.label_7.setGeometry(QtCore.QRect(20, 210, 71, 31))
self.label_7.setObjectName("label_7")
self.lineEdit_6 = QtWidgets.QLineEdit(parent=self.tab)
self.lineEdit_6.setGeometry(QtCore.QRect(100, 210, 51, 31))
self.lineEdit_6.setStyleSheet("background-color: rgb(255, 255, 255);n"
"border-radius: 6px;n"
"border: 1px solid black;")
self.lineEdit_6.setText("")
self.lineEdit_6.setObjectName("lineEdit_6")
self.label_9 = QtWidgets.QLabel(parent=self.tab)
self.label_9.setGeometry(QtCore.QRect(20, 260, 71, 31))
self.label_9.setObjectName("label_9")
self.lineEdit_8 = QtWidgets.QLineEdit(parent=self.tab)
self.lineEdit_8.setGeometry(QtCore.QRect(100, 260, 51, 31))
self.lineEdit_8.setStyleSheet("background-color: rgb(255, 255, 255);n"
"border-radius: 6px;n"
"border: 1px solid black;")
self.lineEdit_8.setText("")
self.lineEdit_8.setObjectName("lineEdit_8")
self.label_10 = QtWidgets.QLabel(parent=self.tab)
self.label_10.setGeometry(QtCore.QRect(400, 20, 51, 31))
self.label_10.setStyleSheet("background-color: rgb(255, 255, 255);n"
"border-radius: 6px;n"
"border: 1px solid black;")
self.label_10.setObjectName("label_10")
self.label_11 = QtWidgets.QLabel(parent=self.tab)
self.label_11.setGeometry(QtCore.QRect(400, 60, 51, 31))
self.label_11.setStyleSheet("background-color: rgb(255, 255, 255);n"
"border-radius: 6px;n"
"border: 1px solid black;")
self.label_11.setObjectName("label_11")
self.label_12 = QtWidgets.QLabel(parent=self.tab)
self.label_12.setGeometry(QtCore.QRect(460, 60, 51, 31))
self.label_12.setStyleSheet("background-color: rgb(255, 255, 255);n"
"border-radius: 6px;n"
"border: 1px solid black;")
self.label_12.setText("")
self.label_12.setObjectName("label_12")
self.label_13 = QtWidgets.QLabel(parent=self.tab)
self.label_13.setGeometry(QtCore.QRect(460, 20, 51, 31))
self.label_13.setStyleSheet("background-color: rgb(255, 255, 255);n"
"border-radius: 6px;n"
"border: 1px solid black;")
self.label_13.setText("")
self.label_13.setObjectName("label_13")
self.pushButton_2 = QtWidgets.QPushButton(parent=self.tab)
self.pushButton_2.setGeometry(QtCore.QRect(10, 320, 131, 31))
self.pushButton_2.setStyleSheet("background-color: rgb(0, 0, 0);n"
"color: rgb(255, 255, 255);n"
"font: 12pt "Arial";n"
"border-radius: 8px;")
self.pushButton_2.setObjectName("pushButton_2")
self.label_14 = QtWidgets.QLabel(parent=self.tab)
self.label_14.setGeometry(QtCore.QRect(500, 20, 21, 31))
self.label_14.setStyleSheet("background-color: rgb(255, 255, 255);n"
"border-radius: 6px;n"
"border: 1px solid black;")
self.label_14.setObjectName("label_14")
self.label_15 = QtWidgets.QLabel(parent=self.tab)
self.label_15.setGeometry(QtCore.QRect(500, 60, 21, 31))
self.label_15.setStyleSheet("background-color: rgb(255, 255, 255);n"
"border-radius: 6px;n"
"border: 1px solid black;")
self.label_15.setObjectName("label_15")
self.tabWidget.addTab(self.tab, "")
self.tab_2 = QtWidgets.QWidget()
self.tab_2.setObjectName("tab_2")
self.tableWidget = QtWidgets.QTableWidget(parent=self.tab_2)
self.tableWidget.setGeometry(QtCore.QRect(0, 0, 801, 591))
self.tableWidget.setObjectName("tableWidget")
self.tableWidget.setColumnCount(5)
self.tableWidget.setRowCount(1)
item = QtWidgets.QTableWidgetItem()
self.tableWidget.setVerticalHeaderItem(0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(1, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(2, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(3, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(4, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget.setItem(0, 4, item)
self.tableWidget.horizontalHeader().setDefaultSectionSize(130)
self.tableWidget.horizontalHeader().setMinimumSectionSize(50)
self.tableWidget.horizontalHeader().setStretchLastSection(True)
self.tableWidget.verticalHeader().setVisible(False)
self.tableWidget.verticalHeader().setDefaultSectionSize(70)
self.tableWidget.verticalHeader().setMinimumSectionSize(49)
self.tableWidget.verticalHeader().setSortIndicatorShown(False)
self.tableWidget.verticalHeader().setStretchLastSection(False)
self.tabWidget.addTab(self.tab_2, "")
MainWindow.setCentralWidget(self.centralwidget)
self.statusbar = QtWidgets.QStatusBar(parent=MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
self.tabWidget.setCurrentIndex(0)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.tabWidget.setWhatsThis(_translate("MainWindow", "<html><head/><body><p>Übersicht</p><p><br/></p></body></html>"))
self.label_3.setText(_translate("MainWindow", "Übersicht:"))
self.label_4.setText(_translate("MainWindow", "Titel des Projekts:"))
self.label_16.setText(_translate("MainWindow", "Beschreibung des Projekts:"))
self.label_18.setText(_translate("MainWindow", "X-Wert:"))
self.label_20.setText(_translate("MainWindow", "Y-Wert:"))
self.lineEdit_3.setPlaceholderText(_translate("MainWindow", "Projektname eingeben"))
self.lineEdit_4.setPlaceholderText(_translate("MainWindow", "Projektbeschreibung eingeben"))
self.lineEdit_13.setPlaceholderText(_translate("MainWindow", "  X-Wert"))
self.lineEdit_14.setPlaceholderText(_translate("MainWindow", "  Y-Wert"))
self.pushButton.setText(_translate("MainWindow", "Bestätigen"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_3), _translate("MainWindow", "Übersicht"))
self.label.setText(_translate("MainWindow", "Stück/Anzahl:"))
self.label_2.setText(_translate("MainWindow", "Bezeichnung:"))
self.label_6.setText(_translate("MainWindow", "Obere Kante:"))
self.lineEdit_5.setPlaceholderText(_translate("MainWindow", "X oder Y"))
self.label_8.setText(_translate("MainWindow", "Rechte Kante:"))
self.lineEdit_7.setPlaceholderText(_translate("MainWindow", "X oder Y"))
self.label_7.setText(_translate("MainWindow", "Untere Kante:"))
self.lineEdit_6.setPlaceholderText(_translate("MainWindow", "X oder Y"))
self.label_9.setText(_translate("MainWindow", "Rechte Kante:"))
self.lineEdit_8.setPlaceholderText(_translate("MainWindow", "X oder Y"))
self.label_10.setText(_translate("MainWindow", "X-Kante:"))
self.label_11.setText(_translate("MainWindow", "Y-Kante:"))
self.pushButton_2.setText(_translate("MainWindow", "Spalte hinzufügen"))
self.label_14.setText(_translate("MainWindow", "cm"))
self.label_15.setText(_translate("MainWindow", "cm"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("MainWindow", "Spalte hinzufügen"))
item = self.tableWidget.verticalHeaderItem(0)
item.setText(_translate("MainWindow", "Test"))
item = self.tableWidget.horizontalHeaderItem(0)
item.setText(_translate("MainWindow", "Stück/Anzahl"))
item = self.tableWidget.horizontalHeaderItem(1)
item.setText(_translate("MainWindow", "Bezeichnung"))
item = self.tableWidget.horizontalHeaderItem(2)
item.setText(_translate("MainWindow", "Breite"))
item = self.tableWidget.horizontalHeaderItem(3)
item.setText(_translate("MainWindow", "Höhe"))
item = self.tableWidget.horizontalHeaderItem(4)
item.setText(_translate("MainWindow", "Kantenbild"))
__sortingEnabled = self.tableWidget.isSortingEnabled()
self.tableWidget.setSortingEnabled(False)
self.tableWidget.setSortingEnabled(__sortingEnabled)
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("MainWindow", "Tabelle"))

if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec())

我只是试着写函数"giveDatatoÜbersicht"写得短一点:

def giveDatatoÜbersicht(self):
self.label_5 = self.lineEdit_3.text()
self.label_17= self.lineEdit_4.text()
self.label_19 = self.lineEdit_13.text()
self.label_21= self.lineEdit_14.text()

python只能读取ASCII字符,而Ü不是ASCII字符。同样,这也不适用于这种情况,因为python解释器崩溃了,而不是pyqt6,但是如果你得到'Process finished with exit code -1'或任何非0的数字,那么使用try exception语句打印错误。