Python 3 – PyQtでテーブルを使用する方法

テーブルは、 QTableWidget。 これは、Excelで表示されるものと同様の、アイテムベースのテーブルビューです。

GUIの一部としてテーブルウィジェットを含めることも、Excelのようなテーブルでウィンドウをポップアップすることもできます。

この例では(PyQt5)テーブル付きのウィンドウが表示されますが、デザイナーを使用してウィンドウGUIの一部にすることができます。

関連コース: PythonPyQt5でGUIアプリを作成する

テーブル

QTableWidget

QTableWidgetは、行と列を持つテーブルウィジェットです。

オブジェクトにはメソッドがあります .setRowCount(x) そして .setColumnCount(y)、ここで、xは行数、yは列数です。 あなたはこれをとして使うことができます self.setRowCount(5)

pyqtテーブル

内容はで設定されています self.setItem(m, n, newitem)、ここで、mとnはテーブル内の座標です。

変数 newitem タイプです QTableWidgetItem、テキスト値を文字列として受け取ることができます。 例えば: .setItem(1,2, QTableWidgetItem("Table Cell"))

関連コース: PythonPyQt5でGUIアプリを作成する

PyQTのテーブル

テーブルは変数データで定義されます。

1
2
3
data = {'col1':['1','2','3','4'],
'col2':['1','2','1','3'],
'col3':['1','1','2','1']}

以下の例では、3つの列といくつかの行を持つテーブルを作成します。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
     
from PyQt5.QtWidgets import QMainWindow, QApplication, QWidget, QAction, QTableWidget,QTableWidgetItem,QVBoxLayout
from PyQt5.QtGui import QIcon
from PyQt5.QtCore import pyqtSlot
import sys

data = {'col1':['1','2','3','4'],
'col2':['1','2','1','3'],
'col3':['1','1','2','1']}

class TableView(QTableWidget):
def __init__(self, data, *args):
QTableWidget.__init__(self, *args)
self.data = data
self.setData()
self.resizeColumnsToContents()
self.resizeRowsToContents()

def setData(self):
horHeaders = []
for n, key in enumerate(sorted(self.data.keys())):
horHeaders.append(key)
for m, item in enumerate(self.data[key]):
newitem = QTableWidgetItem(item)
self.setItem(m, n, newitem)
self.setHorizontalHeaderLabels(horHeaders)

def main(args):
app = QApplication(args)
table = TableView(data, 4, 3)
table.show()
sys.exit(app.exec_())

if __name__=="__main__":
main(sys.argv)

Python PyQtを初めて使用する場合は、 それなら私はこの本を強くお勧めします。

例をダウンロード

Hope this helps!

Source link