Как записать в переменную состояние checkBox, находящегося в cellWidget?
В моём tableWidget создаются checkbox на widget и вставляются в него через .setCellWidget.
Как мне считать с этого виджета состояние checkbox и передать в переменную bool?
main.py
from PyQt5 import QtCore, QtGui, QtWidgets
import sys
import test
class tabletest(QtWidgets.QMainWindow, test.Ui_Form):
def __init__(self):
super().__init__()
self.setupUi(self) # Это нужно для инициализации нашего дизайна
self.filltab(self.tableWidget_6)
self.filltab(self.tableWidget_7)
self.filltab(self.tableWidget_8)
self.filltab(self.tableWidget_9)
def filltab(self, table):
row_count6 = table.rowCount()
print(row_count6)
for row in range(row_count6):
check_box = self.create_checkbox()
table.setCellWidget(row, 3, check_box)
def create_checkbox(self):
Widget = QtWidgets.QWidget()
pCheckBox = QtWidgets.QCheckBox()
pLayout = QtWidgets.QHBoxLayout(Widget)
pLayout.addWidget(pCheckBox)
pLayout.setAlignment(QtCore.Qt.AlignCenter)
pLayout.setContentsMargins(0, 0, 0, 0)
Widget.setLayout(pLayout)
return Widget
def main():
app = QtWidgets.QApplication(sys.argv) # Новый экземпляр QApplication
window = tabletest() # Создаём объект класса TaskManager
window.setWindowIcon(QtGui.QIcon("icon.png"))
window.show() # Показываем окно
app.exec_() # и запускаем приложение
if __name__ == '__main__': # Если мы запускаем файл напрямую, а не импортируем
main() # то запускаем функцию main()
test.py
# -*- coding: utf-8 -*-
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Form(object):
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(917, 400)
Form.setStyleSheet("background-color: rgb(45, 45, 45);\n"
"")
self.tabWidget = QtWidgets.QTabWidget(Form)
self.tabWidget.setGeometry(QtCore.QRect(210, 120, 471, 171))
self.tabWidget.setObjectName("tabWidget")
self.tab = QtWidgets.QWidget()
self.tab.setObjectName("tab")
self.tableWidget_6 = QtWidgets.QTableWidget(self.tab)
self.tableWidget_6.setGeometry(QtCore.QRect(0, 0, 471, 151))
self.tableWidget_6.setStyleSheet("color: red;\n"
"background-color: rgb(151,63,175);")
self.tableWidget_6.setObjectName("tableWidget_6")
self.tableWidget_6.setColumnCount(4)
self.tableWidget_6.setRowCount(4)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setVerticalHeaderItem(0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setVerticalHeaderItem(1, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setVerticalHeaderItem(2, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setVerticalHeaderItem(3, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setHorizontalHeaderItem(0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setHorizontalHeaderItem(1, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setHorizontalHeaderItem(2, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setHorizontalHeaderItem(3, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setItem(0, 0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setItem(0, 1, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setItem(0, 2, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setItem(0, 3, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setItem(1, 0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setItem(1, 1, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setItem(1, 2, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setItem(2, 0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setItem(2, 1, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setItem(2, 2, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setItem(3, 0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setItem(3, 1, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setItem(3, 2, item)
self.tabWidget.addTab(self.tab, "")
self.tab_2 = QtWidgets.QWidget()
self.tab_2.setObjectName("tab_2")
self.tableWidget_7 = QtWidgets.QTableWidget(self.tab_2)
self.tableWidget_7.setGeometry(QtCore.QRect(0, 0, 471, 151))
self.tableWidget_7.setStyleSheet("color: red;\n"
"background-color: rgb(151,63,175);")
self.tableWidget_7.setObjectName("tableWidget_7")
self.tableWidget_7.setColumnCount(4)
self.tableWidget_7.setRowCount(1)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_7.setVerticalHeaderItem(0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_7.setHorizontalHeaderItem(0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_7.setHorizontalHeaderItem(1, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_7.setHorizontalHeaderItem(2, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_7.setHorizontalHeaderItem(3, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_7.setItem(0, 0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_7.setItem(0, 1, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_7.setItem(0, 2, item)
self.tabWidget.addTab(self.tab_2, "")
self.tab_3 = QtWidgets.QWidget()
self.tab_3.setObjectName("tab_3")
self.tableWidget_8 = QtWidgets.QTableWidget(self.tab_3)
self.tableWidget_8.setGeometry(QtCore.QRect(0, 0, 471, 151))
self.tableWidget_8.setStyleSheet("color: red;\n"
"background-color: rgb(151,63,175);\n"
"")
self.tableWidget_8.setObjectName("tableWidget_8")
self.tableWidget_8.setColumnCount(4)
self.tableWidget_8.setRowCount(2)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_8.setVerticalHeaderItem(0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_8.setVerticalHeaderItem(1, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_8.setHorizontalHeaderItem(0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_8.setHorizontalHeaderItem(1, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_8.setHorizontalHeaderItem(2, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_8.setHorizontalHeaderItem(3, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_8.setItem(0, 0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_8.setItem(0, 1, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_8.setItem(0, 2, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_8.setItem(0, 3, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_8.setItem(1, 0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_8.setItem(1, 1, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_8.setItem(1, 2, item)
self.tabWidget.addTab(self.tab_3, "")
self.tab_4 = QtWidgets.QWidget()
self.tab_4.setObjectName("tab_4")
self.tableWidget_9 = QtWidgets.QTableWidget(self.tab_4)
self.tableWidget_9.setGeometry(QtCore.QRect(0, 0, 471, 151))
self.tableWidget_9.setStyleSheet("color: red;\n"
"background-color: rgb(151,63,175);")
self.tableWidget_9.setObjectName("tableWidget_9")
self.tableWidget_9.setColumnCount(4)
self.tableWidget_9.setRowCount(1)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_9.setVerticalHeaderItem(0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_9.setHorizontalHeaderItem(0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_9.setHorizontalHeaderItem(1, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_9.setHorizontalHeaderItem(2, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_9.setHorizontalHeaderItem(3, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_9.setItem(0, 0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_9.setItem(0, 1, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_9.setItem(0, 2, item)
self.tabWidget.addTab(self.tab_4, "")
self.retranslateUi(Form)
self.tabWidget.setCurrentIndex(0)
QtCore.QMetaObject.connectSlotsByName(Form)
def retranslateUi(self, Form):
_translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(_translate("Form", "Form"))
item = self.tableWidget_6.verticalHeaderItem(0)
item.setText(_translate("Form", "New Row"))
item = self.tableWidget_6.verticalHeaderItem(1)
item.setText(_translate("Form", "New Row"))
item = self.tableWidget_6.verticalHeaderItem(2)
item.setText(_translate("Form", "New Row"))
item = self.tableWidget_6.verticalHeaderItem(3)
item.setText(_translate("Form", "New Row"))
item = self.tableWidget_6.horizontalHeaderItem(0)
item.setText(_translate("Form", "Задача"))
item = self.tableWidget_6.horizontalHeaderItem(1)
item.setText(_translate("Form", "Дата"))
item = self.tableWidget_6.horizontalHeaderItem(2)
item.setText(_translate("Form", "Состояние"))
item = self.tableWidget_6.horizontalHeaderItem(3)
item.setText(_translate("Form", "Статус"))
__sortingEnabled = self.tableWidget_6.isSortingEnabled()
self.tableWidget_6.setSortingEnabled(False)
item = self.tableWidget_6.item(0, 0)
item.setText(_translate("Form", "zzz"))
item = self.tableWidget_6.item(0, 1)
item.setText(_translate("Form", "02-12-2021"))
item = self.tableWidget_6.item(0, 2)
item.setText(_translate("Form", "Ожидание"))
item = self.tableWidget_6.item(1, 0)
item.setText(_translate("Form", "xxx"))
item = self.tableWidget_6.item(1, 1)
item.setText(_translate("Form", "11-12-2021"))
item = self.tableWidget_6.item(1, 2)
item.setText(_translate("Form", "Ожидание"))
item = self.tableWidget_6.item(2, 0)
item.setText(_translate("Form", "ccc"))
item = self.tableWidget_6.item(2, 1)
item.setText(_translate("Form", "18-11-2021"))
item = self.tableWidget_6.item(2, 2)
item.setText(_translate("Form", "Просрочено"))
item = self.tableWidget_6.item(3, 0)
item.setText(_translate("Form", "vvv"))
item = self.tableWidget_6.item(3, 1)
item.setText(_translate("Form", "22-02-2021"))
item = self.tableWidget_6.item(3, 2)
item.setText(_translate("Form", "Выполнено"))
self.tableWidget_6.setSortingEnabled(__sortingEnabled)
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("Form", "Все"))
item = self.tableWidget_7.verticalHeaderItem(0)
item.setText(_translate("Form", "New Row"))
item = self.tableWidget_7.horizontalHeaderItem(0)
item.setText(_translate("Form", "Задача"))
item = self.tableWidget_7.horizontalHeaderItem(1)
item.setText(_translate("Form", "Дата"))
item = self.tableWidget_7.horizontalHeaderItem(2)
item.setText(_translate("Form", "Состояние"))
item = self.tableWidget_7.horizontalHeaderItem(3)
item.setText(_translate("Form", "Статус"))
__sortingEnabled = self.tableWidget_7.isSortingEnabled()
self.tableWidget_7.setSortingEnabled(False)
item = self.tableWidget_7.item(0, 0)
item.setText(_translate("Form", "vvv"))
item = self.tableWidget_7.item(0, 1)
item.setText(_translate("Form", "22-02-2021"))
item = self.tableWidget_7.item(0, 2)
item.setText(_translate("Form", "Выполнено"))
self.tableWidget_7.setSortingEnabled(__sortingEnabled)
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("Form", "Выполнены"))
item = self.tableWidget_8.verticalHeaderItem(0)
item.setText(_translate("Form", "New Row"))
item = self.tableWidget_8.verticalHeaderItem(1)
item.setText(_translate("Form", "New Row"))
item = self.tableWidget_8.horizontalHeaderItem(0)
item.setText(_translate("Form", "Задача"))
item = self.tableWidget_8.horizontalHeaderItem(1)
item.setText(_translate("Form", "Дата"))
item = self.tableWidget_8.horizontalHeaderItem(2)
item.setText(_translate("Form", "Состояние"))
item = self.tableWidget_8.horizontalHeaderItem(3)
item.setText(_translate("Form", "Статус"))
__sortingEnabled = self.tableWidget_8.isSortingEnabled()
self.tableWidget_8.setSortingEnabled(False)
item = self.tableWidget_8.item(0, 0)
item.setText(_translate("Form", "zzz"))
item = self.tableWidget_8.item(0, 1)
item.setText(_translate("Form", "02-12-2021"))
item = self.tableWidget_8.item(0, 2)
item.setText(_translate("Form", "Ожидание"))
item = self.tableWidget_8.item(1, 0)
item.setText(_translate("Form", "xxx"))
item = self.tableWidget_8.item(1, 1)
item.setText(_translate("Form", "11-12-2021"))
item = self.tableWidget_8.item(1, 2)
item.setText(_translate("Form", "Ожидание"))
self.tableWidget_8.setSortingEnabled(__sortingEnabled)
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_3), _translate("Form", "Ожидание"))
item = self.tableWidget_9.verticalHeaderItem(0)
item.setText(_translate("Form", "New Row"))
item = self.tableWidget_9.horizontalHeaderItem(0)
item.setText(_translate("Form", "Задача"))
item = self.tableWidget_9.horizontalHeaderItem(1)
item.setText(_translate("Form", "Дата"))
item = self.tableWidget_9.horizontalHeaderItem(2)
item.setText(_translate("Form", "Состояние"))
item = self.tableWidget_9.horizontalHeaderItem(3)
item.setText(_translate("Form", "Статус"))
__sortingEnabled = self.tableWidget_9.isSortingEnabled()
self.tableWidget_9.setSortingEnabled(False)
item = self.tableWidget_9.item(0, 0)
item.setText(_translate("Form", "ccc"))
item = self.tableWidget_9.item(0, 1)
item.setText(_translate("Form", "18-11-2021"))
item = self.tableWidget_9.item(0, 2)
item.setText(_translate("Form", "Просрочено"))
self.tableWidget_9.setSortingEnabled(__sortingEnabled)
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_4), _translate("Form", "Просрочены"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
Form = QtWidgets.QWidget()
ui = Ui_Form()
ui.setupUi(Form)
Form.show()
sys.exit(app.exec_())
Метод записи данных в БД
def update(self):
for row_count in range(self.tableWidget_6.rowCount()):
bool = self.tableWidget_6.cellWidget(row_count, 3).isChecked() #!!!!!(попытка присвоить переменной значение с виджета с чекбоксом)
#cur.execute(f"INSERT INTO database (Check)"
# f"VALUES ('{bool}')")
print('Данные записаны')
Ответы (1 шт):
checkBoxs = widget.findChildren(QtWidgets.QCheckBox)[0]
findChildren - возвращает всех дочерних элементов этого объекта с заданным именем, которое может быть приведено к типу T, или пустой список, если таких объектов нет. Отсутствие аргумента имени приводит к совпадению всех имен объектов. Поиск выполняется рекурсивно, если в параметрах не указан параметр FindDirectChildrenOnly.
Больше https://doc.qt.io/qt-5/qobject.html#findChildren , https://doc.qt.io/qtforpython/PySide6/QtCore/QObject.html?highlight=findchildren#PySide6.QtCore.PySide6.QtCore.QObject.findChildren
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
# from test import Ui_Form
class Ui_Form(object):
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(917, 400)
Form.setStyleSheet("background-color: rgb(45, 45, 45);\n"
"")
self.tabWidget = QtWidgets.QTabWidget(Form)
self.tabWidget.setGeometry(QtCore.QRect(210, 120, 471, 171))
self.tabWidget.setObjectName("tabWidget")
self.tab = QtWidgets.QWidget()
self.tab.setObjectName("tab")
self.tableWidget_6 = QtWidgets.QTableWidget(self.tab)
self.tableWidget_6.setGeometry(QtCore.QRect(0, 0, 471, 151))
self.tableWidget_6.setStyleSheet("color: red;\n"
"background-color: rgb(151,63,175);")
self.tableWidget_6.setObjectName("tableWidget_6")
self.tableWidget_6.setColumnCount(4)
self.tableWidget_6.setRowCount(4)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setVerticalHeaderItem(0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setVerticalHeaderItem(1, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setVerticalHeaderItem(2, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setVerticalHeaderItem(3, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setHorizontalHeaderItem(0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setHorizontalHeaderItem(1, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setHorizontalHeaderItem(2, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setHorizontalHeaderItem(3, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setItem(0, 0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setItem(0, 1, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setItem(0, 2, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setItem(0, 3, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setItem(1, 0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setItem(1, 1, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setItem(1, 2, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setItem(2, 0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setItem(2, 1, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setItem(2, 2, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setItem(3, 0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setItem(3, 1, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_6.setItem(3, 2, item)
self.tabWidget.addTab(self.tab, "")
self.tab_2 = QtWidgets.QWidget()
self.tab_2.setObjectName("tab_2")
self.tableWidget_7 = QtWidgets.QTableWidget(self.tab_2)
self.tableWidget_7.setGeometry(QtCore.QRect(0, 0, 471, 151))
self.tableWidget_7.setStyleSheet("color: red;\n"
"background-color: rgb(151,63,175);")
self.tableWidget_7.setObjectName("tableWidget_7")
self.tableWidget_7.setColumnCount(4)
self.tableWidget_7.setRowCount(1)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_7.setVerticalHeaderItem(0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_7.setHorizontalHeaderItem(0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_7.setHorizontalHeaderItem(1, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_7.setHorizontalHeaderItem(2, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_7.setHorizontalHeaderItem(3, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_7.setItem(0, 0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_7.setItem(0, 1, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_7.setItem(0, 2, item)
self.tabWidget.addTab(self.tab_2, "")
self.tab_3 = QtWidgets.QWidget()
self.tab_3.setObjectName("tab_3")
self.tableWidget_8 = QtWidgets.QTableWidget(self.tab_3)
self.tableWidget_8.setGeometry(QtCore.QRect(0, 0, 471, 151))
self.tableWidget_8.setStyleSheet("color: red;\n"
"background-color: rgb(151,63,175);\n"
"")
self.tableWidget_8.setObjectName("tableWidget_8")
self.tableWidget_8.setColumnCount(4)
self.tableWidget_8.setRowCount(2)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_8.setVerticalHeaderItem(0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_8.setVerticalHeaderItem(1, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_8.setHorizontalHeaderItem(0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_8.setHorizontalHeaderItem(1, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_8.setHorizontalHeaderItem(2, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_8.setHorizontalHeaderItem(3, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_8.setItem(0, 0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_8.setItem(0, 1, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_8.setItem(0, 2, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_8.setItem(0, 3, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_8.setItem(1, 0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_8.setItem(1, 1, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_8.setItem(1, 2, item)
self.tabWidget.addTab(self.tab_3, "")
self.tab_4 = QtWidgets.QWidget()
self.tab_4.setObjectName("tab_4")
self.tableWidget_9 = QtWidgets.QTableWidget(self.tab_4)
self.tableWidget_9.setGeometry(QtCore.QRect(0, 0, 471, 151))
self.tableWidget_9.setStyleSheet("color: red;\n"
"background-color: rgb(151,63,175);")
self.tableWidget_9.setObjectName("tableWidget_9")
self.tableWidget_9.setColumnCount(4)
self.tableWidget_9.setRowCount(1)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_9.setVerticalHeaderItem(0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_9.setHorizontalHeaderItem(0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_9.setHorizontalHeaderItem(1, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_9.setHorizontalHeaderItem(2, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_9.setHorizontalHeaderItem(3, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_9.setItem(0, 0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_9.setItem(0, 1, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_9.setItem(0, 2, item)
self.tabWidget.addTab(self.tab_4, "")
self.retranslateUi(Form)
self.tabWidget.setCurrentIndex(0)
QtCore.QMetaObject.connectSlotsByName(Form)
def retranslateUi(self, Form):
_translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(_translate("Form", "Form"))
item = self.tableWidget_6.verticalHeaderItem(0)
item.setText(_translate("Form", "New Row"))
item = self.tableWidget_6.verticalHeaderItem(1)
item.setText(_translate("Form", "New Row"))
item = self.tableWidget_6.verticalHeaderItem(2)
item.setText(_translate("Form", "New Row"))
item = self.tableWidget_6.verticalHeaderItem(3)
item.setText(_translate("Form", "New Row"))
item = self.tableWidget_6.horizontalHeaderItem(0)
item.setText(_translate("Form", "Задача"))
item = self.tableWidget_6.horizontalHeaderItem(1)
item.setText(_translate("Form", "Дата"))
item = self.tableWidget_6.horizontalHeaderItem(2)
item.setText(_translate("Form", "Состояние"))
item = self.tableWidget_6.horizontalHeaderItem(3)
item.setText(_translate("Form", "Статус"))
__sortingEnabled = self.tableWidget_6.isSortingEnabled()
self.tableWidget_6.setSortingEnabled(False)
item = self.tableWidget_6.item(0, 0)
item.setText(_translate("Form", "zzz"))
item = self.tableWidget_6.item(0, 1)
item.setText(_translate("Form", "02-12-2021"))
item = self.tableWidget_6.item(0, 2)
item.setText(_translate("Form", "Ожидание"))
item = self.tableWidget_6.item(1, 0)
item.setText(_translate("Form", "xxx"))
item = self.tableWidget_6.item(1, 1)
item.setText(_translate("Form", "11-12-2021"))
item = self.tableWidget_6.item(1, 2)
item.setText(_translate("Form", "Ожидание"))
item = self.tableWidget_6.item(2, 0)
item.setText(_translate("Form", "ccc"))
item = self.tableWidget_6.item(2, 1)
item.setText(_translate("Form", "18-11-2021"))
item = self.tableWidget_6.item(2, 2)
item.setText(_translate("Form", "Просрочено"))
item = self.tableWidget_6.item(3, 0)
item.setText(_translate("Form", "vvv"))
item = self.tableWidget_6.item(3, 1)
item.setText(_translate("Form", "22-02-2021"))
item = self.tableWidget_6.item(3, 2)
item.setText(_translate("Form", "Выполнено"))
self.tableWidget_6.setSortingEnabled(__sortingEnabled)
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("Form", "Все"))
item = self.tableWidget_7.verticalHeaderItem(0)
item.setText(_translate("Form", "New Row"))
item = self.tableWidget_7.horizontalHeaderItem(0)
item.setText(_translate("Form", "Задача"))
item = self.tableWidget_7.horizontalHeaderItem(1)
item.setText(_translate("Form", "Дата"))
item = self.tableWidget_7.horizontalHeaderItem(2)
item.setText(_translate("Form", "Состояние"))
item = self.tableWidget_7.horizontalHeaderItem(3)
item.setText(_translate("Form", "Статус"))
__sortingEnabled = self.tableWidget_7.isSortingEnabled()
self.tableWidget_7.setSortingEnabled(False)
item = self.tableWidget_7.item(0, 0)
item.setText(_translate("Form", "vvv"))
item = self.tableWidget_7.item(0, 1)
item.setText(_translate("Form", "22-02-2021"))
item = self.tableWidget_7.item(0, 2)
item.setText(_translate("Form", "Выполнено"))
self.tableWidget_7.setSortingEnabled(__sortingEnabled)
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("Form", "Выполнены"))
item = self.tableWidget_8.verticalHeaderItem(0)
item.setText(_translate("Form", "New Row"))
item = self.tableWidget_8.verticalHeaderItem(1)
item.setText(_translate("Form", "New Row"))
item = self.tableWidget_8.horizontalHeaderItem(0)
item.setText(_translate("Form", "Задача"))
item = self.tableWidget_8.horizontalHeaderItem(1)
item.setText(_translate("Form", "Дата"))
item = self.tableWidget_8.horizontalHeaderItem(2)
item.setText(_translate("Form", "Состояние"))
item = self.tableWidget_8.horizontalHeaderItem(3)
item.setText(_translate("Form", "Статус"))
__sortingEnabled = self.tableWidget_8.isSortingEnabled()
self.tableWidget_8.setSortingEnabled(False)
item = self.tableWidget_8.item(0, 0)
item.setText(_translate("Form", "zzz"))
item = self.tableWidget_8.item(0, 1)
item.setText(_translate("Form", "02-12-2021"))
item = self.tableWidget_8.item(0, 2)
item.setText(_translate("Form", "Ожидание"))
item = self.tableWidget_8.item(1, 0)
item.setText(_translate("Form", "xxx"))
item = self.tableWidget_8.item(1, 1)
item.setText(_translate("Form", "11-12-2021"))
item = self.tableWidget_8.item(1, 2)
item.setText(_translate("Form", "Ожидание"))
self.tableWidget_8.setSortingEnabled(__sortingEnabled)
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_3), _translate("Form", "Ожидание"))
item = self.tableWidget_9.verticalHeaderItem(0)
item.setText(_translate("Form", "New Row"))
item = self.tableWidget_9.horizontalHeaderItem(0)
item.setText(_translate("Form", "Задача"))
item = self.tableWidget_9.horizontalHeaderItem(1)
item.setText(_translate("Form", "Дата"))
item = self.tableWidget_9.horizontalHeaderItem(2)
item.setText(_translate("Form", "Состояние"))
item = self.tableWidget_9.horizontalHeaderItem(3)
item.setText(_translate("Form", "Статус"))
__sortingEnabled = self.tableWidget_9.isSortingEnabled()
self.tableWidget_9.setSortingEnabled(False)
item = self.tableWidget_9.item(0, 0)
item.setText(_translate("Form", "ccc"))
item = self.tableWidget_9.item(0, 1)
item.setText(_translate("Form", "18-11-2021"))
item = self.tableWidget_9.item(0, 2)
item.setText(_translate("Form", "Просрочено"))
self.tableWidget_9.setSortingEnabled(__sortingEnabled)
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_4), _translate("Form", "Просрочены"))
#class TableTest(QtWidgets.QMainWindow, Ui_Form):
# vvvvvvv <---- это у вас скрытая ошибка # !!!
class TableTest(QtWidgets.QWidget, Ui_Form):
def __init__(self):
super().__init__()
self.setupUi(self)
self.filltab(self.tableWidget_6)
self.filltab(self.tableWidget_7)
self.filltab(self.tableWidget_8)
self.filltab(self.tableWidget_9)
# +++ vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
self.button = QtWidgets.QPushButton('Click me', self)
self.button.resize(100, 40)
self.button.move(570, 340)
self.button.setStyleSheet("background-color: rgb(151, 151, 175);")
self.button.clicked.connect(self.run_button)
# +++ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
def filltab(self, table):
row_count6 = table.rowCount()
for row in range(row_count6):
check_box = self.create_checkbox()
table.setCellWidget(row, 3, check_box)
def create_checkbox(self):
widget = QtWidgets.QWidget()
pCheckBox = QtWidgets.QCheckBox()
pLayout = QtWidgets.QHBoxLayout(widget)
pLayout.addWidget(pCheckBox)
pLayout.setAlignment(QtCore.Qt.AlignCenter)
pLayout.setContentsMargins(0, 0, 0, 0)
widget.setLayout(pLayout)
return widget
# +++ vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
def run_button(self):
self._update()
def _update(self):
print('\ndef _update(self):')
for row_count in range(self.tableWidget_6.rowCount()):
# # !(попытка присвоить переменной значение с виджета с чекбоксом)
# bool = self.tableWidget_6.cellWidget(row_count, 3).isChecked()
_bool = False
widget = self.tableWidget_6.cellWidget(row_count, 3)
checkBoxs = widget.findChildren(QtWidgets.QCheckBox)[0]
if checkBoxs:
_bool = checkBoxs.isChecked()
#cur.execute(f"INSERT INTO database (Check)"
# f"VALUES ('{_bool}')")
print(f'checkBox в строке {row_count}: {_bool}')
# +++ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
def main():
app = QtWidgets.QApplication(sys.argv)
window = TableTest()
window.setWindowIcon(QtGui.QIcon("icon.png"))
window.show()
app.exec_()
if __name__ == '__main__':
main()
