zmc
2023-10-12 ed135d79df12a2466b52dae1a82326941211dcc9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# ------------------------------------------------------------------
# Copyright (c) 2020 PyInstaller Development Team.
#
# This file is distributed under the terms of the GNU General Public
# License (version 2.0 or later).
#
# The full license is available in LICENSE.GPL.txt, distributed with
# this software.
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ------------------------------------------------------------------
"""
Hook for use with the ttkthemes package
 
ttkthemes depends on a large set of image and Tcl-code files contained
within its package directory. These are not imported, and thus this hook
is required so they are copied.
 
The file structure of the ttkthemes package folder is:
ttkthemes
├───advanced
|   └───*.tcl
├───themes
|   ├───theme1
|   |   ├───theme1
|   |   |   └───*.gif
|   |   └───theme1.tcl
|   ├───theme2
|   ├───...
|   └───pkgIndex.tcl
├───png
└───gif
 
The ``themes`` directory contains themes which only have a universal
image version (either base64 encoded in the theme files or GIF), while
``png`` and ``gif`` contain the PNG and GIF versions of the themes which
support both respectively.
 
All of this must be copied, as the package expects all the data to be
present and only checks what themes to load at runtime.
 
Tested hook on Linux (Ubuntu 18.04, Python 3.6 minimal venv) and on
Windows 7 (Python 3.7, minimal system-wide installation).
 
>>> from tkinter import ttk
>>> from ttkthemes import ThemedTk
>>>
>>>
>>> if __name__ == '__main__':
>>>     window = ThemedTk(theme="plastik")
>>>     ttk.Button(window, text="Quit", command=window.destroy).pack()
>>>     window.mainloop()
"""
from PyInstaller.utils.hooks import collect_data_files
 
 
datas = collect_data_files("ttkthemes")