python分段错误
我想用python在弹出窗口中显示一条消息…所以我写了这段代码…请检查python分段错误,python,pyqt,pyqt4,Python,Pyqt,Pyqt4,我想用python在弹出窗口中显示一条消息…所以我写了这段代码…请检查 import sys from PyQt4.Qt import * class MyPopup(QWidget): def __init__(self): print "6" QWidget.__init__(self) class MainWindow(QMainWindow): def __init__(self, *args): print "4"
import sys
from PyQt4.Qt import *
class MyPopup(QWidget):
def __init__(self):
print "6"
QWidget.__init__(self)
class MainWindow(QMainWindow):
def __init__(self, *args):
print "4"
QMainWindow.__init__(self, *args)
self.cw = QWidget(self)
self.setCentralWidget(self.cw)
self.btn1 = QPushButton("Start Chat", self.cw)
self.btn1.setGeometry(QRect(50, 30, 100, 30))
self.connect(self.btn1, SIGNAL("clicked()"), self.doit)
self.w = None
def doit(self):
print "5"
print "Opening a new popup window..."
self.w = MyPopup()
self.w.setGeometry(QRect(0, 0, 400, 200))
self.w.show()
class App(QApplication):
def __init__(self, *args):
print "3"
QApplication.__init__(self, *args)
self.main = MainWindow()
#self.connect(self, SIGNAL("lastWindowClosed()"), self.byebye )
self.main.show()
#def byebye( self ):
#self.exit(0)
for i in range(1, 5):
if __name__ == "__main__":
print "1"
global app
app = App(sys.argv)
app.exec_()
#main(sys.argv)
else:
print "over"
这里第一个循环正常,但从第二个循环开始,我发现了分段错误……各位请帮帮我。一个应用程序中应该只有一个QApplication对象。我想你的问题是你试图在一个循环中创建几个 如果希望用户在主窗口实际关闭之前关闭四次,可以添加事件处理程序:
class MainWindow(QMainWindow):
def __init__(self, *args):
...
self.counter = 1
def closeEvent(self, event):
print "closeEvent", self.counter
self.counter += 1
if self.counter < 5:
event.ignore()
else:
event.accept()
class主窗口(QMainWindow):
定义初始化(self,*args):
...
self.counter=1
def关闭事件(自身、事件):
打印“closeEvent”,self.counter
self.counter+=1
如果self.counter<5:
event.ignore()
其他:
event.accept()
那么有没有其他方法来编写它呢???…我想在每个循环中显示弹出窗口…??并且在doit中出现了分段错误function@user1372331恐怕我不太明白你想要什么。好吧……别害怕……但是你明白代码吗???有什么方法可以让我在没有任何错误的情况下完成它吗?您想同时显示多个弹出窗口吗?是否要在用户关闭后重新打开主窗口,并重复几次?帮我解决了这个问题。