Как подставить в колонну в таблице tableWidget блок dataEdit? В Qt designer

Как подставить блок dataEdit в определенный столбец в таблицу TableWidget.

Если можно, то как провернуть данные действия в Qt designer?

введите сюда описание изображения


Ответы (1 шт):

Автор решения: S. Nick

Вы не сможете сделать это с помощью Qt Designer, сейчас можно вставить только текст.

введите сюда описание изображения

Самое простое и практичное решение - сделать это с помощью кода, примерно так:

    ...
    row = 3
    column = 2
    self.tableWidget = QtWidgets.QTableWidget(row, column)
    
    for row in range(self.tableWidget.rowCount()):
        date_from = QtWidgets.QDateTimeEdit()
        date_from.setDateTime(

# так            
#            QtCore.QDateTime(QtCore.QDate(2021, 9, 4))
# или так
            QtCore.QDateTime(QtCore.QDate(2021, 8, 26), QtCore.QTime(15, 0, 0))
        )

        self.tableWidget.setCellWidget(row, 0, date_from)    # !!!    
    ...
    

void QTableWidget::setCellWidget(int row, int column, QWidget *widget)

Устанавливает данный виджет для отображения в ячейке в данной строке и столбце, передавая владение виджетом таблице.

→ Ссылка