zoukankan      html  css  js  c++  java
  • PyQt5-使用速成

    安装

    我的python版本是python3.8
    安装老是出错
    经过试验成功的命令
    pip3 install PyQt5-tools -i http://pypi.douban.com/simple --trusted-host=pypi.douban.com

    安装的路径就在你的python文件的D:pythonInstallLibsite-packages
    designer.exe 就在这里面搜一下就能找到

    designer.exe报错

    点击designer.exe,发现启动失败
    所在目录是C:pythonPycharmProjectsqt_example1venvLibsite-packagespyqt5_toolsQtindesigner.exe

    解决方案:把目录下的文件C:pythonPycharmProjectsqt_example1venvLibsite-packagesPyQt5Qtpluginsplatformsqwindows.dll 替换覆盖到下面的目录即可:
    C:pythonPycharmProjectsqt_example1venvLibsite-packagespyqt5_toolsQtinplatformsqwindows.dll

    ui转py

    到.ui文件的目录下,直接cmd进入,输入pyuic5 -o 转换的py文件 待转换的ui文件

    报错

    “AttributeError: 'Form' object has no attribute 'exec_'” when opening second window

    原因是 子窗口没有引用主窗口实例的属性

    解决办法:
    def manual_self(self):
    form2_ = Form2()
    form2_.show()
    form2_.exec_()

    AttributeError: 'Ui_MainWindow' object has no attribute 'show'

    在ui文件转成py文件之后需要增加

    """Main()代码"""
    from PyQt5.QtWidgets import *
    from PyQt5.QtGui import *
    from PyQt5.QtCore import *
    import sys,os
    
    if __name__ == "__main__":
        app = QtWidgets.QApplication(sys.argv)
        mainMindow = Ui_Form()
        mainMindow.show()
        sys.exit(app.exec_())    
    

    法一)

    修改类,增加初始化。即增加红框里的内容。

    法二)这样就可以在不修改的前提下,打开设计的界面
    修改Main()代码

    """Main()代码"""
    from PyQt5.QtWidgets import *
    from PyQt5.QtGui import *
    from PyQt5.QtCore import *
    import sys,os
    
    os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
      
    if __name__ == "__main__":
        App = QtWidgets.QApplication(sys.argv)    # 创建QApplication对象,作为GUI主程序入口
        aw = Ui_MainWindow()    # 创建主窗体对象,实例化Ui_MainWindow
        w = QMainWindow()      # 实例化QMainWindow类
        aw.setupUi(w)         # 主窗体对象调用setupUi方法,对QMainWindow对象进行设置
        w.show()               # 显示主窗体
        sys.exit(App.exec_())   # 循环中等待退出程序
    

    详情参考

  • 相关阅读:
    查看mysql版本的四种方法及常用命令
    newInstance和new的区别(good)
    Citrix 服务器虚拟化之六 Xenserver虚拟机创建与快照
    Java实现 蓝桥杯 算法训练 排序
    Java实现 蓝桥杯 算法训练 排序
    Java实现 蓝桥杯 算法训练 排序
    Java实现 蓝桥杯 算法训练 2的次幂表示
    Java实现 蓝桥杯 算法训练 2的次幂表示
    Java实现 蓝桥杯 算法训练 前缀表达式
    Java实现 蓝桥杯 算法训练 前缀表达式
  • 原文地址:https://www.cnblogs.com/Nickyl07/p/13251830.html
Copyright © 2011-2022 走看看