You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyQt5全屏无边框透明窗口设置蓝色边框不显示如何解决

PyQt5无边框窗口蓝色边框不显示解决方案

你遇到的边框不显示问题由三个核心配置错误导致:

  • 调用了setWindowOpacity(0.01)将整个窗口(包括边框)的不透明度设为1%,肉眼几乎无法识别
  • QMainWindow的顶层样式表默认不会直接生效,需要明确指定样式作用对象,否则边框配置会被内部默认的centralWidget覆盖
  • 同时调用了setGeometry和showFullScreen,后者会覆盖前者的尺寸配置,全屏状态下边框会紧贴屏幕边缘,也可能被误认为没显示

修改后可正常运行的代码

from PyQt5.QtWidgets import * 
from PyQt5.QtGui import * 
from PyQt5.QtCore import Qt
import sys
  
class Window(QMainWindow):
    def __init__(self):
        super().__init__()
  
        # 隐藏标题栏
        self.setWindowFlag(Qt.FramelessWindowHint)
        # 明确指定QMainWindow的边框样式,同时设置背景透明
        self.setStyleSheet("QMainWindow {border : 3px solid blue; background: transparent;}")
        # 移除错误的极低全局不透明度配置
        # self.setWindowOpacity(0.01)
        # 设置窗口尺寸
        self.setGeometry(100, 100, 400, 300)
        # 不需要全屏可以注释下一行
        # self.showFullScreen()
  
# 创建PyQt5应用
App = QApplication(sys.argv)
# 实例化窗口
window = Window()
window.show()
# 启动应用
sys.exit(App.exec())

关键修改说明

  • 删掉了全局不透明度配置,如果需要窗口背景透明仅保留边框,通过样式表的background: transparent实现即可,不要修改整个窗口的不透明度
  • 样式表明确指定作用于QMainWindow,避免样式被内部子控件覆盖
  • 可根据需求选择是否保留showFullScreen调用,注释后会显示400*300的带蓝色边框的窗口,更容易识别效果

内容的提问来源于stack exchange,提问作者Himanshu Poddar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 08:45:06