Как я могу сказать QTableWidget заканчивать редактирование ячейки?

Вы можете выбрать Client_table, когда выполняете INSERT, чтобы получить идентификатор клиента. Вам также следует использовать подготовленный оператор для предотвращения внедрения SQL.

$ins_query= "INSERT INTO Order_table (Client_name, Client_id)
            SELECT Client_name, Client_id
            FROM Client_table
            WHERE Client_name = ?";
$ins_stmt = $con->prepare($ins_query) or die($con->error);
$ins_stmt->bind_param("s", $Client_name);
$ins_stmt->execute() or die($ins_stmt->error);
5
задан Georg Schölly 8 January 2014 в 15:04
поделиться

2 ответа

QTableWidget наследовал 19 общедоступных слотов от QWidget. Один из тех является setDisabled (), который должен отключить входные события для того виджета и всех его детей.

Я попробовал бы:

table.setDisabled( true );
table.setDisabled( false );

Хотя Вы сказали, что это не работает на Вас, существует альтернативный метод: Если Вам не нравится это (таблица теряет фокус, я верю), можно попытаться использовать EditTriggers. Например:

table.setEditTriggers( QAbstractItemView::NoEditTriggers );
7
ответ дан 18 December 2019 в 14:52
поделиться

Вы можете использовать QTableWidget.closePersistentEditor () для закрытия редактора. Однако QAbstractItemView.closeEditor () может быть ближе к тому, что Вы хотите, тем более, что Вы, кажется, довольны находящимся в QModelIndex API и уже используете пользовательский виджет редактора.

1
ответ дан 18 December 2019 в 14:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: