当前位置: 首页 > news >正文

Qt Designer设计的界面如何显示、即运行显示窗口界面

首先利用Qt Designer设计.ui文件,然后采用Tools->External Tools->PyUIC转换成.py文件。这个.py文件是.ui文件编译而来的,将这种文件由.ui文件编译而来的.py文件称之为界面文件。由于界面文件每次编译时候都会初始化,所以需要新建一个.py文件来调用界面文件,这个新建立的.py问称之为逻辑文件,也可以成为业务文件。

也就是说通过转换 ui 文件为 py 文件,得到的只是界面的 ui 的类, 并不包括启动界面的函数,我们称之为界面文件。需要一个新建一个 py 文件调用文件,这个新建的文件我们称为逻辑文件

界面文件和逻辑文件是两个相对独立的文件,通过上述方法实现了界面与逻辑的分离。

逻辑文件代码如下:

# -*- coding: utf-8 -*-
import sys
from PyQt5.QtWidgets import QApplication,QMainWindow
from untitled import Ui_MainWindowclass MyMainForm(QMainWindow, Ui_MainWindow):def __init__(self, parent=None):super(MyMainForm, self).__init__(parent)self.setupUi(self)if __name__ == '__main__':# 每一pyqt5应用程序必须创建一个应用程序对象。sys.argv参数是一个列表,从命令行输入参数。app = QApplication(sys.argv)myWin = MyMainForm()# 显示在屏幕上myWin.show()# 系统exit()方法确保应用程序干净的退出# 的exec_()方法有下划线。因为执行是一个Python关键词。因此,exec_()代替sys.exit(app.exec_())

界面文件代码(通过.ui文件转换的代码)

# -*- coding: utf-8 -*-# Form implementation generated from reading ui file 'untitled.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.from PyQt5 import QtCore, QtGui, QtWidgetsclass Ui_MainWindow(object):def setupUi(self, MainWindow):MainWindow.setObjectName("MainWindow")MainWindow.resize(690, 399)self.centralwidget = QtWidgets.QWidget(MainWindow)self.centralwidget.setObjectName("centralwidget")self.stackedWidget = QtWidgets.QStackedWidget(self.centralwidget)self.stackedWidget.setGeometry(QtCore.QRect(40, 70, 621, 271))self.stackedWidget.setObjectName("stackedWidget")self.page1 = QtWidgets.QWidget()self.page1.setObjectName("page1")self.stackedWidget.addWidget(self.page1)self.page2 = QtWidgets.QWidget()self.page2.setObjectName("page2")self.stackedWidget.addWidget(self.page2)MainWindow.setCentralWidget(self.centralwidget)self.menubar = QtWidgets.QMenuBar(MainWindow)self.menubar.setGeometry(QtCore.QRect(0, 0, 690, 22))self.menubar.setObjectName("menubar")MainWindow.setMenuBar(self.menubar)self.statusbar = QtWidgets.QStatusBar(MainWindow)self.statusbar.setObjectName("statusbar")MainWindow.setStatusBar(self.statusbar)self.retranslateUi(MainWindow)self.stackedWidget.setCurrentIndex(0)QtCore.QMetaObject.connectSlotsByName(MainWindow)def retranslateUi(self, MainWindow):_translate = QtCore.QCoreApplication.translateMainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))

http://www.lryc.cn/news/121989.html

相关文章:

  • vue3的setup的使用和原理解析
  • Spring boot中的线程池-ThreadPoolTaskExecutor
  • pgsql checkpoint机制(1)
  • 微信小程序 map地图(轨迹)
  • 【钉钉接口】bpms_task_change、bpms_instance_change 的区别及举例
  • vue左右div结构手动拉伸并且echarts图表根据拉伸宽高自适应
  • 开发工具Eclipse的使用
  • DrawerLayout布局使用教程Android侧边栏导航完全指南:创建简单实用的导航抽屉
  • Dynamics 365 实体快速创建功能启用
  • Mybatis三剑客(一)在springboot中自动生成Mybatis【generator】
  • 【LeetCode 热题 100】图论 专题(bfs,拓扑排序,Trie树 字典树)
  • Jmeter压测实战:Jmeter二次开发之自定义函数
  • 在python中使用nvidia的VPF库对RTSP流进行硬解码并使用opencv进行显示
  • C++中using namespace std的作用记录
  • 【TX 企业微信私有化历史版本 API 信息泄露】
  • 腾讯云轻量应用服务器镜像应用模板清单大全
  • C语言链表操作
  • 详解拦截器和过滤器
  • 关于`IRIS/Caché`进程内存溢出解决方案
  • 构建Docker容器监控系统(cadvisor+influxDB+grafana)
  • 最强自动化测试框架Playwright(17)- 模拟接口
  • Python爬虫——requests_get请求
  • 【EI复现】一种建筑集成光储系统规划运行综合优化方法(Matlab代码实现)
  • C++11 异步与通信之 std::async
  • 影视站用什么cms好?
  • HOT88-乘积最大子数组
  • 工博士与纷享销客达成战略合作,开启人工智能领域合作新篇章
  • 拆解与重构:慕云游首页组件化设计
  • 刷了3个月的华为OD算法题,刷出感觉了,如洁柔般丝滑,文末送《漫画算法2:小灰的算法进阶》
  • ip转换器哪个好用 ip地址切换器有哪些