0

我不确定如何制作一个通用实用程序文件并使用其中的方法。

这是一个在屏幕上居中显示窗口的示例实用程序文件:

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

这是一个示例用户界面:

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
4

1 回答 1

2

首先,从

class center():

def center(var):

因为您实际上是在尝试定义一个实用函数,所以它应该是 adef而不是class.

然后在center函数内部,更改selfvar(或任何您想要命名函数参数的名称)

于 2012-06-14T13:15:54.560 回答