为了账号安全,请及时绑定邮箱和手机立即绑定

在 Kivy 中制作图像进度条

在 Kivy 中制作图像进度条

心有法竹 2021-06-30 21:13:47
我正在尝试制作一个适用于图像的进度条(空背景进度条图像和填充图像)但是,当我尝试这样做时有两个问题。这是我的代码。from kivy.app import Appfrom kivy.uix.progressbar import ProgressBarfrom kivy.uix.image import Imagefrom kivy.core.text import Label as CoreLabelfrom kivy.graphics import Color, Rectanglefrom kivy.lang.builder import Builderfrom kivy.clock import Clockclass CLS_PROGRESS_BAR(ProgressBar):    def __init__(self, background=None, progress_image=None, font_size=20, **kwargs):        super(CLS_PROGRESS_BAR, self).__init__(**kwargs)        self.background = background        self.progress_image = progress_image        self.progress_event = None        self.font_size= font_size        self.label = CoreLabel(text="0%", font_size=self.font_size)        self.texture_size = None        self.refresh_text()        self.draw()        self.progress_event = Clock.schedule_interval(self._progress, 0.5)    def draw(self):        with self.canvas:            self.canvas.clear()            # Background            Image(source=self.background, pos=self.pos, size=self.size)            # Draw Progress bar            Image(source=self.progress_image,pos=self.pos,                  size=(0.001 if self.value_normalized==0 else self.size[0]*self.value_normalized, self.size[1]),第一个问题是,当进程更新时,它从某处随机显示一个白色矩形。当我删除时,那个白色矩形不会出现,Image(source=self.background, pos=self.pos, size=self.size)但我仍然无法弄清楚我应该做什么,因为它是必不可少的。第二个问题是当进度条向右拉伸时,它的高度也会增加。size=(0.001 if self.value_normalized==0 else self.size[0]*self.value_normalized, self.size[1])如上所述,我已经设置了size[1]作为self.size[1]被固定。但是,进度条的高度不断增加。(即使我放了一个静态数字100)
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 213 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号