Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » Python PyQt5 как правильно передать данные из QLineEdit? [RSS Feed]

#1 Июль 8, 2019 12:51:19

dima_ikar
Зарегистрирован: 2019-05-03
Сообщения: 28
Репутация: +  0  -
Профиль   Отправить e-mail  

Python PyQt5 как правильно передать данные из QLineEdit?

Помогите разобраться с обработкой данных из QLineEdit
кусочек ввода
self.login1 = QLineEdit(Teco)
self.login1.setGeometry(QtCore.QRect(90, 70, 113, 20))
self.login1.setObjectName(“login”)
———————————————————-
и его обработчик
self.login1 = self.login1.text()
self.password = self.password.text()
print(str(self.login1), str(self.password))
if str(self.login1) in str(logInZ):
if str(self.password) == str(passWdZ):
messagebox.showinfo(“Hello”, self.login1)
else:
messagebox.showerror(“Mo Passord”)
self.close_window()
else:
messagebox.showerror(“No login”, self.login1)
self.close_window()
———————————————–
все хорошо НО программа при закрытии окна вылетает с ошибкой памяти
Process finished with exit code -1073740791 (0xC0000409)

Офлайн

#2 Июль 8, 2019 12:55:46

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Python PyQt5 как правильно передать данные из QLineEdit?

ну так покажите весь код, что у вас в self.close_window()? что такое вообще этот ваш self?

 if str(self.login1) in str(logInZ):
if str(self.password) == str(passWdZ)
это плохой пример, хранить логины-пароли в памяти в открытом виде.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Июль 8, 2019 13:01:31)

Офлайн

#3 Июль 8, 2019 13:01:10

dima_ikar
Зарегистрирован: 2019-05-03
Сообщения: 28
Репутация: +  0  -
Профиль   Отправить e-mail  

Python PyQt5 как правильно передать данные из QLineEdit?

Вот мой весь код
—————————————————————–
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
import tkinter
from tkinter import messagebox
class Ui_Dialog(QMainWindow):
window_height = 300
window_width = 400
def setupUi(self, Teco):
Teco.setWindowIcon(QIcon('logo1.png'))
Teco.setObjectName(“Teco”)
Teco.setFixedSize(self.window_height, self.window_width)
oImage = QImage(“6706.jpg”)
sImage = oImage.scaled(QSize(self.window_height, self.window_width))
palette = QPalette()
palette.setBrush(QPalette.Window, QBrush(sImage))
Teco.setPalette(palette)
font = QtGui.QFont()
font.setPointSize(10)
Teco.setFont(font)
self.enter = QtWidgets.QPushButton(Teco)
self.enter.setGeometry(QtCore.QRect(60, 200, 75, 23))
self.enter.setObjectName(“enter”)
self.enter.setToolTip('Next page')
self.enter.clicked.connect(self.showDialog)
self.quit = QtWidgets.QPushButton(Teco)
self.quit.setGeometry(QtCore.QRect(160, 200, 75, 23))
self.quit.setObjectName(“Quit”)
self.quit.clicked.connect(QCoreApplication.instance().quit)
self.login = QLineEdit(Teco)
self.login.setGeometry(QtCore.QRect(90, 70, 113, 20))
self.login.setObjectName(“login”)
self.password = QLineEdit(Teco)
self.password.setEchoMode(QLineEdit.Password)
self.password.setGeometry(QtCore.QRect(90, 150, 113, 20))
self.password.setObjectName(“password”)
layout = QFormLayout()
layout.addRow('Login:', self.login)
layout.addRow('Password:', self.password)
self.label = QtWidgets.QLabel(Teco)
self.label.setGeometry(QtCore.QRect(90, 20, 120, 41))
font = QtGui.QFont()
font.setPointSize(10)
font.setBold(True)
font.setWeight(75)
self.label.setFont(font)
self.label.setLayoutDirection(QtCore.Qt.LeftToRight)
self.label.setObjectName(“label”)
self.label_2 = QtWidgets.QLabel(Teco)
self.label_2.setGeometry(QtCore.QRect(90, 100, 141, 41))
font = QtGui.QFont()
font.setPointSize(10)
font.setBold(True)
font.setWeight(75)
self.label_2.setFont(font)
self.label_2.setLayoutDirection(QtCore.Qt.LeftToRight)
self.label_2.setObjectName(“label_2”)
self.retranslateUi(Teco)
QtCore.QMetaObject.connectSlotsByName(Teco)
def retranslateUi(self, Teco):
_translate = QtCore.QCoreApplication.translate
Teco.setWindowTitle(_translate(“Teco”, “Teco Monitoring”))
self.enter.setText(_translate(“Teco”, “Enter”))
self.quit.setText(_translate(“Teco”, “Quit”))
self.label.setText(_translate(“Teco”, “Enter your name:”))
self.label_2.setText(_translate(“Teco”, “Enter your pass:”))
def showDialog(self):
root = tkinter.Tk()
root.withdraw()
logInZ = ‘dima’
passWdZ = ‘123’
self.login = self.login.text()
self.password = self.password.text()
print(str(self.login), str(self.password))
if self.login in logInZ:
if self.password == passWdZ:
messagebox.showinfo(“Hello”, self.login)
else:
messagebox.showerror(“Mo Passord”)
self.close_window()
else:
messagebox.showerror(“No login”, self.login)
self.close_window()
if __name__ == “__main__”:
app = QtWidgets.QApplication(sys.argv)
Teco = QtWidgets.QDialog()
ui = Ui_Dialog()
ui.setupUi(Teco)
Teco.show()
sys.exit(app.exec_())

Офлайн

#4 Июль 8, 2019 13:02:17

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Python PyQt5 как правильно передать данные из QLineEdit?

код в теги

[code python][/code]
иначе ХЗ что там у вас



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

#5 Июль 8, 2019 13:02:45

dima_ikar
Зарегистрирован: 2019-05-03
Сообщения: 28
Репутация: +  0  -
Профиль   Отправить e-mail  

Python PyQt5 как правильно передать данные из QLineEdit?

PEHDOM
ну так покажите весь код, что у вас в self.close_window()? что такое вообще этот ваш self?
это как вариант - понятно что он будет с базы браться потом
Ниже весь мой код

Офлайн

#6 Июль 8, 2019 13:33:23

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Python PyQt5 как правильно передать данные из QLineEdit?

dima_ikar
Ниже весь мой код
все же не весь,
1. код нужно помещать в теги
[code python][/code]
2. непонятно что же делает self.close_window() но это точно не метод QMainWindow, я гарантирую вам это.
3. зачем использвать tkinter для мессджбокса? чем не устраивает QMessageBox?



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Июль 8, 2019 13:35:09)

Офлайн

#7 Июль 8, 2019 14:07:23

dima_ikar
Зарегистрирован: 2019-05-03
Сообщения: 28
Репутация: +  0  -
Профиль   Отправить e-mail  

Python PyQt5 как правильно передать данные из QLineEdit?

все вопрос решился
if (self.password == passWdZ):

Офлайн

  • Начало
  • » GUI
  • » Python PyQt5 как правильно передать данные из QLineEdit?[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version