PyQT5之使用QT Designer创建基本窗口方式
作者:Trivis?Kylee 发布时间:2023-10-06 05:59:41
标签:PyQT5,QT,Designer,创建窗口
环境配置
pip install pyqt5 (安装pyQT5库):pyuic5包含在内
pip install pyqt5-tools (安装QT-Designer)
使用QT Designer布局窗体
UI文件的编译
将.UI文件编译为.PY文件(CMD命令行中):
pyuic5 xxx.ui -o xxx.py
#不可以存在中文!
打开编译后的.py文件,新建SLOT()函数并修改连接函数:
在末尾添加运行代码:
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
编译后的.PY源码
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'C:\Users\Geclipse\Desktop\untitled.ui'
#
# Created by: PyQt5 UI code generator 5.11.3
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(800, 600)
MainWindow.setMouseTracking(False)
MainWindow.setWindowOpacity(1.0)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(300, 0, 161, 71))
font = QtGui.QFont()
font.setPointSize(12)
font.setBold(True)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(75)
font.setStrikeOut(False)
self.label.setFont(font)
self.label.setObjectName("label")
self.textEdit = QtWidgets.QTextEdit(self.centralwidget)
self.textEdit.setGeometry(QtCore.QRect(20, 220, 751, 321))
self.textEdit.setObjectName("textEdit")
self.pushButton = QtWidgets.QPushButton(self.centralwidget)
self.pushButton.setGeometry(QtCore.QRect(300, 90, 141, 61))
font = QtGui.QFont()
font.setPointSize(12)
font.setBold(True)
font.setWeight(75)
self.pushButton.setFont(font)
self.pushButton.setObjectName("pushButton")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 26))
self.menubar.setObjectName("menubar")
self.menu_1 = QtWidgets.QMenu(self.menubar)
self.menu_1.setObjectName("menu_1")
self.menu_2 = QtWidgets.QMenu(self.menubar)
self.menu_2.setObjectName("menu_2")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.actionFunction1 = QtWidgets.QAction(MainWindow)
self.actionFunction1.setObjectName("actionFunction1")
self.actionFunction2 = QtWidgets.QAction(MainWindow)
self.actionFunction2.setObjectName("actionFunction2")
self.actionExit = QtWidgets.QAction(MainWindow)
self.actionExit.setObjectName("actionExit")
self.actionExit_2 = QtWidgets.QAction(MainWindow)
self.actionExit_2.setObjectName("actionExit_2")
self.menu_1.addAction(self.actionFunction1)
self.menu_1.addAction(self.actionFunction2)
self.menu_1.addSeparator()
self.menu_1.addAction(self.actionExit_2)
self.menubar.addAction(self.menu_1.menuAction())
self.menubar.addAction(self.menu_2.menuAction())
self.textEdit.setText("pyuic untitled.ui -o untitled.py")
self.retranslateUi(MainWindow)
self.pushButton.clicked.connect(self.add_hello_qt)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def add_hello_qt(self):
self.textEdit.setText("Hello QT!")
#★★★ def retranslateUi(eslf,MainWindow)
#translate翻译
#retranslate重译(对界面中控件所进行的其他调整:如设置标题会出现在这里)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "This is a simple title"))
self.label.setText(_translate("MainWindow", "Simple Widget"))
self.pushButton.setStatusTip(_translate("MainWindow", "click this will add ‘hello QT' in below area"))
self.pushButton.setText(_translate("MainWindow", "Hello QT"))
self.menu_1.setTitle(_translate("MainWindow", "菜单栏1"))
self.menu_2.setTitle(_translate("MainWindow", "菜单栏2"))
self.actionFunction1.setText(_translate("MainWindow", "Function1"))
self.actionFunction2.setText(_translate("MainWindow", "Function2"))
self.actionExit.setText(_translate("MainWindow", "Exit"))
self.actionExit_2.setText(_translate("MainWindow", "Exit"))
#下面的这些部分需要手动打开py文件进行添加
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
运行结果
来源:https://kylee.blog.csdn.net/article/details/90549897


猜你喜欢
- Function closeUBB(strContent) '*************************
- 如题在SQL中 SELECT ... FROM ... ORDER BY abc ASC; 如果abc是字符串,那么结果会按照a-z 中文按
- 我们在上传大文件时,可能会由于服务器的原因导致文件上传失败,文件过大时由于服务器的配置或响应事件过长导致上传文件失败,这时候我们可以将一个大
- 玩过knockoutjs的都知道,有一个强大的功能叫做component,而这个component有个牛逼的地方就是拥有自己的viewmod
- adfuller函数返回值的参数说明from statsmodels.tsa.stattools import adfullert = ad
- python 实现文件查找和某些项输出本文是基于给定一文件(students.txt),查找其中GPA分数最高的 输出,同时输出其对应的姓名
- Java读取数据库表package com.easycrud.builder;import com.easycrud.utils.Prope
- 排序算法排序也是在程序中经常用到的算法。无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小。如果是数字,我们可以直接比较,但如果是
- python之pkl文件pkl文件是python里面保存文件的一种格式,如果直接打开会显示一堆序列化的东西。cPickle在python3中
- 对于DBA来说,监控磁盘使用情况是必要的工作,然后没有比较简单的方法能获取到磁盘空间使用率信息,下面总结下这些年攒下的脚本:最常用的查看磁盘
- 在写论文时,如果是菜鸟级别,可能不会花太多时间去学latex,直接用word去写,但是这有一个问题,当我们用其他工具画完实验彩色图时,放到w
- 本文实例分析了JS重载实现方法。分享给大家供大家参考,具体如下:重载是面向对象语言里很重要的一个特性,JS中没有真正的重载,是模拟出来的(因
- 为了给你的对像添加一个行级功能,那就定义一个自定义方法。 有鉴于manager经常被用来用一些整表操作(table-wide),模型方法应该
- 近来学习炒股,免不了上班时间看盘,总不能光明正大的用电脑看行情,一直盯着手机影响也不好,容易引起“关注”。所以就想自己做一个网页来达到看盘的
- 前言词云的使用相信大家已经不陌生了,使用很简单,直接调用wordcloud包就可以了。它的主要功能是根据文本词汇和词汇频率生成图片,从中可以
- 介绍此教程为我的数篇文章中的一个重点。主题是魔术方法。 什么是魔术方法?他们是面向对象的Python的一切。他们是可以给你的类增加"
- 本文实例讲述了Python批量重命名同一文件夹下文件的方法。分享给大家供大家参考。具体分析如下:朋友发了一个文件夹过来,里面的图片都以 .t
- 前言如果你认为深度学习非常的吃GPU,或者说非常的耗时间,训练一个模型要非常久,但是你如果了解了迁移学习那你的模型可能只需要几分钟,而且准确
- 基本对比使用方式使用场合优缺点是否需要安装需要的dll网址引用方式程序内引用程序初期确定使用MySql,前期添加引用大多数情况下使用在类文件
- 一、顺序查找算法顺序查找又称为线性查找,是最简单的查找算法。这种算法就是按照数据的顺序一项一项逐个查找,所以不管数据顺序如何,都得从头到尾地