我想知道如何在python中添加关于PyQt窗口的左,右,上和下边缘的填充。我已经在C ++中找到了这个代码,但是我还没能在python中使它工作。请帮我解决。
我正在使用此代码:
quit_button.setStyleSheet("padding:200px")
不幸的是,它似乎不起作用,它将按钮推到窗口的左上角,即使我更改了填充像素,它似乎也不会移动。
注意:我尝试使用quit_button.setStyleSheet("padding-left:200px")
和类似padding-right
,但它所做的只是使按钮标签消失。
结束目标:我希望退出按钮位于窗口的右下边缘。但是当我调整大小时,它应该保持在右下边缘,并且在窗口调整大小时不会停留在它的位置。换句话说,我希望它表现得像'普通'的Windows应用程序一样。
感谢任何帮助。谢谢
答案 0 :(得分:1)
一种可能的解决方案是覆盖resizeEvent()
方法并设置新的按钮位置
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
class Widget(QWidget):
def __init__(self, *args, **kwargs):
QWidget.__init__(self, *args, **kwargs)
self.setMinimumSize(200, 200)
self.quit_button = QPushButton("Quit", self)
def resizeEvent(self, event):
p = self.rect().bottomRight()-QPoint(20, 20) - self.quit_button.rect().bottomRight()
self.quit_button.move(p)
QWidget.resizeEvent(self, event)
if __name__ == '__main__':
app = QApplication(sys.argv)
w = Widget()
w.show()
sys.exit(app.exec_())