我创建了一个类,其中包含一个将窗口定位在屏幕上任何位置的方法。我正在使用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 :(得分: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而不是控制外部窗口。我可能错了,因为我只读了足够的答案。