首页 > 解决方案 > 如何将 main.py 文件拆分为多个文件?

问题描述

我有 3 个文件是listwidget.ui,main.pysub.py. 这个 listwidget.ui 文件由 QtDesigner 创建。下面是我的 main.py 和 sub.py 的示例代码。

主要.py:

from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import *
import sys
from PyQt5 import uic
import sub

class UI(QDialog):
    def __init__(self):
        super(UI, self).__init__()
        uic.loadUi("listwidget.ui", self)
        self.show()
        
        fruit_list = ["Apples", "pears", "oranges", "grapefruits", "strawberries"]
        self.fruit_list = dict.fromkeys(fruit_list, 0)
        for i in self.fruit_list:
            item = QtWidgets.QListWidgetItem(i)
            item.setFlags(item.flags() | QtCore.Qt.ItemIsUserCheckable)
            item.setCheckState(QtCore.Qt.Unchecked)
            self.listWidget.addItem(item)

        self.searchLineEdit.textChanged.connect(self.filter_items)

app = QApplication(sys.argv)
window = UI()
app.exec_()

子.py:

def filter_items(self, text):
    for i in range(self.listWidget.count()):
        item = self.listWidget.item(i)
        item.setHidden(text.lower() not in item.text().lower())

以上是我的示例程序。而且我有一个python程序在一个类下失去了功能和数千行。我想将编码为“main.py”的主要文件拆分为多个文件。如何拆分此类程序。

标签: python

解决方案


经过一些研究得到以下解决方案: 在类下的 main.py 中添加以下行:

def filter_items(self, text):
    sub.filter_items(self, text)

推荐阅读