我不确定如何制作常用的实用程序文件并使用其中的方法。
以下是一个示例实用程序文件,它将窗口置于屏幕中心:
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的正确方法是什么?我用Google搜索了很多方法,但它只是不起作用。这是一个例子 - 我用它来实现我的应用程序功能而不需要在各个类中复制/粘贴函数等等。
我需要实现的其他代码:
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
答案 0 :(得分:2)
首先,改变
class center():
到
def center(var):
因为您实际上是在尝试定义效用函数,所以它应该是def
而不是class
。
然后在center
函数内,将self
更改为var
(或任何您想要命名的函数参数)