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を呼び出す正しい方法は何ですか?私はグーグルでいろいろな方法を試しましたが、うまくいきません。これは例です。さまざまなクラスなどで関数をコピー/貼り付けせずにアプリケーション関数を使用するために使用するものの1つです。

実装する必要のあるその他のコード:

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):

実際に効用関数を定義しようとしているので、のdef代わりに使用する必要がありclassます。

次に、center関数内で、 (または関数パラメーターに名前を付けたいもの)に変更selfします。var

于 2012-06-14T13:15:54.560 に答える