[prg] Re: вывод текста в WxPython
Здравствуйте.
Александр пишет 30.12.2016 16:04:
> вроде как wx.ListCtrl подходит, но я не очень понимаю как мне это сделать.
Не стану влиять на ваш поиск вариантов вывода. Ниже приведу пример, как
это можно делать в listctrl.
Импортируем всё необходимое, добавляем фрэймы, панели. Это я здесь не
буду описывать.
# Добавляем listctrl
# Параметр style указывает на то, что мы хотим таблицу
test_list = wx.ListCtrl(panel1, -1, style=wx.LC_REPORT)
#Добавляем первый столбец
test_list.InsertColumn(0, 'Фамилия')
# Добавляем второй столбец
test_list.InsertColumn(1, 'Имя')
# Далее предположим, что у меня есть список с данными, которые я
загрузил из хранилища
# Каждый элемент списка - это ещё один список в котором фамилии и имена
людей: ['Фамилия', 'Имя']
data_list = load_my_db()
# Проходим циклом по списку
for index, person in enumerate(data_list):
# С помощью InsertItem добавляем строки. Первым аргументом указываем
индекс строки, вторым значение.
# Значение добавляется в первый столбец текущей строки. Напомню, что
выше мы делали listctrl с двумя столбцами.
# Чтобы добавить значение во второй столбец мы сохраняем в переменную
current_row ссылку на текущую строку.
current_row = test_list.InsertItem(index, person[0])
#С помощью SetItem добавляем значение во второй столбец текущей строки.
# Первый аргумент - ссылка на текущую строку, второй - номер столбца,
третий - значение
test.list.SetItem(current_row, 1, person[1])
Александр Северин