{"id":13495972,"url":"https://github.com/TomSchimansky/CustomTkinter","last_synced_at":"2025-03-28T17:34:38.941Z","repository":{"id":37243273,"uuid":"344554014","full_name":"TomSchimansky/CustomTkinter","owner":"TomSchimansky","description":"A modern and customizable python UI-library based on Tkinter","archived":false,"fork":false,"pushed_at":"2024-09-15T16:45:56.000Z","size":151195,"stargazers_count":11453,"open_issues_count":481,"forks_count":1077,"subscribers_count":111,"default_branch":"master","last_synced_at":"2024-10-29T10:02:58.744Z","etag":null,"topics":["custom","dark-mode","dark-theme","dpi-scaling","frontend-app","gui","highdpi","macos","modern","modern-ui","python","python-ui","python3","tkinter","tkinter-gui","ui","ui-design","user-interface","windows","windows-11"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TomSchimansky.png","metadata":{"files":{"readme":"Readme.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-04T17:24:00.000Z","updated_at":"2024-10-29T09:15:29.000Z","dependencies_parsed_at":"2022-07-13T04:00:35.568Z","dependency_job_id":"09ac7e93-f2f5-4476-871b-5975b106412a","html_url":"https://github.com/TomSchimansky/CustomTkinter","commit_stats":{"total_commits":544,"total_committers":16,"mean_commits":34.0,"dds":0.5404411764705883,"last_synced_commit":"10f34d26ee306f0e4a48f4a0096665adb177349c"},"previous_names":[],"tags_count":37,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TomSchimansky%2FCustomTkinter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TomSchimansky%2FCustomTkinter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TomSchimansky%2FCustomTkinter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TomSchimansky%2FCustomTkinter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TomSchimansky","download_url":"https://codeload.github.com/TomSchimansky/CustomTkinter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222402857,"owners_count":16978748,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["custom","dark-mode","dark-theme","dpi-scaling","frontend-app","gui","highdpi","macos","modern","modern-ui","python","python-ui","python3","tkinter","tkinter-gui","ui","ui-design","user-interface","windows","windows-11"],"created_at":"2024-07-31T19:01:40.246Z","updated_at":"2024-10-31T11:30:36.820Z","avatar_url":"https://github.com/TomSchimansky.png","language":"Python","readme":"\u003cp align=\"center\"\u003e\n  \u003cpicture\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"./documentation_images/CustomTkinter_logo_dark.png\"\u003e\n    \u003cimg src=\"./documentation_images/CustomTkinter_logo_light.png\"\u003e\n  \u003c/picture\u003e\n\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n![PyPI](https://img.shields.io/pypi/v/customtkinter)\n![PyPI - Downloads](https://img.shields.io/pypi/dm/customtkinter?color=green\u0026label=downloads)\n![Downloads last 6 month](https://static.pepy.tech/personalized-badge/customtkinter?period=total\u0026units=international_system\u0026left_color=grey\u0026right_color=green\u0026left_text=downloads%20last%206%20month)\n![PyPI - License](https://img.shields.io/badge/license-MIT-blue)\n![LOC](https://tokei.rs/b1/github/tomschimansky/customtkinter?category=lines)\n\n\u003c/div\u003e\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\u003ca href=\"https://www.paypal.com/donate/?hosted_button_id=LK5QAZYRN2R2A\"\u003e\u003cimg src=\"documentation_images/paypal_donate_button.png\" width=170 alt=\"Paypal donation button\"\u003e\u003c/a\u003e\n\n\u003ca\u003e\u003c/a\u003e\n\n| Massive Thanks to all the People who Donated to help this Project 😇 |\n|----------------------------------------------|\n\n\u003ch3\u003e\nOfficial website: https://customtkinter.tomschimansky.com\n\u003c/h3\u003e\n\u003c/div\u003e\n\nCustomTkinter is a python UI-library based on Tkinter, which provides new, modern and\nfully customizable widgets. They are created and used like normal Tkinter widgets and\ncan also be used in combination with normal Tkinter elements. The widgets\nand the window colors either adapt to the system appearance or the manually set mode\n('light', 'dark'), and all CustomTkinter widgets and windows support HighDPI scaling\n(Windows, macOS). With CustomTkinter you'll get a consistent and modern look across all\ndesktop platforms (Windows, macOS, Linux).\n\n![](documentation_images/complex_example_dark_Windows.png)\n| _`complex_example.py` on Windows 11 with dark mode and 'blue' theme_\n\n![](documentation_images/complex_example_light_macOS.png)\n| _`complex_example.py` on macOS in light mode and standard 'blue' theme_\n###\n\n\n## Installation\nInstall the module with pip:\n```\npip3 install customtkinter\n```\n**Update existing installation:** ```pip3 install customtkinter --upgrade```\\\n(update as often as possible because this library is under active development)\n\n## Documentation\n\nThe **official** documentation can be found here:\n\n**➡️ https://customtkinter.tomschimansky.com/documentation**.\n\n## Example Program\nTo test customtkinter you can try this simple example with only a single button:\n```python\nimport customtkinter\n\ncustomtkinter.set_appearance_mode(\"System\")  # Modes: system (default), light, dark\ncustomtkinter.set_default_color_theme(\"blue\")  # Themes: blue (default), dark-blue, green\n\napp = customtkinter.CTk()  # create CTk window like you do with the Tk window\napp.geometry(\"400x240\")\n\ndef button_function():\n    print(\"button pressed\")\n\n# Use CTkButton instead of tkinter Button\nbutton = customtkinter.CTkButton(master=app, text=\"CTkButton\", command=button_function)\nbutton.place(relx=0.5, rely=0.5, anchor=customtkinter.CENTER)\n\napp.mainloop()\n```\nwhich results in the following window on macOS:\n\n\u003cimg src=\"documentation_images/single_button_macOS.png\" width=\"400\"/\u003e\n\nIn the [examples folder](https://github.com/TomSchimansky/CustomTkinter/tree/master/examples), you\ncan find more example programs and in the [Documentation](https://github.com/TomSchimansky/CustomTkinter/wiki)\nyou can find further information on the appearance mode, scaling, themes and all widgets.\n\n## More Examples and Showcase\n\n### Appearance mode change and scaling change\n\nCustomTkinter can adapt to the Windows 10/11 light or dark mode:\n\nhttps://user-images.githubusercontent.com/66446067/204672968-6584f360-4c52-434f-9c16-25761341368b.mp4\n\n| _`complex_example.py` on Windows 11 with system appearance mode change and standard 'blue' theme_\n###\n\nOn macOS you either need python3.10 or higher or the anaconda python\nversion to get a dark window header (Tcl/Tk \u003e= 8.6.9 required):\n\nhttps://user-images.githubusercontent.com/66446067/204673854-b6cbcfda-d9a1-4425-92a3-5b57d7f2fd6b.mp4\n\n| _`complex_example.py` on macOS with system appearance mode change, user-scaling change and standard 'blue' theme_\n###\n\n### Button with images\nIt's possible to put an image on a CTkButton. You just have to\npass a PhotoImage object to the CTkButton with the ``image`` argument.\nIf you want no text at all you have to set ``text=\"\"`` or you specify\nhow to position the text and image at once with the ``compound`` option:\n\n![](documentation_images/image_example_dark_Windows.png)\n| _`image_example.py` on Windows 11_\n###\n\n### Scrollable Frames\nScrollable frames are possible in vertical or horizontal orientation and can be combined\nwith any other widgets.\n![](documentation_images/scrollable_frame_example_Windows.png)\n| _`scrollable_frame_example.py` on Windows 11_\n\n### Integration of TkinterMapView widget\nIn the following example I used a TkinterMapView which integrates\nwell with a CustomTkinter program. It's a tile based map widget which displays\nOpenStreetMap or other tile based maps:\n\nhttps://user-images.githubusercontent.com/66446067/204675835-1584a8da-5acc-4993-b4a9-e70f06fa14b0.mp4\n\n| _`examples/map_with_customtkinter.py` from TkinterMapView repository on Windows 11_\n\nYou can find the TkinterMapView library and example program here:\nhttps://github.com/TomSchimansky/TkinterMapView\n","funding_links":["https://www.paypal.com/donate/?hosted_button_id=LK5QAZYRN2R2A"],"categories":["Python","Developer Tools","Python 程序","Widgets"],"sub_categories":["网络服务_其他"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTomSchimansky%2FCustomTkinter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FTomSchimansky%2FCustomTkinter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTomSchimansky%2FCustomTkinter/lists"}