鱼C论坛

 找回密码
 立即注册
12
返回列表 发新帖
楼主: cjjJasonchen

[作品展示] 【PygameGUI2.0 开发日志】 输入框终于来啦!

[复制链接]
 楼主| 发表于 2024-3-18 19:41:06 | 显示全部楼层
本帖最后由 cjjJasonchen 于 2024-3-18 19:45 编辑
python爱好者. 发表于 2024-3-18 18:53
就是说像截图软件配的那种透明窗口一样,自己不显示内容


你指的是哪个部分?pygame的display的窗口是不能透明的,我的window窗口和frame一样都是可以透明的,输入框的那个圆角白色方块也是可以换成透的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-3-18 22:20:54 | 显示全部楼层
cjjJasonchen 发表于 2024-3-18 19:39
复杂度不高,鼠标要改变的大小和位置我的全屏框架中都是算好的,但是之前说的函数方法仍然需要,这个改变 ...

可如果后期开发时需要与Pygame自带方法相结合,那这个方法就会出现兼容问题,就像现在一样
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-3-18 22:23:05 | 显示全部楼层
cjjJasonchen 发表于 2024-3-18 19:41
你指的是哪个部分?pygame的display的窗口是不能透明的,我的window窗口和frame一样都是可以透明的,输 ...

最外层那个display,其实也不是不能透明:
  1. import sys
  2. from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel
  3. from PyQt5.QtGui import QPixmap, QPalette
  4. from PyQt5.QtCore import Qt

  5. class TransparentWindow(QMainWindow):
  6.     def __init__(self):
  7.         super().__init__()
  8.         self.setWindowFlags(Qt.FramelessWindowHint)  # 无边框
  9.         self.setAttribute(Qt.WA_TranslucentBackground)  # 背景透明
  10.         self.initUI()

  11.     def initUI(self):
  12.         label = QLabel(self)
  13.         label.setPixmap(QPixmap("your_image.png"))  # 替换为你的图片路径
  14.         label.setScaledContents(True)
  15.         self.setCentralWidget(label)

  16.         self.setGeometry(100, 100, 800, 600)  # 窗口位置和大小
  17.         self.show()

  18. if __name__ == '__main__':
  19.     app = QApplication(sys.argv)
  20.     window = TransparentWindow()
  21.     sys.exit(app.exec_())
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-3-18 22:23:47 | 显示全部楼层
再提个建议:区分单击双击
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-3-18 22:35:36 | 显示全部楼层
python爱好者. 发表于 2024-3-18 22:20
可如果后期开发时需要与Pygame自带方法相结合,那这个方法就会出现兼容问题,就像现在一样

# 获取鼠标位置
pos = pygame.mouse.get_pos()

# 适配全屏框架
pos = (pos[0]-窗口偏移量[0])*窗口缩放比例,pos[1]-窗口偏移量[1])*窗口缩放比例


这样之后使用鼠标位置的时候和以前一样调用pos就好了,

但如果要设定鼠标位置的话就要反过来。

麻烦到是不麻烦了,但是似乎应该专门做一个类用来存放"窗口偏移量和缩放比例",这样会方便调用和修改

(最开始说的方法是修改pygamegui的判定,现在的新方法是修改全屏框架,这样搞以后应该就不太会有不兼容的情况了)


这个不兼容主要是全屏框架的问题,而不是pygamegui的问题,过两天有空了试试看行不行

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +3 收起 理由
python爱好者. + 5 + 5 + 3 最好做一个专门控制转换的,方便后期调整

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-3-18 22:36:08 | 显示全部楼层
python爱好者. 发表于 2024-3-18 22:23
最外层那个display,其实也不是不能透明:

这。。。pygame没有这个功能罢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-3-18 22:38:00 | 显示全部楼层
python爱好者. 发表于 2024-3-18 22:23
再提个建议:区分单击双击

全屏框架的bug改好以后,我会尝试把鼠标交互的判定函数修改权限给到用户,前提是我先重构一下代码。。。。有点乱现在

还有一些存下来的bug我也顺便修好

点评

我很赞同!: 5.0
我很赞同!: 5
加油,你的努力不会白费,一定能做出想要的效果  发表于 2024-3-19 18:39
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-3-19 20:11:23 | 显示全部楼层
python爱好者. 发表于 2024-3-18 22:23
再提个建议:区分单击双击

收到~

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +3 收起 理由
python爱好者. + 5 + 5 + 3 鱼C有你更精彩^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 01:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表