Изменить ширину полосы прокрутки выпадающего списка tk Combobox - PullRequest
0 голосов
/ 13 января 2020

Можно ли изменить ширину полосы прокрутки tk Combobox в python 2.7? Я не говорю о ширине поля со списком, а о ширине полосы прокрутки в поле со списком, которая появляется, когда она активна. Например:

self.cmbSortOrder=ttk.Combobox(self.frame2, value=l, textvariable=self.SortOrder)
self.cmbSortOrder.bind("<<ComboboxSelected>>", self.reloadList)
self.cmbSortOrder.pack(side=LEFT)

1 Ответ

0 голосов
/ 13 января 2020

вы можете сделать это, используя configure(): Этот класс используется для управления базой данных стилей.

Синтаксис:

configure(style, query_opt=None, **kw)

Запрос или установка значения по умолчанию для указанные опции в стиле.

Каждая клавиша в kw является опцией, а каждое значение является строкой, идентифицирующей значение для этой опции.

Например, чтобы каждая кнопка по умолчанию была изменена на плоская кнопка с некоторыми отступами и другим цветом фона:

ttk.Style().configure("TButton", padding=6, relief="flat",background="#ccc")

в вашем случае вы можете сделать:

from Tkinter import Tk
import ttk
root = Tk()

dropdown_width = 100
style = ttk.Style()
style.configure('TCombobox', postoffset=(0, 0, dropdown_width, 0))

value_list = ['list value 1', 'list value 2']
c = ttk.Combobox(root, values=value_list)
c.pack()

root.mainloop()

enter image description here

...