2011-01-11 5 views
0

画面上の任意の場所にウィンドウを配置するメソッドを含むクラスを作成しました。私はPyQt4をGUIプログラミングに使用しています。私は次のクラスを書いた:クラス名にパラメータとしてのウィンドウ名を渡す

from PyQt4 import QtGui 

class setWindowPosition: 
    def __init__(self, xCoord, yCoord, windowName, parent = None): 
     self.x = xCoord 
     self.y = yCoord 
     self.wName = windowName; 

    def AdjustWindow(self): 
     screen = QtGui.QDesktopWidget().screenGeometry() 
     size = self.geometry() 
     self.move((screen.width()-size.width())/2, (screen.height()-size.height())/2) 

このコードは修正が必要です。このクラスをインポートするファイルは、desired_X_Position,desired_Y_positionという3つのパラメータと、このクラスの独自の名前を渡します。 AdjustWindowメソッドは、これらの3つのパラメータを受け入れ、呼び出しウィンドウを目的の座標に配置する必要があります。

上記のコードでは、パラメータを渡しましたが、AdjustWindowメソッドを変更する方法に従っていません。

+0

あなたのインデントが壊れているようです。 –

答えて

1

あなたが尋ねようとしていることは完全には明確ではありませんが、コンストラクタで設定したのと同じ方法でメソッドの値にアクセスします。

from PyQt4 import QtGui 

class setWindowPosition: 
    def __init__(self, xCoord, yCoord, windowName, parent = None): 
     self.x = xCoord 
     self.y = yCoord 
     self.wName = windowName; 

    def AdjustWindow(self): 
     print self.x, self.y, self.wName //See Here 
     //now use them how you want 
     screen = QtGui.QDesktopWidget().screenGeometry() 
     size = self.geometry() 
     self.move((screen.width()-size.width())/2, (screen.height()-size.height())/2) 

EDIT: 私はあなたからのコードをつかん場所であるように思われthis pageを見つけました。 クラスがQtGui.QWidgetから継承していないため、geometry()move()への呼び出しが失敗します。あなたがそれを行うと、それは、コードは次のようになり、それのようになります。しかし

def AdjustWindow(self): 
    self.move(self.x, self.y) 

、あなたはまだwindowNameでウィンドウをコントロールとしてあなたのクラスを持ってする方法を理解する必要があります。このパッケージは、GUIを作成し、外部ウィンドウを制御しないためのものです。私はこの答えを出すのに十分なだけ読んだので間違っている可能性があります。

+0

その場合、ウィンドウの位置を調整する場所はどこですか?それはself.wName.moveなのでしょうか? – RKh

+0

私は、変数にアクセスする方法を説明しましたが、あなたが求めていた質問のように見えました。あなたのコメントが私にあなたが実際に尋ねていると思うものに基づいて詳細について私の編集をチェックしてください。 – unholysampler

+0

はい私はQtGui.QDesktopWidgetの必要がないことに気付きました。しかし、編集されたコードでは、パラメータwNameのどこには言及していませんか? – RKh

関連する問題