pyside2 widget界面去除边框后 添加放大 缩小 关闭按钮的代码实现 同时给窗口设置背景图
时间: 2023-09-22 11:05:47 浏览: 259
你可以使用PySide2中的QMainWindow类来实现带有放大、缩小、关闭按钮的窗口,并且可以通过设置窗口样式来去除窗口边框。同时,你可以将窗口的背景图设置为一个QPixmap对象。
以下是一个示例代码:
```python
from PySide2.QtWidgets import QApplication, QMainWindow, QLabel, QPushButton
from PySide2.QtGui import QPixmap
from PySide2.QtCore import Qt
class MyMainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 设置窗口样式,去除边框
self.setWindowFlags(Qt.FramelessWindowHint)
# 设置背景图
pixmap = QPixmap("path/to/background/image.jpg")
background_label = QLabel(self)
background_label.setPixmap(pixmap)
background_label.setGeometry(0, 0, pixmap.width(), pixmap.height())
# 添加放大、缩小、关闭按钮
self.minimize_button = QPushButton("—", self)
self.minimize_button.setGeometry(10, 10, 20, 20)
self.minimize_button.clicked.connect(self.showMinimized)
self.maximize_button = QPushButton("+", self)
self.maximize_button.setGeometry(40, 10, 20, 20)
self.maximize_button.clicked.connect(self.toggleMaximized)
self.close_button = QPushButton("×", self)
self.close_button.setGeometry(70, 10, 20, 20)
self.close_button.clicked.connect(self.close)
if __name__ == "__main__":
app = QApplication([])
window = MyMainWindow()
window.show()
app.exec_()
```
在这个示例中,我们继承了QMainWindow类,并且在构造函数中设置了窗口样式和背景图。同时,我们添加了三个按钮,并且将它们与对应的窗口操作连接起来。你可以根据自己的需求修改按钮的大小、位置和样式。
阅读全文