mirror of
https://github.com/TomSchimansky/CustomTkinter.git
synced 2023-08-10 21:13:13 +03:00
fixed dropdown_menu_fallback.py for Linux
This commit is contained in:
parent
a86dbd4d07
commit
20e16969f2
@ -76,13 +76,14 @@ class DropdownMenu(tkinter.Toplevel):
|
||||
|
||||
elif sys.platform.startswith("win"):
|
||||
self.overrideredirect(True) # remove title-bar
|
||||
self.configure(bg="#010302")
|
||||
self.wm_attributes("-transparentcolor", "#010302")
|
||||
#self.configure(bg="#010302")
|
||||
#self.wm_attributes("-transparent", "#010302")
|
||||
self.focus()
|
||||
self.focus()
|
||||
self.frame = customtkinter.CTkFrame(self,
|
||||
border_width=0,
|
||||
width=self.width,
|
||||
corner_radius=self.corner_radius,
|
||||
corner_radius=0,
|
||||
fg_color=self.fg_color,
|
||||
overwrite_preferred_drawing_method="circle_shapes")
|
||||
else: # Linux
|
||||
|
@ -1,8 +1,6 @@
|
||||
import tkinter
|
||||
import sys
|
||||
import copy
|
||||
from distutils.version import StrictVersion as Version
|
||||
import platform
|
||||
from typing import Union
|
||||
|
||||
from ..theme_manager import ThemeManager
|
||||
@ -51,6 +49,17 @@ class DropdownMenuFallback(tkinter.Menu):
|
||||
font=self.apply_font_scaling(self.text_font),
|
||||
cursor="hand2")
|
||||
|
||||
else:
|
||||
self.configure(tearoff=False,
|
||||
relief="flat",
|
||||
activebackground=ThemeManager.single_color(self.button_hover_color, self._appearance_mode),
|
||||
borderwidth=0,
|
||||
activeborderwidth=0,
|
||||
bg=ThemeManager.single_color(self.fg_color, self._appearance_mode),
|
||||
fg=ThemeManager.single_color(self.text_color, self._appearance_mode),
|
||||
activeforeground=ThemeManager.single_color(self.text_color, self._appearance_mode),
|
||||
font=self.apply_font_scaling(self.text_font))
|
||||
|
||||
self.values = values
|
||||
self.command = command
|
||||
|
||||
@ -58,12 +67,14 @@ class DropdownMenuFallback(tkinter.Menu):
|
||||
|
||||
def add_menu_commands(self):
|
||||
for value in self.values:
|
||||
self.add_command(label=value.ljust(self.min_character_width), command=lambda v=value: self.button_callback(v), compound="left")
|
||||
self.add_command(label=value.ljust(self.min_character_width),
|
||||
command=lambda v=value: self.button_callback(v),
|
||||
compound="left")
|
||||
|
||||
def open(self, x: Union[int, float], y: Union[int, float]):
|
||||
if sys.platform == "darwin":
|
||||
y += self.apply_widget_scaling(8)
|
||||
elif sys.platform.startswith("win"):
|
||||
else:
|
||||
y += self.apply_widget_scaling(3)
|
||||
|
||||
self.post(int(x), int(y))
|
||||
@ -113,8 +124,10 @@ class DropdownMenuFallback(tkinter.Menu):
|
||||
self._widget_scaling = new_widget_scaling
|
||||
self._spacing_scaling = new_spacing_scaling
|
||||
|
||||
self.configure(font=self.apply_font_scaling(self.text_font),
|
||||
activeborderwidth=self.apply_widget_scaling(4),)
|
||||
self.configure(font=self.apply_font_scaling(self.text_font))
|
||||
|
||||
if sys.platform.startswith("win"):
|
||||
self.configure(activeborderwidth=self.apply_widget_scaling(4))
|
||||
|
||||
def set_appearance_mode(self, mode_string):
|
||||
if mode_string.lower() == "dark":
|
||||
|
@ -1,6 +1,8 @@
|
||||
import tkinter
|
||||
import customtkinter
|
||||
|
||||
customtkinter.set_widget_scaling(2)
|
||||
|
||||
customtkinter.set_appearance_mode("dark") # Modes: "System" (standard), "Dark", "Light"
|
||||
customtkinter.set_default_color_theme("blue") # Themes: "blue" (standard), "green", "dark-blue"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user