Почему editText не показывает пользовательский ввод в классе Python?

У меня есть класс Python, который отображает окно, которое содержит 2 текстовых поля и 2 кнопки.

Там, где пользователь вводит строку в первом тексте редактирования, и при щелчке (кнопка открытия) второй текст редактирования отображает пользовательский ввод.

Проблема в том, что при нажатии на кнопку в текстовом поле ничего не отображается.

Код:

'''
1- import the libraries from the converted file
2- import the converted file 
'''
from PyQt5 import QtCore, QtGui, QtWidgets
import pathmsgbox 
import os 
import pathlib

class path_window(pathmsgbox.Ui_PathMSGbox):


    def __init__(self,windowObject ):
        self.windowObject = windowObject
        self.setupUi(windowObject)
        self.windowObject.show()
        self.getText()


    '''
    get the userInput  from the EditLine
    '''   

    def getText(self):
        inputUser = self.pathEditLine.text()
        outPutUser = self.outputPathName.setText(inputUser)
        print(outPutUser)

    def puchBtn(self):
        openButton = self.PathOpenBtn.clicked.connect(self.getText)    
'''
function that exit from the system after clicking "cancel"
'''
def exit():
    sys.exit()

'''
define the methods to run only if this is the main module deing run
the name take __main__ string only if its the main running script and not imported 
nor being a child process
'''
if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    PathMSGbox = QtWidgets.QWidget()
    pathUi = path_window(PathMSGbox)
    pathUi.pathCancelBtn.clicked.connect(exit)
    sys.exit(app.exec_())

1 ответ

Решение

Вы не подключаете событие нажатия кнопки к функции - привязка находится в функции, которая никогда не вызывается.

Просто подключите свою кнопку в инициализации класса:

class path_window(pathmsgbox.Ui_PathMSGbox):


    def __init__(self,windowObject ):
        self.windowObject = windowObject
        self.setupUi(windowObject)
        self.windowObject.show()
        self.PathOpenBtn.clicked.connect(self.getText)
        self.getText()
Другие вопросы по тегам