[英]PyQT4 how to using def from others model
此代码有效:
import sys
from PyQt4 import QtCore, QtGui, QtWebKit
from forma import Ui_MainWindow
class MyForm(QtGui.QMainWindow):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
QtCore.QObject.connect(self.ui.pushButton,QtCore.SIGNAL("clicked()"), self.strona)
def strona(self):
self.ui.webView.setUrl(QtCore.QUrl("http://plemiona.pl"))
但是这个
funkcje.py
from PyQt4 import QtCore, QtGui, QtWebKit
from forma import Ui_MainWindow
def strona():
self.ui.webView.setUrl(QtCore.QUrl("http://xxxx.pl"))
import sys, time, funkcje
from PyQt4 import QtCore, QtGui, QtWebKit
from forma import Ui_MainWindow
class MyForm(QtGui.QMainWindow):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
QtCore.QObject.connect(self.ui.pushButton,QtCore.SIGNAL("clicked()"), funkcje.strona)
不起作用...
Traceback (most recent call last):
File "C:\Python33\liczbapierwsza\TribalWarsBot\funkcje.py", line 5, in przejdz_na_strone_plemion
QtGui.QWidget.__init__(self, parent)
NameError: global name 'self' is not defined
如何从funkcje.py导入函数并在ex run.py中使用
strona
需要访问类实例self。 我不确定如何使用Qt传递self
参数,但是您始终可以将包装函数作为类的一部分编写,该函数调用strona
并传递self参数。 或导入类型并将types.MethodType(funkcje.strona, self, MyForm)
到类构造函数( __init__
)。 这会将funkcje.strona添加到类中。 请注意,后者未经我测试。
编辑:这是做什么:
class MyForm(QtGui.QMainWindow):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
types.MethodType(strona, self, MyForm)
QtCore.QObject.connect(self.ui.pushButton,QtCore.SIGNAL("clicked()"), strona)
注意:这未经测试。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.