-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathtable_widget.py
More file actions
54 lines (45 loc) · 1.74 KB
/
Copy pathtable_widget.py
File metadata and controls
54 lines (45 loc) · 1.74 KB
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import PyQt5
from PyQt5 import QtWidgets
from PyQt5.QtWidgets import QLabel
from PyQt5.QtWidgets import QLineEdit
from PyQt5.QtWidgets import QListView
from PyQt5.QtWidgets import QPushButton
from PyQt5.QtWidgets import QTableWidget
from PyQt5.QtWidgets import QPlainTextEdit
from PyQt5.QtWidgets import QTableWidgetItem
class Table(QtWidgets.QTableWidget):
def __init__(self):
super(Table, self).__init__()
self.rows_number = 0
self.columns_number = 1
self.setRowCount(self.rows_number)
self.setColumnCount(self.columns_number)
self.setup_empty_table()
# < ADD PushButton and connect with function add_cell > #
self.button_form = QPushButton()
self.button_form.setText("Nowe pole")
self.button_form.clicked.connect(self.add_cell)
self.button_form2 = QPushButton()
self.button_form2.setText("Usuń pole")
self.button_form2.clicked.connect(self.remove_cell)
def setup_empty_table(self):
self.horizontalHeader().setStretchLastSection(True)
self.setMinimumHeight(120)
self.setMaximumHeight(180)
self.add_cell()
for x in range(self.rows_number):
self.setRowHeight(x, 30)
def add_cell(self):
self.rows_number = (self.rowCount())
self.insertRow(self.rows_number)
self.setItem(self.rows_number, 0, QtWidgets.QTableWidgetItem(""))
if int(self.rows_number) > 3:
self.setMinimumHeight(150)
self.setMaximumHeight(300)
for x in range(self.rowCount()):
self.setRowHeight(x, 20)
self.show()
def remove_cell(self):
self.current_row = self.currentRow()
self.removeRow(self.currentRow())
self.show()