Найти - Пользователи
Полная версия: Tkinter-вкладки
Начало » Центр помощи » Tkinter-вкладки
1
RoDebian
Друзья подскажите пожалуйста как в Tkinter сделать вкладки?
По возможности если несложно то предоставте примеры чтоб вникнуть. Заранее благодарю!
4kpt
В Tkinter нет, но есть в ttk. Называются notebook.
RoDebian
спасибо добрый человек!
4kpt
Пример. Где - то на форуме был, но я быстро собрал свой. Не могу найти.
import ttk
root = ttk.Tkinter.Tk()
root.geometry("400x400+100+100")
note = ttk.Notebook(root)
note.pack(fill="both", expand=True)
for name in xrange(1, 10):
    notes = ttk.Frame(root)
    lab = ttk.Label(notes, text='This is text for note №%s' % name)
    lab.pack()
    note.add(notes, text ='note %s' % name)
root.mainloop()

P.S. На будущее. Это тема должна быть в разделе GUI.

P.S.S. Это не самое элегантное дизайнерское решение. От него уже все отказываются. Получается плохая ментальная модель. Может лучше я предложу другое :)
RoDebian
Раздел ведь называется “Центр помощи” а в ней я нуждался как никогда а что можете предложить другого?
4kpt
Все, что связано с Tkinter, wxpython, PyQt - в разделе GUI.
Предложить могу следующее решение:
Слева - список с категориями, справа - настройка этих категорий.
Нужен пример - пишите.
RoDebian
буду иметь ввиду, возможно ли пост перенести в другую ветку?

пример бы не помешал, а то я не совсем понял что вы имели ввиду
4kpt
Позже. Сейчас убегаю…
4kpt
Если по-быстрому, то
import Tkinter
def new_page(event=None):
    num_page = int(event.widget.curselection()[0]) + 1
    labl["text"] = labl["text"][:-1] + str(num_page)
root = Tkinter.Tk()
listb = Tkinter.Listbox(root, height=5)
listb.insert("end", *[i for i in xrange(1, 6)])
listb.pack(side="left")
listb.bind("<ButtonRelease-1>", new_page)
labl = Tkinter.Label(root, text="Text or lines for page 1")
labl.pack(side="right")
root.mainloop()

Вместо labl можно использовать frame с упакоавнными в него виджетами. В результате, каждый выбор слева приведет к отображению новой страницы справа. В этой странице пользователь выполняет настройки. При выборе следующей страницы слева приводит с сохранению данных справа. Такое меню настроек реализовано в OpenOffice. Я его считаю верхом гениальности. Пользователи значительно проще запоминают варианты. Кроме того у этого метода очень хорошая ментальная модель. Есть еще вариант с мастером, но в этом случае желательна фиксированная последовательность действий настройки или выбора. Выбирать Вам. Но я все же настоятельно не рекомендую вкладки. Это плохой тон в дизайне интерфейсов :)
RoDebian
очень интересный подход! спасибо!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB