一、使用QT Desinger设置信号与槽
1.使用系统中的槽函数
点击QT Desinger中的编辑信号与槽,
可拖动信号线,链接至标签。
在弹出的对话框中分别选择要链接的信号和槽。即完成信号与槽的链接。
2.定义自己的槽函数
在需要实现系统给定的功能以外的情况下,需要自己定义槽函数。把信号线拖到空白处,选择信号函数,点击槽函数下面的编辑按钮,再点击绿色的加号,输入槽函数名,就可创建出自己的槽函数。
在ui文件中创建并链接好槽函数之后,还需要在py文件中写槽函数的功能,才能真正实现功能。下文会介绍py文件中槽函数的编写。
二、ui文件转换为py文件
建立一个工程,输入以下代码:
import os
import os.path
import sys
dir = 'C:\\Users\\86191\\PycharmProjects\\uiFilesToPyFiles'
#列出目录下的所有UI文件
def listUiFile():
list = []
files = os.listdir(dir)
for filename in files:
if os.path.splitext(filename)[1] == '.ui':
list.append(filename)
return list
#把扩展名为.ui的文件改成扩展名为.py的文件
def transPyFile(filename):
return os.path.splitext(filename)[0] + '.py'
#调用系统命令把UI文件转换成Python文件
def runMain():
list = listUiFile()
for uifile in list:
pyfile = transPyFile(uifile)
cmd = 'pyuic5 -o {pyfile} {uifile}'.format(pyfile=pyfile,uifile=uifile)
os.system(cmd)
if __name__ == "__main__":
runMain()
可以把dir目录下的文件全部转换为py文件。不过需要转换的文件和转换好的文件需要在工程的根目录下,不然会报错。
三、在py文件中写槽函数
我要写的槽函数简单实现了一个整数的加法功能。界面文件如下图:控件摆的有点乱。
在界面文件中,一共设置了3个信号与槽的链接。