PyQt学习笔记

toggle()、triggered()、clicked()区别

这三个信号都是按钮点击后发射的信号,区别在于:

clicked()用于Button发射的信号
triggered()用于QAction发射的信号,原型:void triggered(bool checked = false);
toggle()用于ChekBox,非开即关,原型:void toggled(bool);

菜单和工具栏

状态栏

在QMainWindow继承上:

def initUI(self):
    self.statusBar().showMessage('Ready')

QMainWindow类第一次调用statusBar()方法创建一个状态栏。后续调用返回的状态栏对象。showMessage()状态栏上显示一条消息。

 

菜单栏

def initUI(self):               
        exitAction = QAction(QIcon('exit.png'), '&Exit', self)        
        exitAction.setShortcut('Ctrl+Q')
        exitAction.setStatusTip('Exit application')
        exitAction.triggered.connect(qApp.quit)#调用qApp.quit,终止应用程序
 
        self.statusBar()
 
        #创建一个菜单栏
        menubar = self.menuBar()
        #添加菜单
        fileMenu = menubar.addMenu('&File')
        #添加事件
        fileMenu.addAction(exitAction)

 QAction可以操作菜单栏,工具栏,或自定义键盘快捷键。上面三行,我们创建一个事件和一个特定的图标和一个“退出”的标签。然后,在定义该操作的快捷键。
第四行创建一个鼠标指针悬停在该菜单项上时的提示。

工具栏

def initUI(self):               
        exitAction = QAction(QIcon('exit24.png'), 'Exit', self)
        exitAction.setShortcut('Ctrl+Q')
        exitAction.triggered.connect(qApp.quit)
        
        self.toolbar = self.addToolBar('Exit')
        self.toolbar.addAction(exitAction)

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PyQt中的事件(event)是指与用户交互、系统操作或其他操作相关的动作或状态变化。在PyQt中,可以使用QEvent类和相关方法处理和管理事件。 在给定的代码示例中,通过继承QWidget类并重写eventFilter()方法,可以使用QEvent处理鼠标事件。在eventFilter()方法中,通过判断事件类型(event.type())为QEvent.MouseButtonPress来处理鼠标点击事件,并打印出鼠标点击的坐标。通过调用super().eventFilter(obj, event)将事件传递给父类进行处理。 同时,在PyQt中,还可以使用其他与QEvent相关的方法来处理事件。例如,使用QObject.installEventFilter()方法来安装事件过滤器,QObject.event()方法来处理事件,QCoreApplication.sendEvent()和QCoreApplication.postEvent()方法来发送事件,以及QCoreApplication.processEvents()方法来处理所有待处理的事件。 总结而言,PyQt中的事件是通过QEvent类和相关方法来处理和管理的,这些方法包括QObject.event()、QObject.installEventFilter()、QCoreApplication.sendEvent()、QCoreApplication.postEvent()和QCoreApplication.processEvents()。通过重写eventFilter()方法,可以使用QEvent处理特定类型的事件,如鼠标事件。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [PyQt学习笔记:Qt事件处理QEvent详解python](https://blog.csdn.net/ai52learn/article/details/131180266)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [PyQt学习随笔:Qt事件类QEvent详解](https://blog.csdn.net/LaoYuanPython/article/details/102527965)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值