Kivy是Python中与平台无关的GUI工具。由于它可以在Android, IOS, Linux和Windows等操作系统上运行。它基本上是用于开发Android应用程序, 但这并不意味着它不能在桌面应用程序上使用。
在本文中, 我们将学习如何在kivy python中将按钮圆角化。
现在出现一个问题–在猕猴桃中为按钮创建圆角的首选方法是什么?
基本上,这是一个棘手的问题。我们知道小部件总是一个矩形,但是我们可以改变小部件的背景,并通过使用按钮的一些属性,如background_normal和background_down属性,分别为按钮的正常状态和下状态放置一些图像。
【Python Kivy圆角按钮用法示例】同样,要使按钮的边角圆润,你还必须了解按钮的另一个属性,即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圆角按钮用法示例](http://img.readke.com/220607/053Z25K4-0.png)
文章图片
![Python Kivy圆角按钮用法示例](http://img.readke.com/220607/053Z23409-1.png)
文章图片
我们将在创建圆形按钮时使用以上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圆角按钮用法示例](http://img.readke.com/220607/053Z21215-2.png)
文章图片
![Python Kivy圆角按钮用法示例](http://img.readke.com/220607/053Z26338-3.png)
文章图片
注意:小部件仍然是矩形。这意味着即使你单击圆角, 该按钮仍会接收该事件。
首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。
推荐阅读
- Python从数据集中移除常量特征介绍
- Python在kivy中使用.kv文件圆角按钮示例
- Python Kivy Scatter用法示例介绍
- Python使用.kv文件的Kivy中的ScreenManager
- Python seek()函数用法示例介绍
- MySql笔记
- #yyds干货盘点#kubernetes入门基础-Ingress的概念与使用
- NBU的stroage policy执行deuplication动作时报错
- Linux快照利器(Timeshift,备份和还原效果杠杠的!)