繁体   English   中英

currentText()不从字段收集数据

[英]currentText() doesn't collect data from field

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

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

应该将其称为“ pobierz_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)

由于第一个打印正常,我猜按钮可以正确调用该函数。 但是我无法确定为什么它不适用于文本字段,因为在运行程序时没有出现任何错误。

通过从currentText()切换到displayText()解决了问题,因为QLineEdit中没有属性'currentText'。

isbn = self.ui.isbn.displayText()

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM