0

在这里完全放屁,甚至不确定我问的是正确的问题。如何添加/更改类中存在的类的方法?

我正在构建一个用 QtDesigner 设计的 QT GUI。我的 Python 程序导入并创建了一个新类,它是 GUI 文件类的子类。我想将方法​​更改为该类中的按钮。

所以基本上我有以下内容,我想向'aButton'添加一个方法。

qtDesignerFile.py

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        self.aButton = QtGui.QPushButton()

我的Python文件.py

import qtDesignerFile

class slidingAppView(QMainWindow,slidingGuiUi.Ui_MainWindow):
    def __init__(self,parent=None):
        super(slidingAppView,self).__init__(parent)
4

2 回答 2

2

要添加到 Joran 的答案,添加如下方法:

def foo():
    pass

instance.foo = foo

将像静态方法一样工作(它们不会将实例作为第一个参数传递)。如果要添加绑定方法,可以执行以下操作:

from types import MethodType

def foo(instance):
    # this function will receive the instance as first argument
    # similar to a bound method
    pass

instance.foo = MethodType(foo, instance, instance.__class__)
于 2013-03-19T00:10:27.453 回答
0
self.aButton.PrintHello = lambda : print "hello!"

或者

def aMethod():
    do_something()

self.aButton.DoSomething = aMethod 

要么应该工作......可能还有更多方法......这假设aButton是一个继承自Object的python类

于 2013-03-18T23:38:04.110 回答