Μy主类创建一个简单的QmainWindows
,如下所示:
class mcManageUiC(QtGui.QMainWindow):
def __init__(self):
super(mcManageUiC, self).__init__()
self.initUI()
def initUI(self):
self.show()
在我的文件末尾,我这样启动它:
^{pr2}$我的问题是,每次我找到它,它都会启动一个新窗口。 我想知道是否有一种方法可以检测脚本中是否存在以前的类实例(以便关闭旧的类实例或避免启动新的类实例),或者其他任何解决方案?在
另外,在用py2exe编译代码时,Windows上的.exe文件也有同样的问题;它每次都会启动一个新窗口。我能在里面加些什么吗设置.py让Windows不这么做?在
有没有可能,如果是,那怎么办?在
注意:我使用的是Windows7 64位编译eclipse。在
只需添加一个计数器,就可以限制要在代码中创建的实例数:
尝试通过以下方式运行:
^{pr2}$你可以独占一个插座
不知道这是不是一个好的方法,但我过去用过它,它解决了这个问题
这是为了防止启动一个程序时,它已经在运行,而不是从一个脚本启动一个新的窗口,这是产生几个窗口。。。在
有几种方法可以做到这一点,您可以使用一个Class属性来存储所有实例——如果您这样做,您可能希望通过weakref模块将它们存储为弱引用,以防止垃圾收集出现问题:
这有点难看。您可能还想考虑使用某种工厂(有条件地)创建一个新实例。这个方法比较一般。在
^{pr2}$相关问题 更多 >
编程相关推荐