Форум сайта python.su
Вопрос не столько по самому языку, терминов не знаю и готовых приложений не видел, а то бы подсмотрел.
Почемуто нигде нет никакой информации в картинках, даже в pdf ниодной картинки. Кое что по другим языкам узнаётся, но этого элемента там тоже нет.
Нужно приделать к программе подобное
В коде видно Tkinter Menu и далее несколько Frame.
Я так понимаю мне нужно использовать тоже Frame с выравниванием к левому краю и запихнуть туда кнопки с картинками или есть чтото ещё?
Может есть готовые примеры или хотябы что искать.
Отредактировано 74LS00 (Янв. 18, 2017 14:02:08)
Офлайн
http://zetcode.com/gui/tkinter/menustoolbars/
Офлайн
Этот вариант работает через PIL , хорошо что в портативном инсталяторе он есть. Нагуглил сайт с 2,6 который не устанавливается. Хотя вродебы достаточно всего 2 файла.
Не понял зачем parent , пока получилось так :
from PIL import Image, ImageTk toolbar = Frame(self.root) imageopen = self.get_pkg_path('icons/keyboard.ico') self.img = Image.open(imageopen) eimg = ImageTk.PhotoImage(self.img) openButton = Button(toolbar, image=eimg, command=self.openfile) openButton.image = eimg openButton.pack(side=LEFT, padx=2, pady=2) toolbar.pack(side=TOP, fill=X)
Отредактировано 74LS00 (Янв. 18, 2017 19:33:36)
Офлайн
Pillow работает на всех осях…
Офлайн
Pillow это форк PIL которого тоже нет в репах ?
Очередной раз в линуксе упираюсь в нерешаемую проблему. PIL не собирается без libjpeg62 которая и так стоит.
Линукс как и раньше, в репах почти никогда нет нужного, а jpeg всё ещё не поддерживается, но зачемто требуется для сборки чего угодно где он ненужен.
Установка из найденных deb , на этом месте можно закольцевать. Требует пакет который установлен именно этой версии.
Наверно поэтому автор проекта так и не смог заставить работать pil под маком и просто забил.
Также как и messagebox из дочернего окна в win7 64 который тупо скрыт и прога виснет.
Офлайн
Так прибейте пиллоу к той версии, которая есть в зависимостях. Я, честно говоря, не пойму что и почему не так.
А .xbm не подхватывает “из коробки”?
Офлайн
В таком варианте работает, кнопки стилизованы как обычные, но уж слишком выпуклые
newButton = Button(toolbar, image=eimgnew, command=self.newfile)
newButton = Button(toolbar, image=eimgnew, relief=RIDGE, command=self.newfile)
File “G:\home\Documents\Projects\EAGLE\Keyboard\firmware\GameKB_EasyAVR\keymapper\easykey
map\gui.py”, line 300, in creategui
newButton = Button(toolbar, image=eimgnew, relief=RIDGE, command=self.newfile)
File “C:\Python27\lib\lib-tk\ttk.py”, line 610, in __init__
Widget.__init__(self, master, “ttk::button”, kw)
File “C:\Python27\lib\lib-tk\ttk.py”, line 555, in __init__
Tkinter.Widget.__init__(self, master, widgetname, kw=kw)
File “C:\Python27\lib\lib-tk\Tkinter.py”, line 2090, in __init__
(widgetName, self._w) + extra + self._options(cnf))
_tkinter.TclError: unknown option “-relief”
Отредактировано 74LS00 (Янв. 20, 2017 11:53:46)
Офлайн
А если попробовать
# newButton["relief"] = "RIDGE"
Офлайн
чтото другое, но итог тотже
File “G:\home\Documents\Projects\EAGLE\Keyboard\firmware\GameKB_EasyAVR\keymapper\easykey
map\gui.py”, line 301, in creategui
newButton = “RIDGE”
File “C:\Python27\lib\lib-tk\Tkinter.py”, line 1333, in __setitem__
self.configure({key: value})
File “C:\Python27\lib\lib-tk\Tkinter.py”, line 1326, in configure
return self._configure('configure', cnf, kw)
File “C:\Python27\lib\lib-tk\Tkinter.py”, line 1317, in _configure
self.tk.call(_flatten((self._w, cmd)) + self._options(cnf))
_tkinter.TclError: unknown option “-relief”
try: from Tkinter import * from ttk import * import tkFileDialog as filedialog import tkSimpleDialog as simpledialog import tkMessageBox as messagebox except ImportError: from tkinter import * from tkinter.ttk import * from tkinter import filedialog from tkinter import simpledialog from tkinter import messagebox
Офлайн
Как у Вас называется модуль?
Офлайн