前言
今天 2024年4月10日18点16分
记录一下,已备以后有机会用得上.
正题
相信你也是初学者,因为只有初学者才会找这些教程,很不巧的我也是.
最初始时 我想法是 用Tkinter ,用着感觉 敲代码还要单独去构思 每次都要验证 过于麻烦(相对于我个人而言 更糟糕的是 我很多东西记不住 )
所有我查阅,寻找 ,找到了 PyQt5
同样的原因 我把目光聚集到 Qt designer 上
途中遇到的问题:
pyqt5-tool 工具安装 会和我的 pyqt 冲突 导致 pyqt5 失联 ,所有如果你还没安装 pyqt5
我建议你先安装工具 ,然后把 包目录下 Qt整个文件夹提取出来, 再 卸载 pyqt5-tool 以安装 pyqt5
我用的Pycharm社区版 所以需要一个纯 python 支持就行 VS coed 我也有其实
Qt文件夹中 有 Qt designer exe程序能直接打开
具体界面就是这样 图形化 好操作
几个关键点 知道就很好操作了
框架什么的 做好之后 可以用ctrl+r 看看具体效果 再保存成文件 会以 .ui 结尾
下面将一下 这个文件 怎么使用 ,我只会2种.............
第一种:直接 调用.ui文件
import sys
from PyQt5 import uic
from PyQt5.QtWidgets import QApplication
app =QApplication(sys.argv)
ui=uic.loadUi("untitled.ui") #指向文件untitled.ui(文件名)的调用
ui.show() #显示
sys.exit(app.exec_())
第二种:工具把.ui文件转换成.py文件
python -m 路径+PyQt5.uic.pyuic ui文件路径+名字 -o 输出的py文件路径加名字
再 在文件中添加 以下代码,差什么 import 就加 什么
import sys
if __name__=="__main__":
app(可自定义名)=QApplication(sys.argv)
ui(可自定义名)=QMainWindow() #你创建的主窗口是什么类型就填什么 比如说 QtWidgets
ai(可自定义名)=class 类名 比如说 class Ui_winf(object): 这里就写 Ui_winf()
ai.show()
sys.exit(app.exec_())
偏题了 :这里要说的是分页
我直接贴代码吧
#按钮事件处理(在class 类中)
self.d1.clicked.connect(lambda:onclik(0)) #按键d1 链接 自定义函数onclik 传递值0
self.d2.clicked.connect(lambda:onclik(1)) #按键d2 链接 自定义函数onclik 传递值1
self.d3.clicked.connect(lambda:onclik(2)) #按键d3 链接 自定义函数onclik 传递值2
self.d4.clicked.connect(lambda:onclik(3)) #按键d4 链接 自定义函数onclik 传递值3
self.d5.clicked.connect(lambda:onclik(4)) #按键d5 链接 自定义函数onclik 传递值4
def onclik(i): #(不在class类中) 获取 i
ai.d1s.setCurrentIndex(i) #这里 ai 实例化函数 设置索引 i
if __name__=="__main__":
app =QApplication(sys.argv)
ui=QMainWindow()
ai=Ui_winf()
ai.setupUi(ui)
ui.show()
sys.exit(app.exec_())