python创建透明窗体_python – PyQt5:使用不透明的子项创建半透明窗口
我想创建一个半透明背景的全屏窗口,但是完全可见的子窗口小部件(覆盖效果的种类).
这是我到目前为止所拥有的:
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
app = QApplication(sys.argv)
# Create the main window
window = QMainWindow()
window.setWindowOpacity(0.3)
window.setAttribute(Qt.WA_NoSystemBackground, True)
window.setWindowFlags(Qt.FramelessWindowHint)
# Create the button
pushButton = QPushButton(window)
pushButton.setGeometry(QRect(240, 190, 90, 31))
pushButton.setText("Finished")
pushButton.clicked.connect(app.quit)
# Center the button
qr = pushButton.frameGeometry()
cp = QDesktopWidget().availableGeometry().center()
qr.moveCenter(cp)
pushButton.move(qr.topLeft())
# Run the application
window.showFullScreen()
sys.exit(app.exec_())
这会产生半透明效果,但即使按钮也是半透明的.
我也试过替换了
window.setWindowOpacity(0.3)
通过这个电话
window.setAttribute(Qt.WA_TranslucentBackground, True)
但无济于事,在这种情况下,背景是完全透明的(按钮正确完全可见).
解决方案:(感谢Aaron的建议):
诀窍在于为主窗口实现自定义paintEvent.
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
class CustomWindow(QMainWindow):
def paintEvent(self, event=None):
painter = QPainter(self)
painter.setOpacity(0.7)
painter.setBrush(Qt.white)
painter.setPen(QPen(Qt.white))
painter.drawRect(self.rect())
app = QApplication(sys.argv)
# Create the main window
window = CustomWindow()
window.setWindowFlags(Qt.FramelessWindowHint)
window.setAttribute(Qt.WA_NoSystemBackground, True)
window.setAttribute(Qt.WA_TranslucentBackground, True)
# Create the button
pushButton = QPushButton(window)
pushButton.setGeometry(QRect(240, 190, 90, 31))
pushButton.setText("Finished")
pushButton.clicked.connect(app.quit)
# Center the button
qr = pushButton.frameGeometry()
cp = QDesktopWidget().availableGeometry().center()
qr.moveCenter(cp)
pushButton.move(qr.topLeft())
# Run the application
window.showFullScreen()
sys.exit(app.exec_())
python创建透明窗体_python – PyQt5:使用不透明的子项创建半透明窗口相关推荐
- python画卡通人物_python pyqt5 卡通人物形状窗体
-- coding: utf-8 -- """ [简介] 不规则的,可以拖动的窗体实现例子 """ import sys from PyQt ...
- python qt designer 重定向_Python+PyQt5+QtDesigner+PyUic+PyRcc环境安装与配置
Python+PyQt5+QtDesigner+PyUic+PyRcc环境安装与配置 Python+PyQt5+QtDesigner+PyUic+PyRcc环境安装与配置 Python+PyQt5+Q ...
- python自己创建模块路径_python之本地模块/包使用和创建
image.png 模块 模块实质上就是一个python文件. 它是用来组织代码的,文件名其实就是模块名. 例如hello.py hello就是模块的名称. 包 包(package),本质来说就是一个 ...
- python 做界面时如何使图片保持透明背景_Python matplotlib生成图片背景透明的示例代码...
使用matplotlib生成图片,想要背景透明,而且图例部分也显示透明效果,找到了大概的设置方法,特此记录. # coding=utf-8 # matplotlib背景透明示例图 # python 3 ...
- python 做界面时如何使图片保持透明背景_Python matplotlib生成图片背景透明
使用matplotlib生成图片,想要背景透明,而且图例部分也显示透明效果,找到了大概的设置方法,特此记录. # coding=utf-8 # matplotlib背景透明示例图 # python 3 ...
- python 修改文件创建时间_python 两种方法修改文件的创建时间、修改时间、访问时间...
突如其来想知道一下 python 如何修改文件的属性(创建.修改.访问时间),于是就去网上搜集了可行方案,也就有了这篇博客 方案一 from win32file import CreateFile, ...
- python蜡烛图预测_Python数据可视化:如何用mplfinance创建蜡烛图
一图胜千言,使用Python的matplotlib库,可以快速创建高质量的图形. 我们团队推出一个新的系列教程:Python数据可视化,针对初级和中级用户,将理论和示例代码相结合,使用matplotl ...
- python创建匿名函数_Python练习实例48 | 使用lambda来创建匿名函数。
关于lambda函数,在Python当中属于匿名函数,顾名思义,就是函数严格上来说只是定义了一个算法,并没有具体的名称. 小黄人.jpg 关于究竟什么是lambda函数,作者这里在这里也不做过多的讲解 ...
- python自动切换链接_python+selenium自动化(四)之selenium切换窗口
当我们点击某个链接时,切换换到另一个窗口,这时就需要跟随切换到新打开的页面,去定位元素. 1.获取当前页面句柄 current_window_handle importtimefrom seleni ...
最新文章
- linux下的软硬资源限制,关于ulimit命令修改软硬资源大小说明及正确修改软硬资源限制数配置...
- Ubuntu18.04安装Intel® oneAPI Toolkit
- vue 高德地图多边形_Vue + 高德地图画矢量图
- JAVA——Windows双击jar包为可执行操作
- 使用Elasticsearch 构建 .NET 企业级搜索
- OpenCV学习笔记(十):图像金字塔Pyramid和图像缩放:pyrDown(),pyrUp(),resize()
- 2019技术学习规划
- 欧姆字符的编码c语言,《编码:隐匿在计算机软硬件背后的语言》读书笔记
- Spring整合Redis作为缓存
- 数据科学包14-matplotlib-6种图形的基本画法
- L1-005 考试座位号 (15 分)—团体程序设计天梯赛
- 前端加密使用AES与后端配合(ECB)
- python做一个浏览器_用python做一个简单的浏览器
- 在开放环境的步态识别:一个基准(三)
- 知识图谱—知识存储—仅用neo4j搭建简单的金融知识图谱
- 统计检测(statistical tests)
- 「冰狐智能辅助」如何在线实时调试?
- java生成tga图片_游戏制作行业为什么使用TGA格式的贴图而不使用PNG格式?
- 全国青少年信息学奥林匹克竞赛到底是什么?
- Android免费离线文字转语言+讯飞语记
热门文章
- C++中的内联函数和C中的宏定义的区别
- 二叉查找树及其C语言实现
- json-lib 的maven dependency
- 资源位图android4.2中为什么要高效的处理位图资源
- jQuery框架总体分析
- Windows2008 可用的通用蓝牙驱动程序
- 女孩!自重!上海出租车司机的话
- 对于引用的控件被拒绝访问的解决办法的补充(续)
- java entry迭代,如何迭代Entry / BarEntry ArrayList并修改它们的值MPAndroid Chart
- netbeans 添加gif图片_告别PC 用手机完成各种GIF动画编辑