2012-06-14 74 views
0

我不确定如何制作常用实用程序文件并使用其中的方法。如何调用方法?

这里是中心屏幕上的一个窗口为例程序文件:

class center(): 
    fg = self.frameGeometry() 
    cs = QtGui.QDesktopWidget().availableGeometry().center() 
    fg.moveCenter(cs) 
    self.move(fg.topLeft()) 

下面是一个例子UI:

import os, sys 
import puppetUtils 
from PyQt4 import QtCore, QtGui 


class puppetUI(QtGui.QMainWindow): 
    def __init__(self): 
     QtGui.QMainWindow.__init__(self) 

     self.setWindowTitle('Puppet') 
     self.setObjectName('PuppetMainWindow') 
     self.resize(1280, 720) 

     puppetUtils.center(self) 

     self.show() 



app = QtGui.QApplication(sys.argv) 
window = puppetUI() 
sys.exit(app.exec_()) 

什么是打电话puppetUtils.center正确的方法是什么?我搜索了很多,尝试了很多方法,但它不起作用。这是一个例子 - 许多之一,我会用有没有遍及各阶层的复制/粘贴功能,我的应用功能等

其他代码,我需要实现:

def mouseMoveEvent(self, event): 
    #create the mouse 'Grab & Move' 
    if self.moving: self.move(event.globalPos()-self.offset) 

def mousePressEvent(self, event): 
    if event.button() == QtCore.Qt.LeftButton: 
     self.moving = True; self.offset = event.pos() 


def mouseReleaseEvent(self, event): 
    if event.button() == QtCore.Qt.LeftButton: 
     self.moving = False 

回答

2

首先,改变从

class center(): 

def center(var): 

,因为你实际上是试图定义一个实用程序ity函数,所以它应该是def而不是class

然后center函数内部,改变selfvar(或者任何你想命名函数参数)

+0

这是如此简单得多比大家都在告诉我,非常感谢的!我将再编辑一个例子,希望你能告诉我如何去实现它?欣赏它 – Vii