《Python+Kivy(App开发)从入门到实践》自学笔记:设置页面背景——使用纯色背景

章节知识点总揽

3.1 设置页面背景

        在创建一个widget控件后,Kivy会自动为其生成一个canvas画布,作为绘制对象。可以通过canvas画布设置颜色、尺寸、用图片当背景。

3.1.1 使用纯色背景

        新建main.py文件,从kivy.grahpics包导入Ractengle和Color属性来绘制矩形和设置颜色。具体代码如下:

from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.graphics import Rectangle,Color

class BoxLayoutWidget(BoxLayout):
    def __init__(self,**kwargs):
        super().__init__(**kwargs)

        #设置背景
        with self.canvas:
            #设置背景色,rgba格式,通常值为0-1之间(具体的值/255)
            Color(1,1,1,1)
            Rectangle(pos=self.pos,size=self.size)

class BoxApp(App):
    def build(self):
        return BoxLayoutWidget()

if __name__ == '__main__':
    BoxApp().run()
    

        运行main.py文件,在窗口左下角有一个100x100的白色矩形。如下图:

c4d51626c6284b58b083818bebe0a61e.png

         如果要让左下角100x100的白色矩形充满整个窗口,需要在小部件更改时,更新矩形的pos属性,设置为自动调整大小即可。关键代码如下:

from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.graphics import Rectangle,Color

class BoxLayoutWidget(BoxLayout):
    def __init__(self,**kwargs):
        super().__init__(**kwargs)

        #设置背景
        with self.canvas:
            #设置背景色,rgba格式,通常值为0-1之间(具体的值/255)
            Color(1,1,1,1)
            Rectangle(pos=self.pos,size=self.size)
            self.bind(pos=self.update_rect,size=self.update_rect)

    #更新尺寸函数,保持self.rect.pos/size等于窗口尺寸
    def update_rect(self,*args):
        #设置背景尺寸
        self.rect.pos=self.pos
        self.rect.size=self.size

class BoxApp(App):
    def build(self):
        return BoxLayoutWidget()

if __name__ == '__main__':
    BoxApp().run()
    

        运行main.py文件,可以看到窗口已经被白色举行全部填充。

f42750f391ce46bcb4f747aefd4d4139.png

         使用.kv实现以上效果:

        修改main.py文件,删除其中布局相关设置,具体如下:

from kivy.app import App
from kivy.uix.boxlayout import BoxLayout


class BoxLayoutWidget(BoxLayout):
    def __init__(self,**kwargs):
        super().__init__(**kwargs)


class BoxApp(App):
    def build(self):
        return BoxLayoutWidget()


if __name__ == '__main__':
    BoxApp().run()

        根据新建的BoxApp类,新建box.kv文件,内容如下:

<BoxLayoutWidget>:
	canvas:
		Color:
			rgba:[1,1,1,]
		Rectangle:
			size:self.size
			pos:self.pos

        运行效果如下图:

05b5f16411a2410e86795faa3ddb6e38.png

        可以使用Kivy提供的更简单的方法:直接设置窗口颜色,代码如下:

from kivy.core.window import Window
from kivy.utils import get_color_from_hex
Window.clearcolor = get_color_from_hex('#ffffff')

上一篇:计时重置

下一篇:使用图片背景

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Python GUI设计PyQt5从入门实践.pdf》是一本介绍如何使用PyQt5库进行Python图形用户界面(GUI)设计的实践指南。该书涵盖了PyQt5库的基础知识、常用控件的使用以及高级主题,为读者提供了全面的学习和实践的机会。 这本书的目录相当全面,每章都详细介绍了相关的概念和使用技巧。第一章首先介绍了PyQt5的安装和基本的GUI编程概念,为读者打下了坚实的基础。之后,每章都介绍了不同的控件,如按钮、文本框、下拉菜单等,并演示了如何使用它们创建一个完整的GUI应用程序。作者提供了丰富的实例代码和图像以供读者参考。 此外,书中还介绍了PyQt5的高级特性,如布局管理器、信号与槽机制、多线程编程等。通过学习这些内容,读者将能够更高效地设计和开发复杂的GUI应用程序。 这本书的优势在于其实践性。每个章节都包含了大量的实例,读者可以通过这些实例来巩固所学知识,并了解如何将其应用到实际项目中。此外,书中还包含了一些实际项目的案例研究,读者可以通过模仿这些项目来提升自己的GUI设计和编程能力。 总体而言,《Python GUI设计PyQt5从入门实践.pdf》是一本很好的学习资源,适合想要学习PyQt5库的GUI设计和编程的Python开发人员。无论是初学者还是有一定经验的开发人员,都可以从这本书中获得很大的收益。希望读者可以通过这本书快速入门并掌握PyQt5的GUI设计技术。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静候光阴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值