为什么这两个功能不起作用?
#!/bin/sh
php /home/stjc/app/artisan queue:listen --timeout=60 --tries=5 &
我有这个错误:
class Window(QtGui.QMainWindow):
def __init__(self):
super(Window, self).__init__()
self.setGeometry(500, 150, 500, 600)
self.home()
def home(self):
btn_run = QtGui.QPushButton("Run", self)
btn_run.clicked.connect(self.run)
btn_run.resize(120, 40)
btn_run.move(220, 540)
self.show()
def view_splash(arg1):
label = QLabel("<font color=red size=10<b>" + n[arg1] + "</b></font>")
label.setWindowFlags(Qt.SplashScreen | Qt.WindowStaysOnTopHint)
label.show()
QtCore.QTimer.singleShot(10000, label.hide)
def run(self):
for i in range(len(lines)):
n = random.choice(words)
view_splash(0)
view_splash(1)
time.sleep(600)
我做错了什么? 这应该是什么样的?
答案 0 :(得分:1)
在python中,必须使用self
来访问同一对象的其他方法和属性。当你只是调用view_splash
时,python会查找函数定义,但不会查看Window
的方法。通过明确地为view_splash
添加self.
前缀,python会知道您需要方法Window.view_splash
,它应该按预期工作。
因此,对于您的特定代码,您需要将run
方法更新为以下内容:
def run(self):
for i in range(len(lines)):
n = random.choice(words)
self.view_splash(0)
self.view_splash(1)
time.sleep(600)
我假设该类的其他代码在之外,将lines
和words
定义为Window.run
可以访问的全局变量。< / p>