基于tkinter中ttk控件的width-height设置方式
作者:iSH_ 发布时间:2023-07-04 21:32:20
ttk控件的width-height设置
tkinter中窗口,框架容器,控件如果不设置宽度高度,则会根据其中的内容自动设置宽度高度
框架容器设置了宽度高度,如果其内存在控件,则宽度高度失效,自动适应控件大小
如果窗口,框架容器,控件中没有内容,宽度和高度为默认的最小尺寸(可能看不到)
顶级窗口
顶级窗口:高度宽度,单位像素点
import tkinter as tk
from tkinter import ttk
win = tk.Tk()
win1 = tk.Toplevel()
win.geometry('600x600') #设置顶级窗口宽度高度,单位像素点
win1.geometry('600x600') #设置顶级窗口宽度高度,单位像素点
#笔记本屏幕分辨率如果是1366x768,那么geometry('1366x768')铺满整个屏幕(当然不建议)
框架容器
Frame,LabelFrame,PanedWindow:高度宽度,单位像素点
win = tk.Tk()
win.title("TTK_GUI")
win.geometry("600x600+10+10")
s = ttk.Style()
s.configure('1.TFrame',background='DarkGray')
frame1 = ttk.Frame(win,width=500,height=100,style='1.TFrame')
frame1.pack(pady=10)
s.configure('2.TLabelframe')
labelframe1 = ttk.LabelFrame(win,text='labelframe1',width=500,height=100,
style='2.TLabelframe')
labelframe1.pack(pady=10)
s.configure('2.TPanedwindow',background='DarkGray')
panedwindow1 = ttk.PanedWindow(win,width=500,height=100,
style='2.TPanedwindow')
panedwindow1.pack(pady=10)
控件-Label
内容为文本,宽度单位:字符单位;内容为图片,显示原始大小,忽略宽度设置;
内容为图文混合(【图片宽度-像素点】小于【width值-字符单位】),宽度单位:字符单位,
图片尺寸过大则宽度设置失效
import tkinter as tk
from tkinter import ttk
import tkinter.font as tkFont
s = ttk.Style()
image1 = tk.PhotoImage(file="001.png") #PhotoImage支持gif,png格式
ft1 = tkFont.Font(family='Consolas',size=10,weight='bold')
s.configure('1.TLabel',font=ft1,background='DarkGray',foreground='red',
width=40,anchor='center',justify='left',padding=[2,0,2,0])
label1 = ttk.Label(win,text='第一行文字word \nThis is second
row',style='1.TLabel')
label1.pack()
label2 = ttk.Label(win,text='标签23',image=image1,compound='center',style='1.TLabel')
label2.pack(pady=2)
#anchor='center',justify='left' # 整体居中,多行文本左对齐
控件-Button类
Button,Checkbutton,Radiobutton,Menubutton:
内容为文本,宽度单位:字符单位;内容为图片,显示原始大小,忽略宽度设置;
内容为图文混合(【图片宽度-像素点】小于【width值-字符单位】),宽度单位:字符单位,
图片尺寸过大则宽度设置失效
ft1 = tkFont.Font(family='Consolas',size=10,weight='bold')
image1 = tk.PhotoImage(file="001.png") #PhotoImage支持gif,png格式
s.configure('1.TButton',foreground='blue',justify='center',width=40,font=ft1)
b1 = ttk.Button(win,text='按钮',style='1.TButton')
b1.pack(pady=2)
b2 = ttk.Button(win,text='按钮',image=image1,compound='center',style='1.TButton')
b2.pack(pady=2)
b3 = ttk.Button(win,image=image1)
b3.pack(pady=2)
#忽略宽度高度设置,自动显示原始大小图片,
#若图片尺寸超过button父控件宽度高度,只显示部分图片
控件-Entry
Entry:内容文本,宽度单位:字符单位 ,average-size characters of the widget's font
s.configure('1.TEntry',padding=[2,0,2,0])
e1 = ttk.Entry(win,textvariable=etxt,foreground='red',width=40,font=ft1,
justify='center',style='1.TEntry')
e1.pack(pady=2)
控件-Combobox
width设置长度,宽度单位:average-size characters of the widget's font;高度单位:行
val1=[1,2,3,4]
s.configure('1.TCombobox',padding=[-5,0,-5,0])
cc1 = ttk.Combobox(win,width=40,height=3,values=val1,style='1.TCombobox')
cc1.pack(pady=2)
控件-Spinbox
width设置长度,宽度单位:average-size characters of the widget's font;
val2=['AVC','x264','345f','FRD6hy']
sp1 = ttk.Spinbox(win,values=val2,width=39,
foreground='red',justify='center',font=ft1)
sp1.pack(pady=2)
控件-Scale
length设置长度,单位像素点
ttk中Scale属性(无showvalue,resolution,label),可用性不如tk,建议不要使用ttk.Scale
控件-Progressbar
length设置长度,单位像素点
prbar = ttk.Progressbar(win,length=300)
prbar.pack(pady=2)
控件-Notebook
宽度,高度,单位像素点
labelframe1 = ttk.LabelFrame(win,text='labelframe1',width=500,height=100)
labelframe1.pack(pady=2)
tabControl = ttk.Notebook(labelframe1,width=300,height=80)
tabControl.pack(expand=1,fill='both')
tab1 = ttk.Frame(tabControl)
tabControl.add(tab1,text='Tab 1')
tab2 = ttk.Frame(tabControl)
tabControl.add(tab2,text='Tab 2')
控件-Scrollbar
无长度宽度设置,在pack(fill='x')或pack(fill='y')
来源:https://blog.csdn.net/qq_35981895/article/details/107311844


猜你喜欢
- 失败的原因1.如果你原先安装过MySQL,后来卸载了再安装失败了,有可能是卸载不干净。需要手动目录删光所有MySQL相关的文件。这一点MyS
- 写在前面之前的文章中已经讲过了遗传算法的基本流程,并且用MATLAB实现过一遍了。这一篇文章主要面对的人群是看过了我之前的文章,因此我就不再
- Python 类/对象Python 是一种面向对象的编程语言。Python 中的几乎所有东西都是对象,拥有属性和方法。类(Class)类似对
- 需求分析业务要求,需要一个图片上传控件,需满足多图上传点击预览图片前端压缩支持初始化数据相关功能及资源分析基本功能先到https://www
- 进入PyCharm后,点击File→Open,然后在弹窗中选择需要导入项目的文件夹;打开了python项目后,需要配置该项目对应的pytho
- 一、配置抓包工具1.安装软件本文选择的抓包工具:Fiddler 具体的下载安装这里不详细赘述!(网上搜Fiddler安
- Python由于语言的简洁性,让我们以人类思考的方式来写代码,新手更容易上手,老鸟更爱不释手。要写出 Pythonic(优雅的、地道的、整洁
- SQL语言是一门简单易学却又功能强大的语言,它能让你快速上手并写出比较复杂的查询语句。但对于大多数开发者来说,使用SQL查询数据库并没有一个
- 在Python网络爬虫中,通常是通过TXT纯文本方式存储,其实也是可以存储在数据库中的;同时在WAMP(Windows、Apache、MyS
- 1. 下载MySQL Community Server 5.6.35下载地址http://dev.mysql.com/downloads/m
- 因为有大家的支持,我们才能做到现在,感谢你们这一路上对我们的支持.在这篇文章中,我们将主要针对MySQL的实用技巧,讲讲面试中相关的问题.1
- 如果你听说过“测试驱动开发”(TDD:Test-Driven Development),单元测试就不陌生。单元测试是用来对一个模块、一个函数
- 题目:转换RBG颜色值我们知道在网页中的颜色值设置都是用16进制的RGB来表示的,比如#FFFFFF,表示R:255,G:255,B:255
- 1、搭载QT环境按win+R输入 pip install pyqt5 下载QT5 当然也可以去Qt的官网的下载 ,使用命令行更快捷方便 所以
- 最终的效果如下:step.inc.php 安装步骤效果类: /** * step.inc.php 安装步骤效果类 * * 从Comsenz产
- 本文主要研究的是python读取jpg格式图片并显示为16进制的相关内容,具体如下。代码:>>> aaa = open(&
- 本文实例为大家分享了PHP实现简单注册登录系统的具体代码,供大家参考,具体内容如下目录结构如下,其中function文件夹下包含两个函数文件
- enumerate函数用于遍历序列中的元素以及它们的下标。enumerate函数说明:函数原型:enumerate(sequence, [s
- 服务器的CentOS 7中自带的python版本是python-2.7.5,需要再安装一个 python-3.8.1一、查看版本安
- 本文实例讲述了Python中文分词实现方法。分享给大家供大家参考,具体如下:在Python这pymmseg-cpp 还是十分方便的!环境 u