Если я понял ваш вопрос, вы хотели открыть QDialog
из строки меню QMainWindow
, верно?
Для этого это простой подход:
import sys
from PySide2.QtCore import Slot
from PySide2.QtWidgets import (QApplication, QMainWindow, QAction,
QDialog, QLabel, QHBoxLayout)
class Dialog(QDialog):
def __init__(self):
QDialog.__init__(self)
layout = QHBoxLayout()
layout.addWidget(QLabel("Hello World"))
self.setLayout(layout)
class MainWindow(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
self.menu = self.menuBar()
self.test_menu = self.menu.addMenu("Test")
self.hello_action = QAction("hello", self)
self.hello_action.triggered.connect(self.hello_dialog)
self.test_menu.addAction(self.hello_action)
@Slot()
def hello_dialog(self, checked):
dialog = Dialog()
dialog.exec_()
if __name__ == "__main__":
app = QApplication()
window = MainWindow()
window.show()
sys.exit(app.exec_())
Некоторые хороший глюк безопасности
Я нашел их статьей очень полезный в создании систем входа в систему с cookie:
Это не то, что трудно, и забава кодировать, как новичок.
Вам нужно место, чтобы хранить Ваши данные (скажем, mysql база данных).
У Вас должны, по крайней мере, быть поле входа в систему и поле пароля. (пароль должен быть сохранен crypter, использующий sha1 (), например).
Теперь, необходимо отобразить форму входа в систему. Я предполагаю, что это хорошо для Вас.
Что должно быть сделано, каждый раз, когда мы получаем вход в систему и пароль?
Запросите базу данных, чтобы видеть, существует ли соответствие с login_base == login_form и password_base == sha1 (password_form).
Если да, Вы устанавливаете что-то, как сессия, например.
Таким образом на странице, где нужно быть зарегистрирован, только необходимо проверить, существует ли набор сессии.
Это для основания; затем можно добавить некоторые уровни и так далее.
"Вы поместите глаз ребенок".
Безопасность трудна. Я очень не хочу сказать это, но разногласия Вас делающий простую схему авторизации, которая безопасна, являются довольно тонкими. Здесь нет никакого легкого режима. Таким образом, Вы могли бы хотеть запуститься путем прочтения набора кода аутентификации в различном frameworks/cmses и других мест, где Вы видите, как другие сделали его, и начинают исследовать.
Вот некоторые ссылки: http://www.topmost.se/personal/articles/casual-cryptography-for-web-developers.htm http://pear.php.net/packages.php?catpid=1
Я нахожу, что для некоторого использования, создавая мою собственную аутентификацию HTTP использования достаточно. Я рекомендовал бы это как начальную точку.
Так как у Вас есть своя собственная основная платформа, не должно быть слишком трудно включать код аутентификации в некоторое место, которое является общим.
Некоторые преимущества
Недостатки
--
bmb