easygui修改字体、背景、布局、颜色等个性化样式

您所在的位置:网站首页 字体颜色创意图片 easygui修改字体、背景、布局、颜色等个性化样式

easygui修改字体、背景、布局、颜色等个性化样式

2024-02-24 02:44| 来源: 网络整理| 查看: 265

本人毕设期间,使用的一款简单上手的GUI框架easygui,在高度个性化时出现问题,例如按钮框个性化定制等.那么我是如何解决这些问题的呢?不多bb,直接上图:

在这里插入图片描述

如图,可以看到:在message领域,文字变为黑体且为红色;在images领域,图片多了边框和边框的颜色,页内边距pad发生变化; 最后,button领域字体、外边框、背景颜色等均已个性化。

1.首先,我们需要了解easygui是基于tkinter的GUI框架,那么针对这些格式的个性化,最终是定位到对tkinter底层代码的正确修改。 2.其次,我们需要了解easygui的基本代码逻辑,依照笔者的理解(没有GUI设计的基础),先是有布局框架Frame,再有诸如图片、按钮、文本等实例化操作,本着先有框架布局再有各种实例标签的原则,那么我们就可以针对性的个性化! 3.通过上述铺垫,我们可以进行个性化操作了。第一步,进入对象源码,以button_box为例: a.首先我们查看其类的定义,找到初始类GUItk,如图:

发现它含有类属性 boxFont,其为根窗口root的文字定义。

在这里插入图片描述

此处对其修改,发现message区域首先发生改变,原因是类方法中set_msg()对其有引用。注意:修改golobal_state区域字体格式并不能影响全局,因为设计者并没有在各个标签中都使用到,导致其他未使用的部分字体仍然是默认字体。

b.其次,查看类方法定义如图:

在这里插入图片描述

此处,可以看到针对根窗口root,信息栏message,图片栏images,按钮框button都有Frame的定义!

.那么,就有了个性化的第一步,修改根窗口root。进入该方法下,可以看见一些属性的定义,如图:

在这里插入图片描述

首先,我们想修改根窗口的背景色,发现可以定义其为

self.boxRoot.config(bg='Moccasin')

于是,背景色得以修改。接着有窗口位置、最大窗口、最小窗口、和窗口弹出的最高优先权定义、窗口图标元素等。

.再者,我们尝试修改button中内容的背景色,字体样式等,那么我们要去实现button的方法中去,而不是定义button的布局方法。经过确认,发现定义这些格式的代码如下:

在这里插入图片描述

回到开始,如果需要个性化定义,尤其是增加属性,需要了解tkinter中定义的类模块中是否支持。

本图中,发现Button类中可以个性化添加字体、字体的颜色fg等属性。同时,在grid()方法中,发现了可以设置外边距padx、pady和内边距ipad_x、ipad_y等属性值。

.在了解到grid()方法主要定义页面中元素的布局后,我们可以尝试改变图像、按钮的布局了。首先是按钮布局,如图:

在这里插入图片描述

可以发现,定义的button中,字体背景色、外边框宽度在尝试定义后生效。

在这里插入图片描述

然后就是图片的布局,如上图,你可以猜测我定义了哪些新的内容。

.最后,我们做最后一步,寻找message中字体的设置,如图:

在这里插入图片描述

你甚至可以尝试修改你想要的、它支持的任何属性达到个性化操作。

总结:理解是第一步,实践是第二步。 后续会跟进基于PySimpleGUI的个性化实例。


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3