2015-09-23 2 views
1

enter image description hereНевозможно напечатать значение LineEdit в питона

enter image description here

class Ui_Form(QtWidgets.QWidget): 

def __init__(self): 

    super(self.__class__, self).__init__() 
    self.setupUi(self) 


def setupUi(self, Form): 
    Form.setObjectName("Form") 
    Form.resize(410, 325) 
    font = QtGui.QFont() 
    font.setBold(True) 
    font.setUnderline(False) 
    font.setWeight(75) 
    Form.setFont(font) 
    self.gridLayout = QtWidgets.QGridLayout(Form) 
    self.gridLayout.setObjectName("gridLayout") 
    self.verticalLayout = QtWidgets.QVBoxLayout() 
    self.verticalLayout.setObjectName("verticalLayout") 
    self.label = QtWidgets.QLabel(Form) 
    font = QtGui.QFont() 
    font.setPointSize(12) 
    self.label.setFont(font) 
    self.label.setObjectName("label") 
    self.verticalLayout.addWidget(self.label) 
    self.label_4 = QtWidgets.QLabel(Form) 
    self.label_4.setObjectName("label_4") 
    self.verticalLayout.addWidget(self.label_4) 
    self.lineEdit_2 = QtWidgets.QLineEdit(Form) 
    self.lineEdit_2.setObjectName("lineEdit_2") 
    self.verticalLayout.addWidget(self.lineEdit_2) 
    self.label_5 = QtWidgets.QLabel(Form) 
    self.label_5.setObjectName("label_5") 
    self.verticalLayout.addWidget(self.label_5) 
    self.lineEdit = QtWidgets.QLineEdit(Form) 
    self.lineEdit.setObjectName("lineEdit") 
    self.verticalLayout.addWidget(self.lineEdit)  
    spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum) 
    self.verticalLayout.addItem(spacerItem) 
    self.horizontalLayout = QtWidgets.QHBoxLayout() 
    self.horizontalLayout.setObjectName("horizontalLayout") 
    self.pushButton_2 = QtWidgets.QPushButton(Form) 
    self.pushButton_2.setObjectName("pushButton_2") 
    self.horizontalLayout.addWidget(self.pushButton_2) 
    self.pushButton = QtWidgets.QPushButton(Form) 
    self.pushButton.setObjectName("pushButton") 
    self.horizontalLayout.addWidget(self.pushButton) 
    self.verticalLayout.addLayout(self.horizontalLayout) 
    self.progressBar = QtWidgets.QProgressBar(Form) 
    self.progressBar.setProperty("value", 0) 
    self.progressBar.setObjectName("progressBar") 
    self.verticalLayout.addWidget(self.progressBar) 
    self.gridLayout.addLayout(self.verticalLayout, 0, 0, 1, 1) 

    self.pushButton_2.clicked.connect(self.Entrar) 
    self.pushButton.clicked.connect(self.Cadastrar) 


    self.retranslateUi(Form) 
    QtCore.QMetaObject.connectSlotsByName(Form) 

def retranslateUi(self, Form): 
    _translate = QtCore.QCoreApplication.translate 
    Form.setWindowTitle(_translate("Form", "Gerenciador de Ordem de Serviço")) 
    self.label.setText(_translate("Form", "Faça login ou cadastre-se")) 
    self.label_4.setText(_translate("Form", "Login:")) 
    self.label_5.setText(_translate("Form", "Senha:")) 
    self.pushButton_2.setText(_translate("Form", "Entrar")) 
    self.pushButton.setText(_translate("Form", "Cadastrar")) 


def Entrar(self): #aqui faz a busca dos dados de cadastro, se corretos e cadastrados vai para programa principal 
     log = self.lineEdit.text() 
     passw = self.lineEdit_2.text() 
     logqry = 'SELECT NomeUsu FROM registro WHERE NomeUsu =' + "\""+ log +"\"" 
     passqry = 'SELECT SenhaProg FROM registro WHERE SenhaProg =' + "\"" + passw + "\"" 
     print(self.lineEdit.text()) 
     print(log) 
     print(passw) 
     print(logqry) 
     print(passqry) 

Привет, у меня есть эта часть моего кода, является то, что графический интерфейс, и сделали метод, который он, как предполагается печатать значение значения LineEdit и LineEdit_2, но когда я запускаю событие, которое ничего не показывает, например, строкаEdit была пуста.

Может ли кто-нибудь помочь? Извините за любую грамматическую ошибку.

+0

Вы уверены, что 'lineEdit_2' не пусто? – ForceBru

+0

Да, я запускаю программу, и они пишут что-то в обеих линиях, но когда я нажимаю кнопку, которая ничего не печатает –

+0

, вы на самом деле вызываете метод Entrar? Из этого кода кажется, что это не так. – ForceBru

ответ

0

log и passw не обычные строки Python, они QString s, поэтому для их печати вам необходимо сначала преобразовать их в строки.

log = str(self.lineEdit.text()) 
passw = str(self.lineEdit_2.text()) 

Или, если вы хотите, чтобы они были QString s, печатать их следующим образом

print("%s\n%s" % log,passw) 
+0

все еще не работает –

+0

Это странно. Где вы ожидаете печати этих строк? – ForceBru

+0

Реальное приложение должно использовать эти две переменные для выполнения запроса в sqlite3, я просто приглашаю в Python Shell проверить, почему эти переменные не отображаются в моем sql-запросе. –

Смежные вопросы