Как настроить отрывное меню в ткинтер - PullRequest
0 голосов
/ 04 ноября 2018

Я использую Python. Моя проблема началась, когда я хотел создать меню без полей в tkinter. После некоторых исследований в Windows практически невозможно избавиться от этих светло-серых границ вокруг меню.

Но Я заметил, что отрывные меню не имеют границ, потому что они плавающие окна. Итак, я хотел бы знать, как я могу «заменить» или просто отобразить эти плавающие меню вместо классического меню. Вот мой стартовый фрагмент.

from tkinter import *
import tkinter as tk
import ttk 

w = tk.Tk()

list = ['1','2','3','4','5']
var = StringVar(w)
otpionmenu1 = ttk.OptionMenu(w, var, list[0], *list)
otpionmenu1.place(relx=0.5, rely=0.5)

w.mainloop()

Это в основном начальный код (и эти уродливые толстые границы показаны Standard OptionMenu

w.option_add("*TMenubutton*Menu*Type", 'tearoff')

Я могу сделать отрыв меню в этом режиме Standard OptionMenu (не так уж и плохо, я думаю, они появляются под соответствующими кнопками).

Но теперь есть одна проблема. Как видите, меню теперь отображается как окно. Я хотел бы настроить это. Я хотел бы знать, как я могу изменить его как окно (добавив некоторые события, сделав его не изменяемого размера и т. Д.). Как я могу сделать? Обратите внимание, что заголовок этого окна - "! Меню".

Заранее спасибо.

menu.config() дает:

('selectcolor', 'selectColor', 'Background', <color object: '#000000'>, <color object: '#000000'>)
('borderwidth', 'borderWidth', 'BorderWidth', <pixel object: '1'>, <pixel object: '1'>)
('activeforeground', 'activeForeground', 'Background', <color object: '#000000'>, <color object: '#000000'>)
('fg', '-foreground')
('type', 'type', 'Type', <index object: 'normal'>, <index object: 'normal'>)
('background', 'background', 'Background', <border object: '#d9d9d9'>, <border object: '#d9d9d9'>)
('foreground', 'foreground', 'Foreground', <color object: '#000000'>, <color object: '#000000'>)
('disabledforeground', 'disabledForeground', 'DisabledForeground', <color object: '#a3a3a3'>, <color object: '#a3a3a3'>)
('title', 'title', 'Title', '', '')
('takefocus', 'takeFocus', 'TakeFocus', '0', '0')
('bd', '-borderwidth')
('font', 'font', 'Font', <font object: 'TkMenuFont'>, <font object: 'TkMenuFont'>)
('activebackground', 'activeBackground', 'Foreground', <border object: '#ececec'>, <border object: '#ececec'>)
('bg', '-background')
('relief', 'relief', 'Relief', <index object: 'raised'>, <index object: 'raised'>)
('tearoff', 'tearOff', 'TearOff', 1, 0)
('cursor', 'cursor', 'Cursor', <cursor object: 'arrow'>, <cursor object: 'arrow'>)
('tearoffcommand', 'tearOffCommand', 'TearOffCommand', '', '')
('activeborderwidth', 'activeBorderWidth', 'BorderWidth', <pixel object: '1'>, <pixel object: '1'>)
('postcommand', 'postCommand', 'Command', '', '')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...