有没有办法调整组合框条目的大小?

Aar*_*eng 2 python combobox tkinter

我知道有很多方法可以更改下拉列表/列表框的字体,我的问题是如何同时调整输入字段,即红色圈出的部分。如何使其与旁边标签的尺寸相同?换句话说,如何使下拉箭头变大?

label = ttk.Label(frame, text='truck id: ', anchor=w, font=bigger_font)
c = ttk.Combobox(frame, textvariable=truckID, values=['1','2','3','4'])
c['state'] = 'readonly'
root.option_add('*TCombobox*Listbox.font', bigger_font)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Mir*_*j50 9

Combobox有一个宽度属性,可以让您控制其大小。这width是按字符数计算的。例如,如果您知道组合框条目是个位数,则可以将宽度属性设置为 1。这是一个示例。

import tkinter as tk
import tkinter.ttk as ttk

root = tk.Tk()
tList = ttk.Combobox(root, values=[1, 2, 3, 4, 5], state="readonly", width=1)
tList.current(0)
tList.grid(row=0, column=1, padx=10, pady=10)
root.mainloop()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

现在看看,如果将宽度更改为 2。

在此输入图像描述

它恰好是组合框条目大小的一半。

基本上,如果您知道组合框将包含何种类型(长度)的条目,则可以控制其大小。

如果你想让它更高,就操纵它的font属性。

tList = ttk.Combobox(root, values=[1, 2, 3, 4, 5], state="readonly", width=2, font="Verdana 16 bold")

在此输入图像描述