Как при нажатии на кнопку срабатывало несколько функций. PyQt5
Только начинаю работать с PyQt5, поэтому многое не понимаю. Для приложения необходимо при нажатии на кнопку срабатывание нескольких функций, закрытие элементов и открытие необходимых по другой функции. Метод clicked.connect может принимать только 1 аргумент, поэтому не знаю как решить проблему.
class untitled(QtWidgets.QMainWindow):
def __init__(self):
#Присоединение окна
super().__init__()
self.ui = Ui_Dialog()
self.ui.setupUi(self)
self.ui.goin.clicked.connect(self.ui.closed)
self.ui.goin_2.clicked.connect(self.ui.closed)
Вот второй файл с функциями:
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Dialog(object):
def setupUi(self, Dialog):
#Работа с окном
Dialog.setFixedSize(800, 500)
palette = QtGui.QPalette()
palette.setColor(QtGui.QPalette.Background, QtCore.Qt.white)
Dialog.setPalette(palette)
Dialog.setWindowTitle("Synaptik")
font = QtGui.QFont()
#Текст авторизации
self.autorithetion = QtWidgets.QPushButton(Dialog)
self.autorithetion.setGeometry(QtCore.QRect(250, 60, 300, 50))
font.setFamily("Candara Light")
font.setPointSize(35)
self.autorithetion.setFont(font)
self.autorithetion.setStyleSheet("background-color: rgba(0, 0, 0, 0);")
#Кнопка Входа
self.goin = QtWidgets.QPushButton(Dialog)
self.goin.setGeometry(QtCore.QRect(300, 250, 200, 40))
font.setFamily("Candara Light")
font.setPointSize(16)
self.goin.setFont(font)
# Кнопка Регистрации
self.goin_2 = QtWidgets.QPushButton(Dialog)
self.goin_2.setGeometry(QtCore.QRect(300, 310, 200, 40))
font.setFamily("Candara Light")
font.setPointSize(16)
self.goin_2.setFont(font)
#Установка текста
self.autorithetion.setText("Авторизация")
self.goin.setText("Войти")
self.goin_2.setText("Зарегистрироваться")
def closed(self):
self.goin.close()
self.goin_2.close()
self.autorithetion.close()
def openned_1(self):
self.autorithetion.show()
Ответы (1 шт):
Автор решения: assert
→ Ссылка
Если я правильно понял-то попробуйте в lambda записать функции которые вы вызываете через кому вот таким вот образом
self.ui.goin.clicked.connect(lambda : (self.ui.closed, self.ui.openned_1))
или создать отдельную функцию которая будет вызывать остальные функции
def show():
self.ui.closed()
self.ui.openned_1()
self.ui.goin.clicked.connect(self.show)