currentText()不从字段收集数据

2024-09-30 03:23:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我的程序目前分为两个文件:一个带有GUI,另一个带有代码。在GUI中,我想使用一个按钮从文本字段中收集数据并将其放入变量中:

self.dodaj.clicked.connect(Dodaj_Ksiazke.pobierz_dane)

它应该调用函数“pobierz\u dane”。在代码中有一个类“Main”,其中定义了上述函数:

def pobierz_dane(self):
    print("Pobieranie danych z formularza do zmiennych")
    print(self.ui.isbn.currentText())
    isbn = self.ui.isbn.currentText()
    print(isbn)

如你所见,我尝试了各种方法来确认它的工作。当我启动程序并单击按钮时,会显示第一个打印,但不会显示第二个或第三个打印,这是程序因错误而崩溃的地方:

Process finished with exit code -1073740791 (0xC0000409)

我试图从中获取文本的文本字段定义如下:

    self.isbn = QtWidgets.QLineEdit(self.centralwidget)
    self.isbn.setObjectName("isbn")
    self.gridLayout_2.addWidget(self.isbn, 1, 2, 1, 1)

这是GUI定义的开始:

class Ui_Dodaj_Ksiazke(object):
    def setupUi(self, Dodaj_Ksiazke):

以及文件中的主类,代码为:

class Main(QtWidgets.QMainWindow,Ui_Dodaj_Ksiazke):
    def __init__(self):
       QtWidgets.QMainWindow.__init__(self)
       self.ui= Ui_Dodaj_Ksiazke()
       self.ui.setupUi(self)

由于第一次打印工作,我猜按钮正确调用函数。但我不知道为什么它不工作的文本字段,因为我没有得到任何错误时,运行程序


Tags: 代码文本self程序ui定义defgui
1条回答
网友
1楼 · 发布于 2024-09-30 03:23:55

从currentText()切换到displayText()解决了这个问题,因为QLineEdit中没有属性“currentText”

isbn = self.ui.isbn.displayText()

文本取自正确存储在变量中的文本字段,由print()显示,程序不会崩溃

相关问题 更多 >

    热门问题