Dopiero zaczynam programować i nie wiem jak to naprawić. Program uruchamia się ale po kliknięciu przycisku dodaj punkt program zamyka się i pojawia się Process finished with exit code -1073740791 (0xC0000409).
Bardzo proszę o pomoc.
from PyQt5.QtWidgets import QHBoxLayout, QVBoxLayout
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QDialog, QDialogButtonBox
from PyQt5.QtWidgets import QLabel, QLineEdit
from PyQt5.QtWidgets import QGridLayout
class Ui_Widget(object):
def setupUi(self, Widget):
Widget.setObjectName("Widget")
# tabelaryczny widok danych
self.widok = QTableView()
# przyciski Push ###
self.dodaj_punktyBtn = QPushButton("Dodaj punkty")
# układ przycisków Push ###
uklad = QHBoxLayout()
uklad.addWidget(self.dodaj_punktyBtn)
# główny układ okna ###
ukladV = QVBoxLayout(self)
ukladV.addWidget(self.widok)
ukladV.addLayout(uklad)
# właściwości widżetu ###
self.setWindowTitle("SENS")
self.resize(500, 300)
class OknoDodawaniaPunktu(QDialog):
def __init__(self, parent=None):
super(OknoDodawaniaPunktu, self).__init__(parent)
# etykiety, pola edycyjne i przyciski ###
nrLbl = QLabel("Nr")
współrzędnaxLbl = QLabel('X')
współrzędanayLbl = QLabel('Y')
współrzędanahLbl = QLabel("H")
self.nr = QLineEdit()
self.współrzędnax = QLineEdit()
self.współrzędnay = QLineEdit()
self.współrzędnah = QLineEdit()
self.przyciski = QDialogButtonBox(
QDialogButtonBox.Ok | QDialogButtonBox.Cancel,
Qt.Horizontal, self)
# układ główny ###
uklad = QGridLayout(self)
uklad.addWidget(nrLbl, 0, 0)
uklad.addWidget(współrzędnaxLbl, 1, 0)
uklad.addWidget(współrzędnayLbl, 2, 0)
uklad.addWidget(współrzędnahLbl, 3, 0)
uklad.addWidget(self.nr, 0, 1)
uklad.addWidget(self.współrzędnax, 1, 1)
uklad.addWidget(self.współrzędnay, 2, 1)
uklad.addWidget(self.współrzędnah, 3, 1)
uklad.addWidget(self.przyciski, 4, 0, 4, 0)
# sygnały i sloty ###
self.przyciski.accepted.connect(self.accept)
self.przyciski.rejected.connect(self.reject)
# właściwości widżetu ###
self.setModal(True)
self.setWindowTitle('Logowanie')
def OknoDodawaniaPunktu(self):
return (self.nr.text().strip(),
self.współrzędnax.text().strip(),
self.współrzędnay.text().strip(),
self.współrzędnah.text().strip())
# metoda statyczna, tworzy dialog i zwraca
@staticmethod
def getOknoDodawaniaPunktu(parent=None):
dialog = OknoDodawaniaPunktu(parent)
dialog.współrzędnax.setFocus()
ok = dialog.exec_()
nr, współrzędnax, współrzędnay, współrzędnah = dialog.OknoDodawaniaPunktu()
return (nr, współrzędnax, współrzędnay, współrzędnah, ok == QDialog.Accepted)
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtWidgets import QMessageBox, QInputDialog
from interfejs_głównego_okna import Ui_Widget, OknoDodawaniaPunktu
class Dodawaniepunktu(QWidget, Ui_Widget):
def __init__(self, parent=None):
super(Dodawaniepunktu, self).__init__(parent)
self.setupUi(self)
self.dodaj_punktyBtn.clicked.connect(self.dodaj_punkt)
def dodaj_punkt(self):
nr, współrzędnax, współrzędnay, współrzędnah, ok = OknoDodawaniaPunktu.getOknoDodawaniaPunktu(self)
if not ok:
return
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
okno = Dodawaniepunktu()
okno.show()
okno.move(350, 200)
sys.exit(app.exec_())