9

私はPyQtが初めてで、とにかく少し混乱しています。次のようなテキストファイル構造があります。

  • 名前 姓 電話 Eメール

スペースが実際にはタブ " \t " である場合、このファイルを私の方法で読むと、QTable ウィジェットに入力したいと思います。

私の QTable Widget にはName, Surname,という 4 つの列がありTelephoneEmail現在は行がありませんが、ファイルから行を読み取り、各行をタブレータで分割するときに、各列に行の内容が含まれる新しい行を追加したいと考えています。

これを可能にするQTable Widgetが提供する解決策または方法が見つからないため、誰かがこれを行う方法を教えてもらえますか。

4

1 に答える 1

15

データを入力する場合は、ドキュメントにデータ例をQTableWidget挿入する前に行数と列数を設定する必要があります(PySide のドキュメントは PyQt よりも優れています)。また、タブで区切られたテキスト文字列をテーブルに挿入することはできません。自分で準備してから、を呼び出してテーブルに を入力する必要があります。次のようになります。QTableWidgetItemQTableWidget.setItem

entries = []
with open('data') as input:
    for line in input:
        entries.append(line.strip().split('\t'))

tableWidget.setRowCount(len(entries))
tableWidget.setColumnCount(len(entries[0]))

for i, row in enumerate(entries):
    for j, col in enumerate(row):
        item = QTableWidgetItem(col)
        tableWidget.setItem(i, j, item)

dataエントリを含むファイルがあり、tableWidgetインスタンスQTableWidgetであると想定しています。

この例のファイルは手動で解析されていますが、このタスクには標準のcsv モジュールを使用することを検討してください。

于 2012-01-08T07:47:29.073 に答える