度过一个愉快的国庆节,今天开始上班咯。
后面介绍一下PyQt的基础开发,包括一下控件的使用,事件的处理,多窗口设计等。本篇介绍信号和槽。
信号和槽的功能
信号和槽是Qt的基础,也是Qt的特色。信号在某种特定情况下会被发射出去,例如一个PushButton最常见的信号就是鼠标点击clicked(),会发射一个信号。GUI设计的主要内容就是对这些发射的信号进行响应。本篇通过一个完整的示例介绍信号与槽的使用方法。
新建一个UI界面
三个Radio Button ,一个Text Edit,两个按钮。
按钮关联槽函数
在Qt designer工具栏的Edit里有一个“Edit Signals/Slots”按钮,点击之后进入信号与槽函数编辑状态,鼠标点击“清空”将箭头拖拽到Text Edit,然后释放。清空按钮选择信号选择clicked(),槽函数选择clear(),退出按钮选择clicked(),槽函数选择close()。如图所示:
运行一下
在Qt designer工具栏的Form里有一个“Preview”按钮。点击进入预览界面。
这个是关联系统内置的槽函数,用自建的槽函数通过Radio Button来改变字体的颜色。
自建槽函数do_set_color()
Qpalette是一个调色板,需要导入。
def do_set_color(self):
plet = self.textEdit.palette()
if self.radioButton.isChecked():
plet.setColor(QPalette.Text, Qt.red)
elif self.radioButton_2.isChecked():
plet.setColor(QPalette.Text, Qt.green)
elif self.radioButton_3.isChecked():
plet.setColor(QPalette.Text, Qt.blue)
self.textEdit.setPalette(plet)
关联槽函数
self.radioButton.toggled.connect(self.do_set_color)
self.radioButton_2.toggled.connect(self.do_set_color)
self.radioButton_3.toggled.connect(self.do_set_color)
运行一下
不知道为啥GifCam这个软件录制GIF时候为什么绿色的字体不变。实际运行时候是变化。感谢支持!!!
本文暂时没有评论,来添加一个吧(●'◡'●)