Очистите фокус от QTableWidget, как только навигация по клавишам табуляции достигнет последнего элемента.C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Очистите фокус от QTableWidget, как только навигация по клавишам табуляции достигнет последнего элемента.

Сообщение Anonymous »

Я настроил диалоговое окно, и при нажатии клавиши Tab фокус переключается с кнопки на виджет таблицы. Я хочу, чтобы фокус вернулся к исходной кнопке после прохождения всех элементов виджета таблицы. Вот минимальный воспроизводимый пример:

Код: Выделить всё

#include 
#include 
#include 
#include 

class Widget : public QWidget
{
public:
explicit Widget()
{
setLayout(&vl);

tw.setRowCount(1);
tw.setColumnCount(3);

vl.addWidget(&btn);
vl.addWidget(&tw);
}

bool focusNextPrevChild(bool next)
{
QWidget* focusWidget = this->focusWidget();

if (focusWidget == &tw)
{
int currentRow = tw.currentRow();
int currentCol = tw.currentColumn();
int lastRow = tw.rowCount() - 1;
int lastCol = tw.columnCount() - 1;

if (next && currentRow == lastRow && currentCol == lastCol)
{
tw.clearFocus();
return true;
}
}

return QWidget::focusNextPrevChild(next);
}

private:
QPushButton btn;
QTableWidget tw;
QVBoxLayout vl;
};

int main(int argc, char* argv[])
{
QApplication a(argc, argv);

Widget w;
w.show();

return a.exec();
}
Изображение

Я попробовал переопределить функцию focusNextPrevChild, но это не сработало. Как только фокус попадает в виджет таблицы, он не может его покинуть.


Подробнее здесь: https://stackoverflow.com/questions/789 ... -last-item
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Обнаружить фокус, инициированный клавишей табуляции?
    Гость » » в форуме Jquery
    0 Ответы
    21 Просмотры
    Последнее сообщение Гость
  • Обнаружить фокус, инициированный клавишей табуляции?
    Anonymous » » в форуме Jquery
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Фокус внутри псевдокласса не работает для табуляции в JavaFX
    Anonymous » » в форуме JAVA
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Фокус внутри псевдокласса не работает для табуляции в JavaFX
    Anonymous » » в форуме JAVA
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Игра Python Turtle для двух игроков с действиями, привязанными к WASD и клавишам со стрелками.
    Anonymous » » в форуме Python
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»