Форум сайта python.su
как связать эти два списка?
заранее спасибо
from tkinter import *
root = Tk()
root = “white”
root.geometry('400x400')
root.title('кепка')
root.overrideredirect(False)
from tkinter import Tk, StringVar, ttk
def combo(parent):
value = StringVar()
box = ttk.Combobox(parent, textvariable=value, state='readonly')
box = ('A', ‘B’, ‘C’)
box.current(0)
box.grid(column=0, row=0)
box.place(x='10',y='15')
combo(root)
from tkinter import Tk, StringVar, ttk
def combo(parent):
value = StringVar()
box = ttk.Combobox(parent, textvariable=value, state='readonly')
box = ('D', ‘E’, ‘F’)
box.current(0)
box.grid(column=0, row=0)
box.place(x='180',y='15')
combo(root)
root.mainloop()
Офлайн
Я Вам в другом разделе уже написал. Или Вы считаете, что здесь сидят совсем другие программисты.
Объясните. Что значить связать?
Давайте так:
1. Было так.
2. Стало так.
Или.
“У меня вот так. Если я на этом нажимаю это, то получается такое…”.
Нужно более подробно. Сложно понять, а писать десяток возможных вариантов нет ни времени ни желания. Хочу Вам помочь, но не знаю как и каким образом.
P.S. И оберните код в теги. Вам об этом уже написали более опытные товарищи выше. Имейте уважение к тем, кто читает Вашу тему…
Отредактировано 4kpt_II (Янв. 15, 2014 00:22:00)
Офлайн
извините плз . я совсем чайник и на форуме и в паитоне . если сможите ответте пожалуста .
есть форма в ткинтер , на форме 2 бокса со списками , как сделать чтоб когда мы вибираеб в первом боксе из списка “A” во втором сам показивалсия буква “D”, и на оборот. не знаю объяснил ли
Прикреплённый файлы:
as.py (662 байта)
Офлайн
Теперь понятней.
Держите код.
import Tkinter import ttk # # def choice(event): wdg = event.widget # С какого виджета пришло событие # Получаем виджет соответсвия и назначаем ему соответствующую строку accordance_wdg[wdg.winfo_id()].set(accordance_str[wdg.get()]) # # root = Tkinter.Tk() root.geometry("400x400+100+100") # val_1 = ('A', 'B', 'C') box_1 = ttk.Combobox(root, state='readonly', values=val_1) box_1.place(relx=0.25, rely=0.5, anchor="center") box_1.bind("<<ComboboxSelected>>", choice) # val_2 = ('D', 'E', 'F') box_2 = ttk.Combobox(root, state='readonly', values=val_2) box_2.place(relx=0.75, rely=0.5, anchor="center") box_2.bind("<<ComboboxSelected>>", choice) # # Описываем соотвествие accordance_str = {"A": "D", "B": "E", "C": "F", "D": "A", "E": "B", "F": "C"} accordance_wdg = {box_1.winfo_id(): box_2, box_2.winfo_id(): box_1} # root.mainloop()
from tkinter import *
Отредактировано 4kpt_II (Янв. 15, 2014 13:19:22)
Офлайн
огромное спасибо вам 4kpt_II , вы точно гуру .
чуть изменил код потому что у меня версия 333 и всо получилось .
import tkinter from tkinter import Tk, StringVar, ttk def choice(event): wdg = event.widget # С какого виджета пришло событие # Получаем виджет соответсвия и назначаем ему соответствующую строку accordance_wdg[wdg.winfo_id()].set(accordance_str[wdg.get()]) root = tkinter.Tk()
Офлайн
Да какой там гуру. Подождите.
Вторая строка неверна!!!
Нужно
from tkinter import ttk
Офлайн
но ана работает , на wing тестировал , тока stringvar не нужен
Офлайн
Вы повторно импортируете. Это не нужно. Это как написать.
import tkinter from tkinter import ttk import tkinter
root = Tkinter.Tk()
from tkinter import ttk, Tk
Отредактировано 4kpt_II (Янв. 15, 2014 19:39:55)
Офлайн
хочу очень , посоветуйте пожалуйста русскую литературу и с чего надо начать
Офлайн
Кидайте скайп в личку.
Накидаю литературы без проблем.
Отредактировано 4kpt_II (Янв. 15, 2014 20:06:25)
Офлайн