pyqt5 python 如何触发其他类或控件的事件

想要: 在当前类或代码块触发另一个类或控件的事件,如 keypress , key_return 等

思路:被触发的控件需要单独写成一个类,定义好需要被触发的事件;然后在当前类或程序块调用该控件的event 事件函数,传入对应的 QEvent参数即可。

import sys
from  PyQt5.Qt import *
from PyQt5 import QtWidgets

app = QApplication(sys.argv)

class mypb(QPushButton):
    def enterEvent(self, e):
        print('entered pushbutton!')

class w_test(QWidget):
    def __init__(self):
        super(w_test, self).__init__()

        self.pb_enter = mypb('ENTER ME', self)
        self.pb_enter.setText('ba')
        self.pb_test = QPushButton('trigger', self)
        self.pb_test.clicked.connect(self.f_trigger)
        self.init()

    def init(self):
        self.resize(500,300)
        self.pb_enter.resize(100,60)
        self.pb_enter.move(100, 100)
        self.pb_test.resize(100, 60)
        self.pb_test.move(300, 100)

    def enterEvent(self, e):
        print('entered widget!')

    def f_trigger(self):
        self.pb_enter.enterEvent(QEvent.Enter)
        print('I triggered another control\'s event!')

w = w_test()
w.show()
sys.exit(app.exec())
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值