我正在编写一个小型 GUI 程序(Python 3 + PyQt5 + Pyrogram)。
需要通过按下主按钮来创建一定数量的按钮。
这个想法是每个新创建的按钮最初都应该打开一个带有空字段的授权窗口。
填写字段并成功授权后,此按钮后面应保留一个包含所有输入数据的窗口。
即关闭该按钮的授权窗口后,再点击一次,它应该打开的不是一个空的授权窗口,而是完全填满了用户输入的数据。
对于后续的新按钮,与第一个类似。
请告诉我如何做到这一点?
我附上一个代码片段:
class main_window(QMainWindow):
def __init__(self):
super().__init__()
self.addButton = QPushButton('Add new user')
self.addButton.clicked.connect(self.test_add_but)
self.scrollLayout = QFormLayout()
self.scrollWidget = QWidget()
self.scrollWidget.setLayout(self.scrollLayout)
self.scrollArea = QScrollArea()
self.scrollArea.setWidgetResizable(True)
self.scrollArea.setWidget(self.scrollWidget)
self.mainLayout = QVBoxLayout()
self.mainLayout.addWidget(self.addButton)
self.mainLayout.addWidget(self.scrollArea)
self.centralWidget = QWidget()
self.centralWidget.setLayout(self.mainLayout)
self.setCentralWidget(self.centralWidget)
self.setFixedSize(400, 400)
self.setWindowTitle('Sender')
self.show()
def add_new_user(self):
self.win_new_user = second_window()
self.win_new_user.setFixedSize(700, 500)
self.win_new_user.show()
def test_add_but(self):
self.button = QPushButton('New user (need authorization)')
self.scrollLayout.addRow(self.button)
self.button.clicked.connect(self.add_new_user)
class second_window(QWidget):
#Данный класс окна авторизации
# ...
if __name__ == '__main__':
app = QApplication([])
myWidget = main_window()
sys.exit(app.exec_())
试图做你想做的事。尝试。
在运行程序之前,您唯一需要做的就是创建一个
testDb.ini. 我将数据存储在其中。在这个文件中,一行 -[myDate]测试数据库.ini
主文件