Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从另一个类调用函数_Python_Python 3.x - Fatal编程技术网

Python 如何从另一个类调用函数

Python 如何从另一个类调用函数,python,python-3.x,Python,Python 3.x,我在Qtdesigner上有一个表单设计,有两个类 我想在方法getText()中使用方法addItem()中的一些变量 我不知道如何实现这个目标。谁能给我一些建议吗 提前谢谢你的帮助 class App(QWidget): def __init__(self): super().__init__() def getText(self): text, okPressed = QInputDialog.getText(self, "Get

我在Qtdesigner上有一个表单设计,有两个类

我想在方法
getText()
中使用方法
addItem()
中的一些变量

我不知道如何实现这个目标。谁能给我一些建议吗

提前谢谢你的帮助

 class App(QWidget):
     def __init__(self):
         super().__init__()

     def getText(self):
         text, okPressed = QInputDialog.getText(self, "Get text", "Your name:", QLineEdit.Normal, "")
         if okPressed and text != '':
             wb = openpyxl.load_workbook('hello.xlsx')
             wb.save(text+ '.xlsx')
这就是我要调用方法
addItem()
的地方


这里是我想使用上面对话框中的变量文本的地方。

例如,您将在方法
getText()
中使用方法
addItem()
的哪些变量。给我一个线索。无论如何,您可以将
AppWindow
类放在
App
之前,从
getText()
方法中创建对象
AppWindow
,并调用
addItem()
。还有其他方法。这要看情况了,你打算怎么做。谢谢你的回复。我将尝试您的解决方案,并将更新。这是我第一次在这个网站上,不知道我是否可以粘贴我的所有代码?无论如何,我首先要运行getText()。其中名为“hello.xlsx”的excel文件模板保存为用户从对话框中提供的名称。之后,我将转到addItem(),打开保存的excel文件并写入用户数据。这就是我的问题所在。当我执行self.addItem()时,它不会转到addItem。希望这是有道理的。谢天谢地,我终于明白了,但不确定这是不是正确的方法。我就是这样做的。按下“提交”按钮后,转到“附加项”。addItem将数据写入excel文件并保存。从这里调用dialogbox。要求用户输入文件名,打开上次保存的excel文件,并将其另存为用户输入文件名。由于某些原因,我不能换一种方式(比如首先转到dialog和addItem)。这里没有足够的内容来说明整个程序的结构,它决定了将信息从一个部分传递到另一个部分的正确方式。我听到了Davis。这是我第一次在这里发布,所以我不确定是否要放置整个代码。我终于找到了把整个代码放在这里的方法。我能够使一切工作,除了现在坚持把图像写入excel文件。感谢你们所有的人让我走到了这一步。例如,您将在方法
getText()
中使用方法
addItem()
的哪些变量。给我一个线索。无论如何,您可以将
AppWindow
类放在
App
之前,从
getText()
方法中创建对象
AppWindow
,并调用
addItem()
。还有其他方法。这要看情况了,你打算怎么做。谢谢你的回复。我将尝试您的解决方案,并将更新。这是我第一次在这个网站上,不知道我是否可以粘贴我的所有代码?无论如何,我首先要运行getText()。其中名为“hello.xlsx”的excel文件模板保存为用户从对话框中提供的名称。之后,我将转到addItem(),打开保存的excel文件并写入用户数据。这就是我的问题所在。当我执行self.addItem()时,它不会转到addItem。希望这是有道理的。谢天谢地,我终于明白了,但不确定这是不是正确的方法。我就是这样做的。按下“提交”按钮后,转到“附加项”。addItem将数据写入excel文件并保存。从这里调用dialogbox。要求用户输入文件名,打开上次保存的excel文件,并将其另存为用户输入文件名。由于某些原因,我不能换一种方式(比如首先转到dialog和addItem)。这里没有足够的内容来说明整个程序的结构,它决定了将信息从一个部分传递到另一个部分的正确方式。我听到了Davis。这是我第一次在这里发布,所以我不确定是否要放置整个代码。我终于找到了把整个代码放在这里的方法。我能够使一切工作,除了现在坚持把图像写入excel文件。谢谢你们让我走这么远。
class AppWindow(QMainWindow, Ui_MainWindow):
    def __init__(self):
        super(AppWindow, self).__init__()

    def addItem(self):
        auditdate = self.dateEdit.date()
        a = auditdate.toPyDate()
        area = self.lineEdit_Area.text()