Это тип раскрывающегося окна, которое я бы хотел. Он имеет столбцы с разными типами данных в каждом. Я пробовал просто использовать разделитель табуляции, но это заставило его выглядеть неряшливым. Как я могу получить элемент dropdown/combobox, подобный этому, используя PyQt4? (Игнорировать черный ящик, я просто хотел скрыть свои системные файлы).
Используя свой собственный делегат элемента. Вероятно, нелегкий ответ, на который можно надеяться, но у вас будет полный контроль:)
Я не использовал PyQt, но если это что-то вроде PyGTK, можно использовать что-то вроде виджет дерева.
Хотя в качестве альтернативы вы можете просто использовать форматирование строк (намного лучше, чем разграничение табуляции):
(форматирование нового стиля)
'{0:20}{0:20}'.format('l','lines in current document')
И если вы хотите убедиться, что этого достаточно для каждого из крупнейших, вы можете сделать что-то вроде this:
leftwidth = len(max(['l', 'foo', 'longitem'], key=len))
rightwidth = len(max(['Number of lines',
'some other option',
'yet another long option'], key=len))
'{key:{L}}{desc:{R}}'.format(key='l',desc='Number of lines',
L=leftwidth, R=rightwidth)
И если вы сохраняете свой ключ/описание в словаре, еще проще автоматизировать процесс.
Абсолютно, u должен использовать QColumnView, это расширенная версия Listview или просто несколько списков. Как вы знаете, listview - это открытая версия Combobox.