Форум сайта python.su
Я только начал изучать Python и PYQT
Пытаюсь сделать GUI программу, мне нужно сделать что бы:
1.При запуске выводилось поле для ввода: базы данных (что бы можно было выбрать из списка) логин и пароль
2.В базах есть пользователи с правами доступа
3.При авторизации в базе нужно открыть меню в зависимости от прав доступа.
Подскажите пожалуйста с чего начать, вроде в голове придумал как сделать, но не как не могу реализовать в коде.
Офлайн
Помогите доработать код, уже перелазил весь гугл не как не могу понять как сделать сверку (логин,пароль,группа)
в БД есть таблица users поля (id,login,password,group)
#!/usr/bin/env python # -*- coding: utf-8 -*- import sys from PyQt5.QtWidgets import QApplication, QDialog, QGridLayout, QMessageBox, QLabel, QPushButton, QLineEdit, QSpinBox from PyQt5 import uic from PyQt5.QtSql import QSqlDatabase, QSqlQuery class Dialogo(QDialog): def __init__(self): QDialog.__init__(self) uic.loadUi("login.ui", self) self.setWindowTitle("Авторизация") # Title self.resize(250, 250) # Размер окна self.setMinimumSize(250, 150) # Минимальный размер окна self.setMaximumSize(250, 250) # Максимальный размер окна self.db_ok.clicked.connect(self.getDb) # Переход на getDb при нажатии на ОК self.db_cancel.clicked.connect(self.dbCancel) def getDb(self): useDb = self.db_combobox.currentText() # Выбор базы login = self.db_login.text() # Логин password = self.db_password.text() # Пароль self.db = QSqlDatabase.addDatabase('QMYSQL') # Драйвер для Mysql self.db.setHostName("localhost") self.db.setUserName("root") self.db.setPassword("root") self.db.setDatabaseName(useDb) self.db.open() query = QSqlQuery() query.prepare("SELECT * FROM users WHERE login = :login AND password = :password") query.bindValue(":login", login) query.bindValue(":password", password) query.exec_() if query.next(): return True return False def dbCancel(self): self.close() app = QApplication(sys.argv) dialogo = Dialogo() dialogo.show() app.exec_()
Офлайн