我有一个类class Ui_MainWindow(QtWidgets.QMainWindow):类中有一个方法def writ_excel(self, TIME):我想在一个类外的方法def main(TIME):去使用这个方法writ_excel(self, TIME):怎么做
时间: 2024-03-11 12:48:13 浏览: 65
如果你想在一个类外的方法中使用另一个类中的方法,需要先创建该类的实例,然后使用该实例去调用该方法。
在这个例子中,你可以先创建一个Ui_MainWindow的实例,然后再用这个实例去调用writ_excel方法。代码如下:
```python
class Ui_MainWindow(QtWidgets.QMainWindow):
def writ_excel(self, TIME):
# 方法实现代码
def main(TIME):
ui = Ui_MainWindow()
ui.writ_excel(TIME)
```
在main方法中,首先创建了一个Ui_MainWindow的实例ui,然后用这个实例ui去调用writ_excel方法,传入参数TIME。因为writ_excel方法中有一个self参数,需要用ui这个实例去替代self。
注意,如果你在main方法中没有创建Ui_MainWindow的实例,直接调用writ_excel方法是会报错的。
相关问题
class open3d_software(QtWidgets.QMainWindow, Ui_MainWindow): def __init__(self): super(open3d_software, self).__init__() self.setupUi(self) self.setWindowIcon(QIcon("Icons/ic_pride.ico")) # 设置图标
这段代码是用 PyQt5 模块编写的,它定义了一个名为 open3d_software 的类,该类继承自 QtWidgets.QMainWindow 和 Ui_MainWindow。在该类的构造函数中,调用了父类的构造函数,并调用了 self.setupUi(self) 来设置图形用户界面。最后一行代码设置了窗口的图标为 "Icons/ic_pride.ico"。
from PyQt5 import QtCore, QtGui, QtWidgets from show1 import Ui_Form1 from show2 import Ui_Form2 from show3 import Ui_Form3 class Ui_Form(object): def setupUi(self, Form): Form.setObjectName("Form") Form.resize(400, 300) self.pushButton = QtWidgets.QPushButton(Form) self.pushButton.setGeometry(QtCore.QRect(90, 60, 191, 51)) font = QtGui.QFont() font.setPointSize(9) self.pushButton.setFont(font) self.pushButton.setObjectName("pushButton") self.pushButton_2 = QtWidgets.QPushButton(Form) self.pushButton_2.setGeometry(QtCore.QRect(90, 110, 191, 51)) self.pushButton_2.setObjectName("pushButton_2") self.pushButton_3 = QtWidgets.QPushButton(Form) self.pushButton_3.setGeometry(QtCore.QRect(90, 160, 191, 51)) self.pushButton_3.setObjectName("pushButton_3") self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form) def retranslateUi(self, Form): _translate = QtCore.QCoreApplication.translate Form.setWindowTitle(_translate("Form", "Form")) self.pushButton.setText(_translate("Form", "无人机群显示")) self.pushButton_2.setText(_translate("Form", "无人机群数据分析展示")) self.pushButton_3.setText(_translate("Form", "无人机群飞行轨迹展示")) class MainWindow(QtWidgets.QMainWindow): def __init__(self): super().__init__() self.ui = Ui_Form() self.ui.setupUi(self) self.ui.pushButton.clicked.connect(self.showForm1) self.ui.pushButton_2.clicked.connect(self.showForm2) self.ui.pushButton_3.clicked.connect(self.showForm3) def showForm1(self): self.form1 = QtWidgets.QWidget() self.ui1 = Ui_Form1() self.ui1.setupUi(self.form1) self.form1.show() def showForm2(self): self.form2 = QtWidgets.QWidget() self.ui2 = Ui_Form2() self.ui2.setupUi(self.form2) self.form2.show() def showForm3(self): self.form3 = QtWidgets.QWidget() self.ui3 = Ui
_Form3() self.ui3.setupUi(self.form3) self.form3.show()
这段代码是一个基于PyQt5的GUI程序,它创建了一个主窗口并在窗口中添加了三个按钮。当用户单击按钮时,程序会打开另外三个窗口,分别用于显示无人机群的位置、数据分析和飞行轨迹。这个程序的核心是MainWindow类,它继承自QtWidgets.QMainWindow,并在__init__方法中创建了UI对象并连接了三个按钮的clicked信号到对应的槽函数showForm1、showForm2和showForm3。这三个槽函数分别创建了对应的窗口对象,并在窗口中添加了对应的UI组件,并将窗口显示出来。
阅读全文