假设我有这个程序:
class Edit(self):
print("something")
class mainclass(self):
def mainmenu(self):
button1 = Button(root,text = "Edit",command = Edit)
如何从带有按钮的课程中调用课程?注意:这仅是示例。 谢谢。
答案 0 :(得分:0)
在此示例中,我使用了Qt:
#!/usr/bin/env python
from Qt import QtWidgets
import sys
class MainWidget(QtWidgets.QWidget):
def __init__(self):
super(MainWidget, self).__init__()
#Layout creation
layout = QtWidgets.QVBoxLayout(self)
self.setLayout(layout)
#Widgets creation
self.button = QtWidgets.QPushButton("button")
#Layout connections
layout.addWidget(self.button)
#Widget connections
self.button.released.connect(self.call_edit)
def call_edit_class(self):
"""
Creates an instance of Edit class
"""
edit_instance = Edit()
class Edit() :
def __init__(self):
"""
Will print "Something" at the initialization step , as soon as the instance is created
"""
print ("Something")
def main():
global widg
app = QtWidgets.QApplication(sys.argv)
widg = MainWidget()
widg.show()
sys.exit(app.exec_())
if __name__ == "__main__":
main()
但是,这不是一个好习惯,最好在MainWidget类中创建一个函数,该函数在每次按下按钮时都会打印“ Something”。
示例: def button_pushed(自己): 打印(“某事”)
您将使用致电: self.button.released.connect(self.button_pushed)
这更简单,所以更好:) 希望对您有所帮助。