2011-01-11 110 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和它自己的名稱。方法AdjustWindow應接受這三個參數並將調用窗口定位到所需的座標。

在上面的代碼中,儘管我已經通過了參數,但未遵循如何修改AdjustWindow方法。

+0

您的縮進似乎被打破。 – 2011-01-11 18:08:23

回答

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) 

編輯: 我發現this page這似乎是你從抓住的代碼。 你的班級不是從QtGui.QWidget繼承,所以撥打geometry()move()將失敗。一旦你這樣做,它看起來像它的代碼是:

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

不過,你仍然需要弄清楚如何讓你的類作爲控制與windowName窗口中的一個。看起來這個軟件包用於製作GUI,而不是控制外部窗口。我可能錯了,因爲我只讀過足夠的答案。

+0

在這種情況下,我們在哪裏調整窗口位置?它應該是self.wName.move ...? – RKh 2011-01-11 18:21:03

相關問題