后续 PyQt5随笔代码多出自:https://www.bilibili.com/video/BV154411n79k?p=1

#Tk接口扩展Tix
from tkinter import Label,Button,tix
top = tix.Tk() #这里不是tkinter.Tk() ,程序运行起来以后左上角显示的标题是tix  不是Tk
top.tk.eval('package require Tix') #还不太理解啥意思

lb = Label(top,text='Animals(in pairs; min:pair ,max:dozen)') #Label标签
lb.pack()


ct = tix.Control(top,label = 'Number:',integer = True, max=12, min=2, value = 2, step = 2)#多功能文本框,旁边带上下三角的
ct.label.config(font='Helvetica -14 bold')#设置字体
ct.pack()

cb = tix.ComboBox(top,label = 'Type:',editable= True) #下拉框文本框,好low
for animal in ('dog','cat','python','hamster'): #下拉框中预先设置的内容
    cb.insert(tix.END,animal)
cb.pack()

qb = Button(top,text='QUIT',command = top.quit,bg='red',fg='white')
qb.pack()

top.mainloop()
#PyQt5的第一个应用
import sys
from PyQt5.QtWidgets import QApplication,QWidget
if __name__ == '__main__':
    #创建QApplication类的实例
    app = QApplication(sys.argv)
    #创建一个窗口
    w = QWidget()
    #设置窗口的尺寸
    w.resize(400,200)
    #移动窗口
    w.move(300,300)
    #设置窗口的标题
    w.setWindowTitle('第一个PyQt5的应用')
    #显示窗口
    w.show()
    #进入程序主循环、并通过exit函数确保主循环安全结束
    sys.exit(app.exec_())

PyQt5安装配置

  • File--Settings--Project:xxxx--Project Interpreter 右侧+号,输入pyqt5,把相关的都安装一下(尝试了只要装PyQt5 和 pyqt5-tools就行)

pycharm 添加Qt Designer

  • File--Settings--Tools--External Tools +

这里的Program路径是刚才安装PyQt5Designer的时候的路径,在项目的venv路径,选中exe就行,完整路径是:E:\untitled1\venv\Lib\site-packages\QtDesigner\designer.exe ,unititled1是我的项目

  • 右键项目-External Tools 就可以看到QtDesigner ,打开创建简单的应用程序,拖拽几个控件

  • 区域1是控件 ,区域2 是主窗体,区域3 是属性,还有资源浏览器模块,信号槽编辑器等都可以打开
  • 保存形成一个.ui文件 untitled.ui ,
  • ui文件不能直接在python中使用,可以转化成py文件

ui 文件转成py文件

  • 方法一、命令实现:python -m PyQt5.uic.pyuic untitled.ui -o untitled.py
    【另一台电脑】用pycharm setting project interpreter 步骤安装pyqt5 总是失败

可能网速问题,换成cmd 命令直接安装 pip install pyqt5 看看,速度的确慢

于是开了手机热点,卧槽!!!!居然成功了

蛋是,pyqt5-tools装不上了,于是到pypi网站下载相应的包https://pypi.org/project/pyqt5-tools/#files
找到windows对应版本

用pip install +下载的whl文件路径,安装

配置PyUIC 用于把ui文件转成py文件

Programs:是你python.exe路径
Arguments:-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
Working directory: $FileDir$

生成一个ui文件以后 转换又报错

添加External tool 的PyUIC的时候Programs路径选错,不能选python包的python.exe
应该是pycharm安装路径项目路径下的python.exe ‘untitled\venv\Scripts\python.exe’
因为当时创建pycharm第一个project项目的时候默认选择了虚拟环境,应该选下面的Existing interpreter

再右键生成的ui文件找到PyUIC 转换,成功,蛋是直接运行转换好的py文件没反应,里面没有实例化,生成的py文件只有类,添加下面代码:

import sys
if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
sys.exit(app.exec_())
#最好不要这样操作,如果ui文件有更改,又会重新pyuic一遍生成新的py文件,结果这段代码就会消失
#应该创建一个RunMainWindow的py文件,写上代码:
import sys
import horizonlayout #导入ui转化的py文件模块,这里提示报错可以右键当前项目Mark Directory as:Source code
from PyQt5.QtWidgets import QApplication,QMainWindow
if __name__ == '__main__':
    app = QApplication(sys.argv)
    mainWindow = QMainWindow() #实例化主窗口
    ui = horizonlayout.Ui_MainWindow() #这里的Ui_MainWindow是ui文件转化过来的自动生成的类,实例化一下
    ui.setupUi(mainWindow)  #调用这个类中的setupUi文件,把主窗口对象传进去,然后在显示
    mainWindow.show()#显示主窗口
    sys.exit(app.exec_())

运行

posted on 2020-08-21 18:29  94小渣渣  阅读(279)  评论(0编辑  收藏  举报