PyQt5学习笔记4_loadUi加载ui文件

开发环境:PyQt 5.5.1 Python 3.4.4 Qt 5.6.3 PyInstaller 3.2.1

  1. 加载ui文件
    在Qt Creator中编辑好所需的ui文件后,在其目录下新建一个py文件,代码如下:
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.uic import loadUi


class MainWindow(QMainWindow):
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        loadUi('pyflashloader_isp.ui', self)
        self.setFixedSize(self.sizeHint())

app = QApplication(sys.argv)
w = MainWindow()
w.show()
sys.exit(app.exec())

效果如下:
这里写图片描述
2. Pyinstaller生成exe文件
若使用Bundling to One File的方式将上述代码生成为单一的exe文件,则需连同ui文件一同打包。方法是在使用Pyinstaller打包时使用“–add-data”选项,命令行截图如下:
这里写图片描述
此外,参考Run-time Information还需对py文件略作修改,代码如下:

import os, sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.uic import loadUi


class MainWindow(QMainWindow):
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        if getattr(sys, 'frozen', False):
            # we are running in a bundle
            bundle_dir = sys._MEIPASS
        else:
            # we are running in a normal Python environment
            bundle_dir = os.path.dirname(os.path.abspath(__file__))
        loadUi(bundle_dir + '\pyflashloader_isp.ui', self)
        self.setFixedSize(self.sizeHint())

app = QApplication(sys.argv)
w = MainWindow()
w.show()
sys.exit(app.exec())
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值