PyQt6 提升自定义窗口部件

最近在学习PyQt6,想通过类似QT那样去提升自定义的窗口部件,发现一些区别,特此记录一下。如有更方便的方法,请大家不吝赐教。

使用PyQt6提升窗口部件分为三个部分,自定义控件、提升控件、修改py文件、主窗口使用逻辑和整体软件初始化调用。

1、自定义控件部分

由于写了很多年QT代码了,这儿就不写了。

2、提升控件部分

提升自定义的两个窗口subWidget和subForm2,

一定要注意这里的文件名和类名的位置和路径,PyCharm和QT在这儿处理不一样,

在mainWidget提升了窗体之后呢,使用pyuic生成mainWidget.py文件。打开mainWiget会生成如下图的内容,如果运行不了,检查一下路径subForm2的路径,我是将mainWidget、subWidget和subForm2放在同一个目录下的。下图标注的路径和类名很关键,可能就是类名和路径导致运行不起来。

3、修改Py文件

但是这样在运行的时候,肯定还是有问题,需要进一步修改,他不想Qt会继承QWidget并自动创建构造函数,这儿继承的是object。需要安装如下截图更改,

4、主窗口使用逻辑

user_mainWidget.py文件主要是使用的逻辑了

5、整体软件初始化调用

main.py代码了

python 复制代码
import Logic.use_mainWidget as use_untitled
from PyQt6.QtWidgets import QApplication, QMainWindow, QLabel ,QMessageBox




if __name__ == "__main__":

    import sys
    app = QApplication(sys.argv)

    mainWindow = use_untitled.MainWindow()
    mainWindow.showMaximized()

    sys.exit(app.exec())

提升后的运行结果

方法二:

参考代码:

python 复制代码
#use_mainWidget.py


from PyQt6.QtWidgets import QApplication, QMainWindow, QLabel ,QMessageBox
import UI.mainWidget as mainWidget

class MainWindow(QMainWindow, mainWidget.Ui_Form):
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.setupUi(self)
        # self.load_stylesheet("styles/style.css")
        self.count = 0
        self.setWindowTitle("first pyqt6 program")
        self.pushButton.clicked.connect(self.btnClickedSlot)

    def load_stylesheet(self, filename):
        """加载QSS样式文件"""
        try:
            with open(filename, 'r', encoding='utf-8') as file:
                style = file.read()
                self.setStyleSheet(style)
                print(f"样式文件 {filename} 加载成功")
        except FileNotFoundError:
            print(f"错误:样式文件 {filename} 未找到")
        except Exception as e:
            print(f"加载样式文件时出错: {e}")
    def btnClickedSlot(self):
        self.count+=1
        self.textEdit.append(f"点击了 {self.count} 次!")

新的py文件要重写构造函数

相关推荐
闲人编程4 个月前
PyQt6 进阶篇:构建现代化、功能强大的桌面应用
数据库·python·oracle·gui·脚本·pyqt6·软件
程序猿与金融与科技8 个月前
PyQt6实例_pyqtgraph散点图显示工具_代码分享
pyqt6·pyqtgraph·a股
程序猿与金融与科技8 个月前
PyQt6实例_消息工具_使用与完整代码分享
pyqt6·a股
程序猿与金融与科技8 个月前
PyQt6基础_pyqtgraph_折线图with缩放调节
python·pyqt6·pyqtgraph
程序猿与金融与科技8 个月前
PyQt6基础_QTableWidget
pyqt6
程序猿与金融与科技9 个月前
PyQt6实例_pyqtgraph多曲线显示工具_代码分享
pyqt6·pyqtgraph·a股
程序猿与金融与科技9 个月前
PyQt6实例_A股财报数据维护工具_解说并数据与完整代码分享
pyqt6·a股
程序猿与金融与科技9 个月前
PyQt6实例_A股日数据维护工具_界面代码
pyqt6·a股日数据
程序猿与金融与科技9 个月前
PyQt6实例_批量下载pdf工具_exe使用方法
pyqt6