IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Ubuntu下Pycharm中安装QtDesigner(介绍与使用) -> 正文阅读

[Python知识库]Ubuntu下Pycharm中安装QtDesigner(介绍与使用)

安装qtdesigner
sudo apt-get install qttools5-dev-tools
启动QtDesigner
pyvharm下安装PyQt5
pip install PyQt5 -i https://pypi.douban.com/simple
方式一:
找到安装QtDesigner的目录下,双击designer.exe
方式二:
在PyCharm中将其配置为外部工具打开。
本文以PyCharm为例。
1.在PyCharm中配置qtdesigner,选择Settings -> Tools -> External Tools,点击左上角的绿色加号。
在这里插入图片描述
Name:可自己定义(QtDesigner)
Program路径为本机designer的路径,根据实际情况修改,如:
/usr/lib/x86_64-linux-gnu/qt5/bin/designer
Work directory:使用变量$FileDir
然后点击OK,则添加了QtDesigner作为PyCharm的外置工具。
2.添加pyuic
主要是用来将 Qt界面 转换成 py代码。
pyuic是一个批处理文件,用来将Qt Designer生成的界面文件(后缀为.ui)转换成指定的格式,比如.py
在这里插入图片描述
Program路径为本机python的路径,如:
/bin/python3.8
Arguments填-o F i l e N a m e W i t h o u t E x t e n s i o n FileNameWithoutExtension FileNameWithoutExtension.py F i l e N a m e FileName FileName,这样生成的文件就不会带.ui了
-m PyQt5.uic.pyuic F i l e N a m e FileName FileName -o F i l e N a m e W i t h o u t E x t e n s i o n FileNameWithoutExtension FileNameWithoutExtension.py
Working directory同理设为我们的工作目录
3.最后添加pyrcc用于PyQt5的资源文件转码
F i l e N a m e FileName FileName -o F i l e N a m e W i t h o u t E x t e n s i o n FileNameWithoutExtension FileNameWithoutExtension_rc.py
设置好后就能在pycharm中直接使用啦!
在pycharm中的下拉菜单Tools中就能看到刚刚定义的两个工具

使用
点击QtDesigner就能直接打开界面设计框
在这里插入图片描述
打开Qt Designer
在这里插入图片描述
新建窗口之后
在这里插入图片描述
点击左上角的F文件->另存为,保存到项目文件中。保存之后回到pycharm中
在这里插入图片描述
选择保存好的文件,右键,点击PyUIC之后,会自动生成python文件
在这里插入图片描述
打开生成的python文件,还需要在最后面添加下面的代码才能运行

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
if __name__ == '__main__':
    app = QApplication(sys.argv)
    MainWindow = QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())
import sys
from PyQt5.QtWidgets import QApplication
from PyQt5.uic import loadUi
app = QApplication(sys.argv)
widget = loadUi('test.ui')
widget.show()
sys.exit(app.exec_())
if __name__=="__main__":
    import sys
    from PyQt5.QtGui import QIcon
    app=QtWidgets.QApplication(sys.argv)
    widget=QtWidgets.QWidget()
    ui=Ui_Form()
    ui.setupUi(widget)
    widget.setWindowIcon(QIcon('web.png'))#增加icon图标
    widget.show()
    sys.exit(app.exec_())

if __name__ == '__main__':
    app = QApplication()
    app.setStyle('Fusion')
    windows = Nmplayer()
    windows.ui.show()
    app.exec_()

test.ui 则就是你编写的ui文件,改成你的ui文件名字即可。运行,则就会弹出你之前设计的界面。
举例:

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'slj.ui'
#
# Created by: PyQt5 UI code generator 5.14.1
#
# WARNING! All changes made in this file will be lost!


from PyQt5 import QtCore, QtGui, QtWidgets
from slj import *  //新建的文件,需要和前面的文件放在一起,另外代码中斜体下划线的字是你自己.ui文件的文件名,


class slj1(object):
    def setupUi(self, Dialog):
        Dialog.setObjectName("Dialog")
        Dialog.resize(400, 295)
        self.verticalLayoutWidget = QtWidgets.QWidget(Dialog)
        self.verticalLayoutWidget.setGeometry(QtCore.QRect(0, 60, 160, 80))
        self.verticalLayoutWidget.setObjectName("verticalLayoutWidget")
        self.verticalLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget)
        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout.setObjectName("verticalLayout")
        self.checkBox = QtWidgets.QCheckBox(Dialog)
        self.checkBox.setGeometry(QtCore.QRect(20, 170, 92, 23))
        self.checkBox.setObjectName("checkBox")
        self.timeEdit = QtWidgets.QTimeEdit(Dialog)
        self.timeEdit.setGeometry(QtCore.QRect(10, 250, 118, 26))
        self.timeEdit.setObjectName("timeEdit")
        self.label = QtWidgets.QLabel(Dialog)
        self.label.setGeometry(QtCore.QRect(0, 150, 67, 17))
        self.label.setObjectName("label")
        self.line = QtWidgets.QFrame(Dialog)
        self.line.setGeometry(QtCore.QRect(0, 30, 118, 3))
        self.line.setFrameShape(QtWidgets.QFrame.HLine)
        self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line.setObjectName("line")
        self.pushButton = QtWidgets.QPushButton(Dialog)
        self.pushButton.setGeometry(QtCore.QRect(180, 50, 89, 25))
        self.pushButton.setObjectName("pushButton")
        self.radioButton = QtWidgets.QRadioButton(Dialog)
        self.radioButton.setGeometry(QtCore.QRect(180, 110, 112, 23))
        self.radioButton.setObjectName("radioButton")
        self.toolButton = QtWidgets.QToolButton(Dialog)
        self.toolButton.setGeometry(QtCore.QRect(190, 180, 26, 24))
        self.toolButton.setObjectName("toolButton")
        self.commandLinkButton = QtWidgets.QCommandLinkButton(Dialog)
        self.commandLinkButton.setGeometry(QtCore.QRect(160, 220, 177, 41))
        self.commandLinkButton.setObjectName("commandLinkButton")

        self.retranslateUi(Dialog)
        QtCore.QMetaObject.connectSlotsByName(Dialog)

    def retranslateUi(self, Dialog):
        _translate = QtCore.QCoreApplication.translate
        Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
        self.checkBox.setText(_translate("Dialog", "CheckBox"))
        self.label.setText(_translate("Dialog", "TextLabel"))
        self.pushButton.setText(_translate("Dialog", "shanlijia"))
        self.radioButton.setText(_translate("Dialog", "RadioButton"))
        self.toolButton.setText(_translate("Dialog", "..."))
        self.commandLinkButton.setText(_translate("Dialog", "CommandLinkButton"))

    import sys
    from PyQt5.QtWidgets import QApplication, QMainWindow
    if __name__ == '__main__':
        app = QApplication(sys.argv)
        MainWindow = QMainWindow()
        ui = slj1()  //class名字
        ui.setupUi(MainWindow)
        MainWindow.show()
        sys.exit(app.exec_())

sudo apt-get install qt5-default qttools5-dev-tools 执行完毕后,就安装好了。 再次运行designer命令,就可以启动qtdesigner

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-07-17 16:19:02  更:2022-07-17 16:22:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/27 2:57:19-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计