个性化阅读
专注于IT技术分析

Python Kivy圆角按钮用法示例

Kivy是Python中与平台无关的GUI工具。由于它可以在Android, IOS, Linux和Windows等操作系统上运行。它基本上是用于开发Android应用程序, 但这并不意味着它不能在桌面应用程序上使用。

在本文中, 我们将学习如何在kivy python中将按钮圆角化。

现在出现一个问题–在猕猴桃中为按钮创建圆角的首选方法是什么?

基本上,这是一个棘手的问题。我们知道小部件总是一个矩形,但是我们可以改变小部件的背景,并通过使用按钮的一些属性,如background_normal和background_down属性,分别为按钮的正常状态和下状态放置一些图像。

同样,要使按钮的边角圆润,你还必须了解按钮的另一个属性,即border属性。

background_down:
1)按下按钮时用于默认图形表示的按钮的背景图像。
2)background_down是StringProperty。
background_normal:
1)未按下按钮时用于默认图形表示的按钮的背景图像。
2)background_normal也是StringProperty边框:
1)用于BorderImage图形指令的Border。与background_normal和background_down一起使用。可以用于自定义背景。
2)它必须是四个值的列表:(底部, 右侧, 顶部, 左侧)。
3)border是ListProperty, 默认为(16, 16, 16, 16)

Kivy教程–通过示例学习Kivy。

以上所有属性的语法:

background_normal: 'normal.png'
background_down: 'down.png'
border: 30 , 30 , 30 , 30
Basic Approach:

-> import kivy
-> import kivy App
-> import button
-> set minimum version(optional)
-> Extend the class :  
              -> create an image a button
              -> Do styling
              -> Use the border property to round the corners of the button
              -> Arrange call back if needed 
-> Add and return a button
-> Run an instance of the class

有了这两个图像normal.png和down.png, 你可以开始添加圆形边框。

Python Kivy圆角按钮用法示例1
Python Kivy圆角按钮用法示例2

我们将在创建圆形按钮时使用以上2张图像。

以下是一段非常简单的代码, 我将尽力解释每件事。

边境财产–中的值边框:30、30、30、30告诉我们按钮边框的左侧, 右侧, 顶部, 底部有多少像素。如果给边框, 例如边框:150、150、150、150这将导致错误的行为, 原因是我们拾取的边框大于实际图像。

现在下面是实现我的方法的代码:

## Sample Python application demonstrating that   
## how to create button corners round in kivy 
       
##################################################      
# import kivy module 
import kivy 
     
# this restrict the kivy version i.e 
# below this kivy version you cannot 
# use the app or software 
kivy.require( "1.9.1" ) 
     
# base Class of your App inherits from the App class. 
# app:always refers to the instance of your application 
from kivy.app import App 
     
# creates the button in kivy 
# if not imported shows the error 
from kivy.uix.button import Button
   
# this restrict the kivy version i.e   
# below this kivy version you cannot   
# use the app or software   
kivy.require( '1.9.0' )  
      
# to change the kivy default settings we use this module config 
from kivy.config import Config 
      
# 0 being off 1 being on as in true /false 
# you can use 0 or 1 && True or False 
Config. set ( 'graphics' , 'resizable' , True )
   
     
# class in which we are creating the imagebutton 
class ButtonApp(App): 
         
     def build( self ): 
   
         # create a fully styled functional button
         # Adding images normal.png and down.png
         btn = Button(text = "Push Me !" , background_normal = 'normal.png' , background_down = 'down.png' , # Added the border property to round the corners of the button
                      border = 30 , 30 , 30 , 30 , size_hint = (. 3 , . 3 ), pos_hint = { "x" : 0.35 , "y" : 0.3 }
                    ) 
  
         # Returning the button
         return btn 
             
     
# creating the object root for ButtonApp() class  
root = ButtonApp() 
     
# run function runs the whole program 
# i.e run() method which calls the target 
# function passed to the constructor. 
root.run()

输出如下:

Python Kivy圆角按钮用法示例3
Python Kivy圆角按钮用法示例4

注意:小部件仍然是矩形。这意味着即使你单击圆角, 该按钮仍会接收该事件。

首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。


赞(0) 打赏
未经允许不得转载:srcmini » Python Kivy圆角按钮用法示例
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏