"""
无边框
顶层窗口的特定操作一
"""
from PyQt5.Qt import *
import sys
app = QApplication(sys.argv)
# 创建控件
window = QWidget()
# 设置控件
window.setWindowTitle('窗口特定操作案例')
# 设置大小
window.resize(500, 500)
lable = QLabel(window)
# 设置无标题栏方法1
# window = QWidget(flags=Qt.FramelessWindowHint)
# 设置无标题栏方法2
window = QWidget()
window.setWindowFlags(Qt.FramelessWindowHint)
window.setWindowOpacity(0.9)
window.resize(500, 500)
# 规定死大小
top_margin = 10
btn_w = 80
btn_h = 40
# 添加三个子控件 - 窗口右上角
close_btn = QPushButton(window)
close_btn.setText("关闭")
close_btn.resize(btn_w, btn_h)
# 位置
# close_btn_w = btn_w
window_w = window.width()
close_btn_x = window_w - btn_w
close_btn_y = top_margin
close_btn.move(close_btn_x, close_btn_y)
# 最大标签
max_btn = QPushButton(window)
max_btn.setText("最大化")
max_btn.resize(btn_w, btn_h)
# 位置
max_btn_x = close_btn_x - btn_w
max_btn_y = top_margin
max_btn.move(max_btn_x, max_btn_y)
min_btn = QPushButton(window)
min_btn.setText("最小化")
min_btn.resize(btn_w, btn_h)
min_btn_x = max_btn_x - btn_w
min_btn_y = top_margin
min_btn.move(min_btn_x, min_btn_y)
# 测试关闭
# def close():
# window.close()
close_btn.pressed.connect(window.close)
# 测试 -控制最大化按钮变大/恢复功能
def max_normal():
if window.isMaximized():
window.showNormal()
max_btn.setText('最大化')
else:
window.showMaximized()
max_btn.setText('恢复')
max_btn.pressed.connect(max_normal)
min_btn.pressed.connect(window.showMinimized)
# 展示控件
window.show()
# 退出
sys.exit(app.exec_())
网友评论