说明
- 本教程适用于python3.11.X,pyqt6、pyside6.
- 加载ui
- 在一个项目中根目录及子目录的运用
一、加载ui
- pyqt6加载ui
from PyQt6 import uic
uic.loadUi(ui路径[str])#代码中添加加入这个代码就能加载
- pyside6加载ui
from PySide6 import QtUiTools, QtCore
#加载ui实例化
loader = QtUiTools.QUiLoader()
#加载时指定窗口类型
loader.registerCustomWidget(QWidget)
#用QtCore.QFile来封装ui,再传递给QUiLoader()
ui_file = QtCore.QFile('login.ui')
#注:加载的路径
#加载ui
self.ui = loader.load(ui_file)
#关闭加载
ui_file.close()
二、路径
注:在加载路径时,可以是相对路径,也可以是绝对路径
- python中获取当前目录的方法
import sys,os
#sys.argv[0]当前文件的绝对路径
BASE_DIR = os.path.dirname(os.path.realpath(sys.argv[0]))
注:BASE_DIR是指程序最开始运行是的位置
2. 在pyqt6和pyside6中加载ui是以最开始运行代码的位置算起
就会存在路径加载出错,解决办法是用BASE_DIR、配合os来传入绝对路径。如:
import os,sys
#sys.argv[0]当前文件的绝对路径
BASE_DIR = os.path.dirname(os.path.realpath(sys.argv[0]))
#file_path是绝对路径
file_path = os.path.join(BASE_DIR ,根目录所在文件夹,文件名)
#file_path就是要入入的路径