Форум сайта python.su
def get_user(x): x_ = x.get() mdl = MDL() print mdl.conn_xmlrpc(server) user_ids = ((x_),) a5 = mdl.get_users(server, user_ids) print u'Список курсов на которые записан пользователь' for i in a5[0]['enrolledcourses']: print i['fullname'] print u'--Операция завершена--' def new5(event = None): win6 = Toplevel() win6.title("Ввод данных") lbl1 = Label(win6, text = u"Введите id пользователя") lbl1.grid(row=1,column=0,columnspan=2) x = Entry(win6, width="20") x.focus_force() x.grid(row=1,column=2,columnspan=2) but=Button(win6,text="Получить", width=18, height=2,) but.grid(row=2,column=2,ipadx=5,padx=10,pady=5) but.bind("<Button-1>", lambda e: get_user(x)) but2=Button(win6,text="Закрыть", width=50, height=2, bg="white", fg="blue", command = win6.destroy) # Кнопки but2.grid(row=3,column=2,ipadx=5,padx=10,pady=5) but2.bind("<Button-1>", close)
Офлайн
Вы опять сумбурно выражаетесь. Какая инофрмация должна по итогу выводится. В каком типе данных она представлена (список, словарь, строка, набор)? В каком виде выводится (в виде списка, в виде поля текста для того, чтобы пользователь мог скопировать результат, в виде простых текстовых полос…)?
Если я правильно понял задачу, то пример такой
from Tkinter import* root = Tk() def next_window(event = None): win_new = Toplevel(root) lb = Label(win_new) lb["text"] = event lb.place(relx=0.5, rely=0.5, anchor="center") def get_user(x, win6): x_ = x.get() #mdl = MDL() #print mdl.conn_xmlrpc(server) #user_ids = ((x_),) #a5 = mdl.get_users(server, user_ids) print u'Список курсов на которые записан пользователь' #for i in a5[0]['enrolledcourses']: # print i['fullname'] result = u'--Операция завершена--' win6.destroy() next_window(result) def close(event = None): print "try_die" def new5(event = None): win6 = Toplevel(root) win6.title("Ввод данных") lbl1 = Label(win6, text = u"Введите id пользователя") lbl1.grid(row=1,column=0,columnspan=2) x = Entry(win6, width="20") x.focus_force() x.grid(row=1,column=2,columnspan=2) but=Button(win6,text="Получить", width=18, height=2,) but.grid(row=2,column=2,ipadx=5,padx=10,pady=5) but.bind("<Button-1>", lambda e: get_user(x, win6)) but2=Button(win6,text="Закрыть", width=50, height=2, bg="white", fg="blue", command = win6.destroy) # Кнопки but2.grid(row=3,column=2,ipadx=5,padx=10,pady=5) but2.bind("<Button-1>", close) new5() root.mainloop()
Офлайн
считываются данные с сайта и выводится список курсов на которые записан пользователь.а вид любой из тех что Вы назвали только копировать результат мне не надо.
Офлайн
получается что в окне next_window выводится “операция завершена”.а если я напишу result = i то мне выводится в этом окне один из четырех курсов(последний) на которые записан пользователь.
“Список курсов на которые записан пользователь
Охрана Труда 3
Гражданская защита 2
Моделирование систем 5
Теория Распознавания Образов 4
–Операция завершена–” ———это результат в шеле-всего 4 курса на которые записан пользователь
Офлайн
Представим, что с сайта вернулись данные в виде списка предметов, который вы дали в последнем сообщении…
from Tkinter import* root = Tk() def next_window(event = None): width_lb = max([len(name) for name in event]) # Определяем максимальную длину названия курса win_new = Toplevel(root) lb = Listbox(win_new, width=width_lb, height=10) lb.insert("end", *event) lb.pack() bt = Button(win_new, text=u"Выход", width=20) bt.bind("<Button-1>", close) bt.pack(pady=5) def get_user(x, win6): x_ = x.get() # Возвращает Ваша функция результат в виде списка данных result = [u"Охрана Труда 3", u"Гражданская оборона", u"Моделирование систем 5", u"Теория Распознавания Образов 4"] win6.destroy() next_window(result) def close(event = None): print "try_die" def new5(event = None): win6 = Toplevel(root) win6.title("Ввод данных") lbl1 = Label(win6, text = u"Введите id пользователя") lbl1.grid(row=1,column=0,columnspan=2) x = Entry(win6, width="20") x.focus_force() x.grid(row=1,column=2,columnspan=2) but=Button(win6,text="Получить", width=18, height=2,) but.grid(row=2,column=2,ipadx=5,padx=10,pady=5) but.bind("<Button-1>", lambda e: get_user(x, win6)) but2=Button(win6,text="Закрыть", width=50, height=2, bg="white", fg="blue", command = win6.destroy) # Кнопки but2.grid(row=3,column=2,ipadx=5,padx=10,pady=5) but2.bind("<Button-1>", close) new5() root.mainloop()
Отредактировано 4kpt (Дек. 20, 2012 18:48:58)
Офлайн
да оно то так.но этот список выводится для конкретно выбраного пользователя.а некоторые пользователи не состоят в этих курсах или в еще какихто а эта строка
result = [u"Охрана Труда 3", u"Гражданская оборона", u"Моделирование систем 5", u"Теория Распознавания Образов 4"]
Отредактировано Ystritsa (Дек. 20, 2012 19:29:33)
Офлайн
Ystritsa
Послушайте. Я не знаю, что возвращает Вам Ваша функция и в каком виде. Я не знаю как эта функция вообще функционирует. Сохраните результат в какой-нибуть переменной и передайте эту переменную на функцию next_window, которая самостоятельно выведет результат в виде списка…
P.S. Приведите пару вариантов результата, который сохраняется в a5. Тогда - посмотрим…
Отредактировано 4kpt (Дек. 20, 2012 19:40:35)
Офлайн
то что я знаю это что в а5 все данные о пользователях,в этой части
def get_user(x, win6): x_ = x.get() mdl = MDL() print mdl.conn_xmlrpc(server) user_ids = ((x_),) a5 = mdl.get_users(server, user_ids) print u'Список курсов на которые записан пользователь' for i in a5[0]['enrolledcourses']: print i['fullname']
Отредактировано Ystritsa (Дек. 21, 2012 15:59:58)
Офлайн
Ystritsa
Дайте результат по трем строкам, тогда я смогу помочь…
def get_user(x, win6): x_ = x.get() mdl = MDL() print mdl.conn_xmlrpc(server) user_ids = ((x_),) a5 = mdl.get_users(server, user_ids) print u'Список курсов на которые записан пользователь' # !!!!!!!!!!!! Дайте результат print "a5", a5 print "a5[0]", a5[0] print 'a5[0]["enrolledcourses"]', a5[0]["enrolledcourses"] # !!!!!!!!!!!! Дайте результат #for i in a5[0]['enrolledcourses']: # print i['fullname']
Отредактировано 4kpt (Дек. 21, 2012 16:32:14)
Офлайн
a5 [{'mailformat': 1, 'timezone': '99', 'lastaccess': 1356028976, 'id': 2.0, 'city': u'\u041e\u0434\u0435\u0441\u0441\u0430', 'confirmed': 1.0, 'firstaccess': 1347542739, 'descriptionformat': 1, 'theme': '', 'department': '', 'email': 'ystritsa@mail.ru', 'username': 'admin', 'description': '', 'firstname': u'\u0422\u0430\u0442\u044c\u044f\u043d\u0430', 'lastname': u'\u041c\u0430\u0440\u043a\u0438\u043d\u0430', 'auth': 'manual', 'profileimageurl': 'http://localhost/moodle/moodle/pluginfile.php/5/user/icon/f1', 'enrolledcourses': [{'fullname': u'\u041e\u0445\u0440\u0430\u043d\u0430 \u0422\u0440\u0443\u0434\u0430 3', 'shortname': u'\u041e\u0422', 'id': 3}, {'fullname': u'\u0413\u0440\u0430\u0436\u0434\u0430\u043d\u0441\u043a\u0430\u044f \u0437\u0430\u0449\u0438\u0442\u0430 2', 'shortname': u'\u0413\u0417', 'id': 2}, {'fullname': u'\u0422\u0435\u043e\u0440\u0438\u044f \u0420\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f \u041e\u0431\u0440\u0430\u0437\u043e\u0432 4', 'shortname': u'\u0422\u0420\u041e', 'id': 4}], 'lang': 'ru', 'country': 'UA', 'idnumber': '', 'profileimageurlsmall': 'http://localhost/moodle/moodle/pluginfile.php/5/user/icon/f2', 'fullname': u'\u0422\u0430\u0442\u044c\u044f\u043d\u0430 \u041c\u0430\u0440\u043a\u0438\u043d\u0430'}] a5[0] {'mailformat': 1, 'timezone': '99', 'lastaccess': 1356028976, 'id': 2.0, 'city': u'\u041e\u0434\u0435\u0441\u0441\u0430', 'confirmed': 1.0, 'firstaccess': 1347542739, 'descriptionformat': 1, 'theme': '', 'department': '', 'email': 'ystritsa@mail.ru', 'username': 'admin', 'description': '', 'firstname': u'\u0422\u0430\u0442\u044c\u044f\u043d\u0430', 'lastname': u'\u041c\u0430\u0440\u043a\u0438\u043d\u0430', 'auth': 'manual', 'profileimageurl': 'http://localhost/moodle/moodle/pluginfile.php/5/user/icon/f1', 'enrolledcourses': [{'fullname': u'\u041e\u0445\u0440\u0430\u043d\u0430 \u0422\u0440\u0443\u0434\u0430 3', 'shortname': u'\u041e\u0422', 'id': 3}, {'fullname': u'\u0413\u0440\u0430\u0436\u0434\u0430\u043d\u0441\u043a\u0430\u044f \u0437\u0430\u0449\u0438\u0442\u0430 2', 'shortname': u'\u0413\u0417', 'id': 2}, {'fullname': u'\u0422\u0435\u043e\u0440\u0438\u044f \u0420\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f \u041e\u0431\u0440\u0430\u0437\u043e\u0432 4', 'shortname': u'\u0422\u0420\u041e', 'id': 4}], 'lang': 'ru', 'country': 'UA', 'idnumber': '', 'profileimageurlsmall': 'http://localhost/moodle/moodle/pluginfile.php/5/user/icon/f2', 'fullname': u'\u0422\u0430\u0442\u044c\u044f\u043d\u0430 \u041c\u0430\u0440\u043a\u0438\u043d\u0430'} a5[0]["enrolledcourses"] [{'fullname': u'\u041e\u0445\u0440\u0430\u043d\u0430 \u0422\u0440\u0443\u0434\u0430 3', 'shortname': u'\u041e\u0422', 'id': 3}, {'fullname': u'\u0413\u0440\u0430\u0436\u0434\u0430\u043d\u0441\u043a\u0430\u044f \u0437\u0430\u0449\u0438\u0442\u0430 2', 'shortname': u'\u0413\u0417', 'id': 2}, {'fullname': u'\u0422\u0435\u043e\u0440\u0438\u044f \u0420\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f \u041e\u0431\u0440\u0430\u0437\u043e\u0432 4', 'shortname': u'\u0422\u0420\u041e', 'id': 4}]
Отредактировано Ystritsa (Дек. 21, 2012 16:48:22)
Офлайн