PyQt5入门(四)信号与槽(Qt核心机制,本章为重中之重!!!)

在Qt Designer中设置信号与槽

信号(signal)
槽(slot)
是Qt的核心机制,也是PyQt的核心机制
信号:是由对象或控件发射出去的消息。
按钮的单击事件
当单击按钮时,按钮就会向外部发送单击的消息,这些发送出去的信号需要-些代码来拦截, 这些代码就是槽
槽本质上是一个函数或方法
信号可以理解为事件
槽可以理解为事件函数(信号的反馈)

需要将信号和槽绑定
一个信号可以和多个槽绑定,一 个槽可以拦截多个信号

举例子:

拖一个pushButton按钮,改名为关闭窗口,实现点击它就关闭主窗口的功能

Edit->编辑信号/槽,按住控件,随意向下拉条线就行,然后就出来下面那个窗口了,左下角打对勾,按钮处选择 clicked() 点击事件,对应的主窗口处选择 close() 关闭窗口事件即可。

PyQt5入门(四)信号与槽(Qt核心机制,本章为重中之重!!!)_第1张图片

 这样点击这个按钮就和关闭窗口事件联系在一起了。预览一下,点击按钮,主窗口就关闭了。

继续添加控件checkbox(打对勾选择的),改名显示或隐藏,在右侧的属性编辑器中的QAbstractButton一栏的选中checked项(默认情况下checkbox带对勾),即默认显示。

再来一个checkbox,改名可用不可用,再在底下来个treeview,在属性编辑器中取消勾选enabled,即此时treeview默认不可用。

PyQt5入门(四)信号与槽(Qt核心机制,本章为重中之重!!!)_第2张图片

然后接着编辑信号/槽,将箭头从两个checkbox(都选 toggled(bool) 是否选中)分别拉向对应的输入框(选择 setVisiable(bool) 是否可见选项)和treeview(选择 setEnabled(bool) 是否可用选项),

PyQt5入门(四)信号与槽(Qt核心机制,本章为重中之重!!!)_第3张图片

然后预览一下,效果和预期一样

PyQt5入门(四)信号与槽(Qt核心机制,本章为重中之重!!!)_第4张图片      PyQt5入门(四)信号与槽(Qt核心机制,本章为重中之重!!!)_第5张图片

 为窗口添加菜单和工具栏

右键有添加或移除。。。栏

PyQt5入门(四)信号与槽(Qt核心机制,本章为重中之重!!!)_第6张图片

 编辑菜单栏,先起个名,比如File,然后再编辑File下的子项,双击输入名称,然后双击输入分隔符,接着编辑下一个子项,弄完了可以再弄下一个菜单项比如Edit,"在这里输入"就是创建一个新的菜单项。

PyQt5入门(四)信号与槽(Qt核心机制,本章为重中之重!!!)_第7张图片

对于工具栏,如何在上面放控件呢,直接拖是不好使的,工具栏上的按钮成为action(动作)

得找动作编辑器,视图-》动作编辑器,默认是开启的,但是得自己在右边找找。

PyQt5入门(四)信号与槽(Qt核心机制,本章为重中之重!!!)_第8张图片

 双击可对动作进行设置,shortcut是快捷键,checkable是变成复选框

点击OK之后

PyQt5入门(四)信号与槽(Qt核心机制,本章为重中之重!!!)_第9张图片

然后将动作拖动到工具栏上即可,动作之间可以右键插入分隔符

就这样,预览一下吧。

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(PyQt5,pyqt5,桌面应用)