簡體   English   中英

我該如何調用方法?

[英]How do I call to a method?

我不知道如何制作一個通用的實用程序文件並使用其中的方法。

以下是一個示例實用程序文件,它將窗口置於屏幕中心:

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

首先,改變

class center():

def center(var):

因為你實際上是在嘗試定義一個實用函數,所以它應該是def而不是class

然后在center函數內部,將self改為var (或者你想要命名的函數參數)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM