def location_on_the_screen(self):
fg = self.frameGeometry()
sbrp = QDesktopWidget().availableGeometry().bottomRight()
fg.moveBottomRight(sbrp)
self.move(fg.topLeft())
我无法将窗口放在屏幕右下角。frameGeometry()的工作不像应该的那样。请帮助我,我该怎么做?
def location_on_the_screen(self):
fg = self.frameGeometry()
sbrp = QDesktopWidget().availableGeometry().bottomRight()
fg.moveBottomRight(sbrp)
self.move(fg.topLeft())
我无法将窗口放在屏幕右下角。frameGeometry()的工作不像应该的那样。请帮助我,我该怎么做?
这里是Windows的一个可能解决方案:
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QDesktopWidget
class MyWidget(QWidget):
def __init__(self):
super().__init__()
self.setFixedSize(400, 300)
def location_on_the_screen(self):
ag = QDesktopWidget().availableGeometry()
sg = QDesktopWidget().screenGeometry()
widget = self.geometry()
x = ag.width() - widget.width()
y = 2 * ag.height() - sg.height() - widget.height()
self.move(x, y)
if __name__ == '__main__':
app = QApplication(sys.argv)
widget = MyWidget()
widget.location_on_the_screen()
widget.show()
app.exec_()
from PyQt5.QtWidgets import QMainWindow, QLabel
from PyQt5.QtWidgets import QGridLayout, QWidget, QDesktopWidget
#------------------------------
def center_window():
qtRectangle = self.frameGeometry()
centerPoint = QDesktopWidget().availableGeometry().center()
qtRectangle.moveCenter(centerPoint)
self.move(qtRectangle.topLeft())
#---------------------------------
if __name__ == '__main__':
app = QApplication(sys.argv)
widget = MyWidget()
widget.window_center():
widget.show()
app.exec_()
QWidget
的子类。如果是这样,以下内容应该符合你的需求:import sys
from PyQt5.QtWidgets import QApplication, QWidget, QDesktopWidget
class MyWidget(QWidget):
def __init__(self):
super().__init__()
self.setFixedSize(400, 300)
def location_on_the_screen(self):
screen = QDesktopWidget().screenGeometry()
widget = self.geometry()
x = screen.width() - widget.width()
y = screen.height() - widget.height()
self.move(x, y)
if __name__ == '__main__':
app = QApplication(sys.argv)
widget = MyWidget()
widget.location_on_the_screen()
widget.show()
app.exec_()
QDesktopWidget().screenGeometry()
考虑。 - Daniele Pantaleone