python ttk style_python – 关于使用ttk.Style()的问题?
为了使ttk.Style()类的实例可用,在此
tkinter guide中说明了语法是:
import ttk
s=ttk.Style()
在IDLE中输入这些命令时,我注意到ttk.Style()实际上有一个预定义的参数,即
s=ttk.Style(master=None)
我写了以下测试脚本:
import tkinter as tk
import tkinter.ttk as ttk
class App(ttk.Frame):
def __init__(self, parent):
ttk.Frame.__init__(self, parent, style='App.TFrame', relief=tk.SUNKEN,
border=10)
self.parent = parent
self.__createStyle()
self.__createWidgets()
def __createStyle(self):
self.s = ttk.Style()
self.s.configure('.', background='orange', border=100)
self.s.configure('App.TFrame', background='yellow')
self.s.configure('Btn.TButton', background='light blue', border=10)
def __createWidgets(self):
self._label = ttk.Label(self.parent, text='Label packed in root.')
self._label.pack()
self._btn = ttk.Button(self, style='Btn.TButton', command=self.__click,
text='Button packed inside self or class App, which is a ttk.Frame')
self._btn.pack()
def __click(self):
return print('Left Button Clicked!')
class myWidget(ttk.Frame):
def __init__(self, parent):
ttk.Frame.__init__(self, parent, style='my.TFrame', relief=tk.GROOVE,
border=10)
self.parent = parent
self.__createStyle()
self.__createWidgets()
def __createStyle(self):
self.s = ttk.Style()
self.s.configure('my.TFrame', background='purple')
self.s.configure('my.TLabel', background='pink', border=10)
self.s.configure('my.TEntry', foreground='red', border=10)
def __createWidgets(self):
self._label = ttk.Label(self, style='my.TLabel',
text='myWidget Label packed in self or class myWidget, which is a ttk.Frame.')
self._label.pack()
self._entry = ttk.Entry(self, style='my.TEntry')
self._entry.pack()
if __name__ == "__main__":
root = tk.Tk()
root.title('Test Style')
root.geometry('500x150')
a = App(root)
a.pack(fill='both', expand=1)
b = myWidget(a)
b.pack()
root.mainloop()
问题1:我什么时候需要在ttk.Style()中声明主要争论?例如.在上面的脚本中,如果我在类myWidget中编写self.s = ttk.Style()和self.s = ttk.Style(master = self.parent),我会得到相同的结果(参见图1).
问题2:是否需要在自己的前缀s = ttk.Style()前缀?我得到的结果如图1所示,有和没有自己的前缀.
问题3:如果我将类myWidget中的’my.TFrame’重命名为’App.TFrame'(此类名称在App类中使用),则App类的背景颜色也变为紫色(与类myWidget颜色相同.为什么考虑到不同类中的变量名是唯一的,这是否发生了?
问题4:名称’App.TFrame’和’my.TFrame’在声明之前被调用.为什么python或tkinter没有抱怨或给出错误但允许脚本执行?
图1
图2
python ttk style_python – 关于使用ttk.Style()的问题?相关推荐
- python ttk.notebook_python – 无法在ttk.Notebook中看到所有选项卡
我在 python 2.7中的ttk Notebook类的选项卡上遇到了一些麻烦. 我看不到我创建的所有标签. 我做了一个最小的代码来查看问题: from Tkinter import * impor ...
- python coding style_python coding style guide 的高速落地实践
python coding style guide 的高速落地实践 机器和人各有所长,如coding style检查这样的可自己主动化的工作理应交给机器去完毕,故发此文帮助你在几分钟内实现coding ...
- Python编程代码规范(Google Style)
原文:https://www.jianshu.com/p/8b6c425b65a6 在编程过程中,要遵循一定的规则,包括函数命名.变量命名.代码注释等,虽然不遵循也能使代码运行成功,但优秀的.整洁的代 ...
- 【Python】pyserial module sends hex style byte data to embedd system
pyserial 模块发送hex格式的数据到嵌入式端的例程: ser = serial.Serial()def _port_open():global serprint("port open ...
- python中,ttk.Combobox的background、foreground和font属性的设置问题
python中,combobox是ttk部件,其样式属性设置不同于tk部件,下面用各种方法对其进行设置,但是效果却不相同,实在费解. 1.在创建时设置样式属性:只有顶端文本框的font和foregro ...
- python中ttk和tkinter_Python tkinter与ttk日历
我正在使用 this代码在我的Tkinter上创建一个简单的日历.当我在主根窗口上放置日历时,日历显示正常.因此,我决定放置另一个按钮,它将创建一个Tkinter顶层窗口并在顶层窗口上放置另外一个日历 ...
- tkinter.ttk — Tk themed widgets
该tkinter.ttk模块提供对Tk 8.5中引入的Tk主题小部件集的访问.如果没有针对Tk 8.5编译Python,如果已经安装了Tile,仍然可以访问此模块.使用Tk 8.5的前一种方法提供了额 ...
- tkinter.ttk 资料整理+笔记(大全)
tkinter.ttk 资料整理+笔记(大全) tkinter.ttk 一.系统常量.模块 1 str __name__ tkinter.ttk 2 str __doc__ 3 str __packa ...
- python3 thinter tkinter.ttk — Tk主题样式设置
更多详情:来自TTK的英文文档链接 2.1使用TTK 导入模块: from tkinter import ttk 覆盖基本的Tk小部件,则需导入: from tkinter import * from ...
- python怎么读音发音英语-python style是什么意思
1. Also, for those who feel strongly either way and only want to run Python with a specific type of ...
最新文章
- gradle教程 [原创](eclipse/ADT下 非插件 非Android Studio/AS)纯手打 第一篇:安装配置gradle...
- 解决margin-top没有效果
- 一键实现变老变年轻——Windows 10 下部署PaddleGAN,带你感受从年少到白头的浪漫
- Angular页面发生更新时,更新如何从view层传递到model层
- 三维家可以导入别人的方案吗_三维激光扫描仪
- html option ajax,Ajax实现简单下拉选项效果【推荐】
- java 中的原始类型与原始封装类型
- 剑指offer之统计数组中出现次数超过一半的数字
- 中国天然玉米黄质市场趋势报告、技术动态创新及市场预测
- 获取指定年份至今年分列表
- java编译网络爬虫_自己动手做网络爬虫系列——1 | 学步园
- c语言99乘法表流程图表,C语言做99乘法表.doc
- 图片jpg格式怎么转换
- CSS transform属性+js requestAnimationFrame函数实现旋转方块以及调整转动速度
- caffe最优化方法
- exls表格搜索快捷键_excel搜索快捷键 如何在excel里快速找到需要的信息
- 考研可以跨计算机专业吗,食品安全的本科生考研,可以跨考计算机专业吗?
- 【NOIP2018】旅行 (洛谷P5049 / P5022) O(nlogn)题解
- html如何读取pdf,html页面读取PDF小案例
- Linux 安装python 3.8(Linux 的版本为 Centos 7)
热门文章
- ✖ subject may not be empty [subject-empty]
- 云服务器入门篇:搭建云服务器Java web环境(Ubuntu Server 16.04.1 LTS 64位)
- 战矛在线Java_战矛在线职业选择攻略 最强职业推荐
- Bootstrap系列之进度条(Progress)
- Python是个什么鬼?为什么那么多工作“会Python优先”?
- 手把手教你从零开始腾讯云服务器部署
- java 手机端开发步骤_移动端页面开发流程
- mysql cnf和ini区别_再谈mysql的配置文件my.ini or my.cnf (之一) .
- 【备忘】零基础学习java学习路线,从菜鸟到大牛的视频教程
- java过滤器的作用_javaweb过滤器的作用,过滤器filter的作用是什么?