目录
1. 前言
上一篇已经完成了所有的准备工作,下面开始实现基本功能
2. QtDesigner的基本组件
下面将介绍一些组件基本的使用方法,有需要的老哥也可以去官网查看,网站是英文的。
在上一篇中,我们复制了一个ui文件到项目里,现在在designer中打开这个文件
2.1 Push Button(按钮)
qt中的组件也有很多种类型,我们先看按钮类型的。
按钮的意义相信不用多说。这里我们先新建一个Push Button,在右边的buttons菜单栏可以找到它,直接双击可对他的名称进行修改,回车确定,这里我将其改为’confirm’,如图:
利用组件的objectName,我们也可以直接在代码里对其进行操作,我这里将其改为button_confirm。这样我们就定义好一个简单的按钮了
注意:一旦修改了UI,想要他在代码里生效必须先保存,然后通过PyUic重新生成py文件,生成的新py文件会直接覆盖之前的
有了按钮自然是要让他触发某些事件的,例如这里如果我要让上面Label的内容发生改变,只需要在init_ui里增加一行关键的代码:
self.ui.button_confirm.clicked.connect(self.click_confirm)
如图所示:
这里使用到的是qt中信号和槽的相关概念,在这里self.ui.button_confirm是我们刚刚定义的button对象,clicked是点击事件,点击button就等同于发出了一次信号,connect(self.click_confirm)是让这个button的点击事件绑定到click_confirm这个函数上,这个click_confirm就是槽函数,当然这里我们还没有实现它,于是我们还需实现click_confirm函数
如下图所示:
这里是将Label中的文本改为"hi Earth!",此处的label就是之前定义的Label组件的objectName
def click_confirm(self):
self.ui.label.setText("hi Earth!")
运行py文件,点击confirm,可以看到label中的文本发生了改变。
2.2 Label(文本和图片标签)
label是非常常用的组件,一般用来显示固定的文本或者图片信息,不支持用户手动在界面上输入内容(这里的界面是指qt项目启动时的界面,相当于成品的界面,不是designer设计界面)
上面我们已经知道了设置Label显示的文本信息使用lab