python怎么变大字体_python – 更改字体大小而不会弄乱Tkinter按钮大小
我无法在Tkinter中更改按钮的字体大小,当我尝试这样做时,按钮也会根据文本的大小进行扩展/收缩.有没有办法可以改变文本大小,按钮的大小固定在原位?
我在设计一个井字应用程序时遇到了这个问题,但是为了省去麻烦,这是实践中问题的一个非常小的例子:
import Tkinter as tk
MyWindow = tk.Tk()
MyWindow.geometry("500x550")
button = tk.Button(MyWindow,text="Hello!",width=17,height=10,font=('Helvetica', '20'))
button.grid(row=1, column=1)
MyWindow.mainloop()
这里最重要的部分是font =(‘Helvetica’,’15’)或更具体地说,数字15.如果你改变那个数字并再次运行,不仅文本会更大/更小,但按钮也是如此!我该如何解决这个问题?
这可能是一个非常简单的问题.我刚刚开始使用Tkinter.提前感谢我收到的任何帮助!
解决方法:
按钮的宽度以字符宽度为单位定义.在您的情况下,按钮被定义为17个字符宽.因此,更改字符宽度(即更改字体大小)会更改按钮的宽度. AFAIK,唯一的方法是将按钮放入框架,因为框架可以定义它的大小(以像素为单位).这是一种新的Button,它完全是这样的:
import Tkinter as tk
class Warspyking(tk.Frame):
'''A button that has it's width and height set in pixels'''
def __init__(self, master=None, **kwargs):
tk.Frame.__init__(self, master)
self.rowconfigure(0, minsize=kwargs.pop('height', None))
self.columnconfigure(0, minsize=kwargs.pop('width', None))
self.btn = tk.Button(self, **kwargs)
self.btn.grid(row=0, column=0, sticky="nsew")
self.config = self.btn.config
#example usage:
MyWindow = tk.Tk()
MyWindow.geometry("500x550")
from itertools import cycle
fonts = cycle((('Helvetica', '11'),('Helvetica', '15'),('Helvetica', '20')))
def chg():
button.config(font=next(fonts))
button = Warspyking(MyWindow,text="Click me!",width=200,height=100 ,font=next(fonts), command=chg)
button.grid(row=1, column=1)
MyWindow.mainloop()
编辑:基于我从Bryan Oakley那里学到的东西,这是一个更简洁的实现:
class Warspyking(tk.Button):
def __init__(self, master=None, **kwargs):
self.img = tk.PhotoImage()
tk.Button.__init__(self, master, image=self.img, compound='center', **kwargs)
我还要补充一点,我非常赞同布莱恩:使用这可能是你做错事的一个标志.你应该让tkinter处理大小调整.
标签:python,user-interface,button,font-size,tkinter
来源: https://codeday.me/bug/20190608/1197484.html
python怎么变大字体_python – 更改字体大小而不会弄乱Tkinter按钮大小相关推荐
- chatgpt赋能python:Python如何变大字体的SEO技巧
Python如何变大字体的SEO技巧 在网页设计和优化中,使用合适的字体和字体大小是至关重要的.对于使用Python编程的开发人员和网站管理员来说,如何使Pyhton代码中的字体变大是一个非常有用的技 ...
- QT使用html改变字体颜色,QT中设置字体和更改字体颜色
QT中设置字体和更改字体颜色 对一个文本框lineEdit设置字体,首先我建了一个按钮setFontButton用来设置 并定义了它的相应函数setFont,将setFontButton添加到布局中, ...
- QT中设置字体和更改字体颜色
QT中设置字体和更改字体颜色 对一个文本框lineEdit设置字体,首先我建了一个按钮setFontButton用来设置 并定义了它的相应函数setFont,将setFontButton添加到布局中, ...
- oracle 6i字体变大,将iTunes 12字体大小更改为更大或更小 | MOS86
iTunes 12带来了媒体播放器应用程序的一些相当重要的用户界面更改,其中之一是播放列表和音乐视图中显示的字体大小.新的默认iTunes字体较小,列表项之间的填充更紧密,因此某些用户可能难以阅读.但 ...
- html语言把字变大,css怎么让字体变大?
css可以通过font-size属性让字体变大,font-size属性可设置字体的尺寸.所有主流浏览器都支持font-size属性. font-size 属性可设置字体的尺寸. 说明 该属性设置元素的 ...
- html 复选框变大,复选框字体大小如何设置 wps复选框文字大小怎么调整
Excel 怎样修改窗体/复选框中文字的大小 Excel 修改窗体/复选框中文字的大小的具体步骤如下: 需要准备的材料分别是:电脑.Excel 表格. 以win7系统.Excel 表格2010版为例: ...
- python怎么变大字体_pycharm字体放大缩小设置
放大设置 File -> settings-> Keymap ->在搜寻框中输入:increase -> Increase Font Size(双击) -> 在弹出的对话 ...
- python 字体_python docx字体设置
首先引入依赖包 from docx import Document from docx.oxml.ns import qn from docx.shared import Pt,RGBColor 如果 ...
- python的tkinter按钮大小_如何使用python更改tkinter中按钮和帧的字体和大小?
更新:新墨西哥州科技tkinter网站已在GitHub上存档. 必须有Tkinter对象才能创建字体from Tkinter import * import tkFont root = Tk() 创建 ...
最新文章
- numpy之argmax()函数
- 在普通Java类里使用spring里注入的service、dao等
- 怎么博客圆的文章越来越杂?
- Linux系统:centos7下搭建ZooKeeper3.4中间件,常用命令总结
- AAA验证和ciscorescue v4.2 验证服务器的搭建(telnet方式和级别的设置)
- idea2020.01的git下的Local Changes消失的问题
- LeetCode-Letter Combinations of a Phone Number-电话号码字母组合-DFS
- 【智能医疗】48页论文详述医学AI最新进展
- Pygame实现”走四棋儿“双人对战小游戏
- 【微信小程序】视频播放小程序
- TCP报文段首部格式
- Windows动态库DllMain
- 无刷电机反方向高速旋转
- 由内而外全面造就自己(七)
- 转: 给大家提供3款LOGO制作软件
- 用微型计算机原理做流水灯,微机原理流水灯设计.doc
- PD 关于tso 分配源代码分析
- gridView---->列标题右键菜单管理
- 分布式CAP精彩故事
- 【ROS】rosbag
热门文章
- 西门子贿赂门:数十家咨询公司名单曝光
- Go语言下载、安装、配置、使用
- android电子市场!斗鱼直播Android开发二面被刷,大厂面试题汇总
- js判断数组中某个元素的个数
- STM32内部Flash的使用
- 华为手表注册无法连接服务器,华为watch3网络未连接是怎么回事 华为watch3手表怎么正确连接网络...
- android 清理 卡顿,手机卡顿还在乱清理?只需删除这3个“文件夹”,立刻腾出8G内存...
- 2022-06-18青少年软件编程(C语言)等级考试试卷(三级)解析
- java 写文件 速度_怎么提高文件的写入速度,求大神
- PHP curl 模拟登录并获取数据