python爱好者. 发表于 2024-3-18 18:53
就是说像截图软件配的那种透明窗口一样,自己不显示内容
你指的是哪个部分?pygame的display的窗口是不能透明的,我的window窗口和frame一样都是可以透明的,输入框的那个圆角白色方块也是可以换成透的。 cjjJasonchen 发表于 2024-3-18 19:39
复杂度不高,鼠标要改变的大小和位置我的全屏框架中都是算好的,但是之前说的函数方法仍然需要,这个改变 ...
可如果后期开发时需要与Pygame自带方法相结合,那这个方法就会出现兼容问题,就像现在一样 cjjJasonchen 发表于 2024-3-18 19:41
你指的是哪个部分?pygame的display的窗口是不能透明的,我的window窗口和frame一样都是可以透明的,输 ...
最外层那个display,其实也不是不能透明:
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel
from PyQt5.QtGui import QPixmap, QPalette
from PyQt5.QtCore import Qt
class TransparentWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowFlags(Qt.FramelessWindowHint)# 无边框
self.setAttribute(Qt.WA_TranslucentBackground)# 背景透明
self.initUI()
def initUI(self):
label = QLabel(self)
label.setPixmap(QPixmap("your_image.png"))# 替换为你的图片路径
label.setScaledContents(True)
self.setCentralWidget(label)
self.setGeometry(100, 100, 800, 600)# 窗口位置和大小
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
window = TransparentWindow()
sys.exit(app.exec_())
再提个建议:区分单击双击 python爱好者. 发表于 2024-3-18 22:20
可如果后期开发时需要与Pygame自带方法相结合,那这个方法就会出现兼容问题,就像现在一样
# 获取鼠标位置
pos = pygame.mouse.get_pos()
# 适配全屏框架
pos = (pos-窗口偏移量)*窗口缩放比例,pos-窗口偏移量)*窗口缩放比例
这样之后使用鼠标位置的时候和以前一样调用pos就好了,
但如果要设定鼠标位置的话就要反过来。
麻烦到是不麻烦了,但是似乎应该专门做一个类用来存放"窗口偏移量和缩放比例",这样会方便调用和修改
(最开始说的方法是修改pygamegui的判定,现在的新方法是修改全屏框架,这样搞以后应该就不太会有不兼容的情况了)
这个不兼容主要是全屏框架的问题,而不是pygamegui的问题,过两天有空了试试看行不行{:10_257:} python爱好者. 发表于 2024-3-18 22:23
最外层那个display,其实也不是不能透明:
这。。。pygame没有这个功能罢{:10_266:} python爱好者. 发表于 2024-3-18 22:23
再提个建议:区分单击双击
全屏框架的bug改好以后,我会尝试把鼠标交互的判定函数修改权限给到用户,前提是我先重构一下代码。。。。有点乱现在{:10_250:}
还有一些存下来的bug我也顺便修好 python爱好者. 发表于 2024-3-18 22:23
再提个建议:区分单击双击
收到~
页:
1
[2]