Найти - Пользователи
Полная версия: Внести список с возможностью выбора в QTableView
Начало » Python для новичков » Внести список с возможностью выбора в QTableView
1
denveren0k
Доброго времени суток уважаемые форумчане.
Нужна ваша помощь, ни как не могу найти информацию как добавить список в таблицу, в которой потом можно выбирать?
С помощью модуля OpenOPC делаю выборку opc-серверов, выдает вот такой список
[u'Graybox.Sample.MinOPC.1.0', u'Graybox.Sample.ClrCreateTags.1.0', u'Graybox.Simulator.1', u'Graybox.Sample.ClrOPCProperties.1.0', u'Fastwel.Modbusopc.1', u'Graybox.Sample.VclOPC.1.0', u'Graybox.Sample.MinOPCInproc.1.0', u'Graybox.Sample.ClrLifeTime.1.0', u'OpcTestLab.OpcAnalyzer.1', u'IEC_104_server.OPCServer', u'Graybox.Sample.GraySim.1', u'Graybox.Sample.ClrMinOpc.1.0', u'Graybox.Sample.ClrTagPolling.1.0']
теперь необходимо вставить этот список в талицу, как я понимаю наилучшим решение будет добавление на форму QTableView и отображение там этого списка.
Искал очень упорно, но никак ни могу понять как это реализовать.
Заранее спасибо за помощь.

reclosedev
Если это именно одноуровневый список и нужно просто предоставить возможность выбора, проще использовать QListWidget, ну или QTableWidget.
from PyQt4 import QtGui, QtCore
 
app = QtGui.QApplication([])
 
def show_selected():
    for widget in (tableWidget, listWidget):
        print widget
        for item in widget.selectedItems():
            print item.text()
 
items = ['aaa', 'bbb', 'ccc', 'ddd']
 
window = QtGui.QWidget()
layout = QtGui.QVBoxLayout(window)
listWidget = QtGui.QListWidget()
listWidget.addItems(items)
layout.addWidget(listWidget)
 
tableWidget = QtGui.QTableWidget()
tableWidget.setRowCount(len(items))
tableWidget.setColumnCount(1)
for i, item in enumerate(items):
    tableWidget.setItem(i, 0, QtGui.QTableWidgetItem(item))
layout.addWidget(tableWidget)
button = QtGui.QPushButton("Show selected", clicked=show_selected)
layout.addWidget(button)
window.show()
app.exec_()
QListView, QTableView и т.п. отображают модель, см Model/View Programming. Нужны они, в основном, когда данные сложнее простого списка. Или когда необходимо несколько представлений для данных, например, таблица со значениями + диаграмма.
denveren0k
Огромное человеческое спасибо reclosedev
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