Russian Qt Forum
Май 04, 2024, 05:59 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: [1]
1  Qt / Пользовательский интерфейс (GUI) / Re: PyQt5 обработка событий (Events), событие и его источник : Октябрь 25, 2021, 11:42
Врядли
Нужно либо класс кнопки переопределять, либо класс, который будет получать события кнопки (eventFilter)

Поможете с реализацией второго варианта?
Цитировать
либо класс, который будет получать события кнопки (eventFilter)
2  Qt / Пользовательский интерфейс (GUI) / Re: PyQt5 обработка событий (Events), событие и его источник : Октябрь 22, 2021, 00:52
унаследуйся от QMainWindow, перенеси создание кнопки внутрь, вместо btn.clicked.connect(ButtonsOnclick) используй btn.installEventFilter(self), добавь метод eventFilter и в нем обрабатывай только нужные QEvent. см. документацию к installEventFilter и eventFilter для подробностей.

А без парадигм ООП-наследования, невозможно? Шокированный Непонимающий
3  Qt / Пользовательский интерфейс (GUI) / Re: PyQt5 обработка событий (Events), событие и его источник : Октябрь 20, 2021, 11:29
тебе надо смотреть в сторону QEvent и eventFilter

Смотрел, не понимаю как прикрутить.
4  Qt / Пользовательский интерфейс (GUI) / PyQt5 обработка событий (Events), событие и его источник : Октябрь 19, 2021, 18:55
Здравствуйте. Пишу GUI программу на Python, мне необходимо узнать в процедуре-обработчике какое событие (Нажатие, удержание, отпускание клавиши) произошло?

Код:
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton
app = QApplication(sys.argv)
MainWindow = QMainWindow()
MainWindow.resize(300,300)
btn = QPushButton('test',MainWindow)
btn.setObjectName('Button1')
def ButtonsOnclick():
    global MainWindow
    print('Click')
    print(MainWindow.sender().objectName())
btn.clicked.connect(ButtonsOnclick)

MainWindow.show()
sys.exit(app.exec_())

Источник события я знаю как найти - MainWindow.sender(), но как получить событие?
Страниц: [1]

Страница сгенерирована за 0.075 секунд. Запросов: 24.