尝试在 kivy 上制作圆形按钮时出现问题

Posted

技术标签:

【中文标题】尝试在 kivy 上制作圆形按钮时出现问题【英文标题】:Problem when trying to make a circular button on kivy 【发布时间】:2021-04-22 07:19:20 【问题描述】:
from kivy.uix.button import Button
from kivy.uix.behaviors.button import ButtonBehavior
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.image import Image
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.clock import Clock
from kivy.uix.widget import Widget
from kivy.graphics import BorderImage
from kivy.graphics import Color, RoundedRectangle, Rectangle, Triangle
from kivy.core.window import Window
#from kivy.config import Config
from kivy.uix.checkbox import CheckBox 
from kivy.uix.popup import Popup
from kivy.uix.scrollview import ScrollView
from kivy.uix.filechooser import FileChooserListView
from kivy.properties import ObjectProperty


class OpeningPage(FloatLayout):
    def __init__(self, **kwargs): 
        super().__init__(**kwargs)
        
        
        self.but = RoButton(text = 'START', pos = (350,100), font_size=14, size=(100,60), size_hint=(None,None))
        self.add_widget(self.but)
            
                   
class RoButton(Button):
    butt = ObjectProperty()
  
    def __init__(self, **kwargs): 
        super(RoButton, self).__init__(**kwargs)
        text = self.text
        with self.canvas:
           # Color(1., 0, 0)
            self.butt = RoundedRectangle( size= self.size, pos = self.pos, radius =[400])
                      

class UI(App):
    def build(self):
        
        self.screen_manager = ScreenManager()
        
        self.opening_page = OpeningPage()
        screen = Screen(name ='Opening_Page')
        screen.add_widget(self.opening_page)
        self.screen_manager.add_widget(screen)
         
        return self.screen_manager



if __name__ == '__main__':
    the_app = UI()
    the_app.run()   

每次我尝试使用此代码制作一个圆形按钮时,我都会在圆圈后面看到一个框。我试过做 self.canvas.before 但如果可能的话仍然没有运气可以用python而不是.kv语言来回答谢谢。 Attached image of problem]1

【问题讨论】:

【参考方案1】:

您看到的框是普通的按钮图像。如果你不想这样,可能不要使用按钮,而是使用class RoButton(ButtonBehavior, Widget):

【讨论】:

以上是关于尝试在 kivy 上制作圆形按钮时出现问题的主要内容,如果未能解决你的问题,请参考以下文章

如何在kivy中制作圆形进度条?

在 PyCharm 上导入 Kivy 时出现错误“[Core] 选项 --mode 无法识别”

在 ubuntu linux 中调试 kivy 应用程序时出现问题,当我尝试调试应用程序时,它开始导入要求,然后显示错误并退出

使用 python kivy 构建应用程序时出现错误

在 Xamarin.Forms 中使用 ToptabbedPage 时出现意外的白色按钮

Kivy:如何在 kivy 中制作圆角 TextInput?