2011-01-11 6 views
0

화면의 아무 곳에 나 창을 배치하는 메서드가 포함 된 클래스를 만들었습니다. GUI 프로그래밍을 위해 PyQt4를 사용하고 있습니다. 다음과 같은 수업을 썼습니다 :클래스에 매개 변수로 창 이름 전달

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

들여 쓰기가 깨졌습니다. –

답변

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

+0

나는 변수에 접근하는 방법을 당신에게 보여 주었다. 당신이 묻는 질문 인 것처럼 보였다. 내 의견을 통해 내가 실제로 묻고 있다고 생각하는 내용을 기반으로 자세한 내용을 확인하십시오. – unholysampler

+0

예 QtGui.QDesktopWidget이 필요 없음을 알았습니다. 그러나 편집 된 코드에서는 매개 변수 wName을 언급하지 않았습니다. – RKh

관련 문제