Я пытаюсь связать Qt::META
+ Qt::Key_Tab
ярлык в QTabWidget
для переключения вкладок (например, он работает в хромированных или многих других приложениях). Я пробовал каждое решение, найденное в Google, но эта комбинация ярлыков не работает.C++ QT OSX Qt :: META + Qt :: Key_Tab shortcut bind
Я пробовал:
- Комбинации как
Qt::Key_Control
+Qt::Key_Tab
,Qt::Key_Meta
+Qt::Key_Tab
,QKeySequence
(Qt::Key_Meta
,Qt::Key_Tab
),QKeySequence
(Qt::META
,Qt::Key_Tab
) и т.д. QShortcut
QAction
- захват ключей с помощью виртуального
QWidget::event
- захватив ключи с помощью виртуального
QWidget::eventFilter
сinstallEventFilter
- все относительному как
keyPressed
и т.д ..
QWidget::event
/QWidget::eventFilter
улавливает сдвига + Tab, Alt + Tab, но не Ctrl (META) + Вкладка. Когда я нажимаю Ctrl Я вижу свой вывод qDebug
, когда я нажимаю Ctrl + Tab, ничего не происходит.
Может кто-нибудь объяснить мне, что не так и так особенно с этой конкретной комбинацией клавиш в QT на OSX?
Не имеет значения, какой виджет, я создал чистый проект GUI без каких-либо других виджетов в нем - все тот же.
Некоторая информация:
- OSX Mountain Lion 10.8.5
- QT 5,2
BTW, В Qt Creator Я не в состоянии установить Ctrl +Tab ярлык либо, thats действительно смешно.
Примечание: Он отлично работает на Windows, , он не работает на OSX!
Я ценю любую помощь.
Простой код с QAction:
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QAction *pAction = new QAction(this);
QKeySequence keySequence = Qt::META + Qt::Key_Tab; // Not working
// or
QKeySequence keySequence = Qt::ALT + Qt::Key_Tab; // Works Alt+Tab
// or
QKeySequence keySequence = QKeySequence(Qt::Key_Meta, Qt::Key_Tab); // Not working
// or
QKeySequence keySequence = QKeySequence(Qt::META, Qt::Key_Tab); // Not working
pAction->setShortcut(keySequence);
connect(pAction, SIGNAL(triggered()), this, SLOT(shortcut_NextTab()));
addAction(pAction);
}
и слот функции:
void MainWindow::shortcut_NextTab()
{
qDebug() << "LOL";
}
Ожидая увидеть LOL
в выходе приложения, при нажатии Ctrl +Tab.
Пожалуйста, отправьте код, который вы попробовали, объясните, что вы ожидали от него, и почему он не работает. – djechlin
Добавлен простой фрагмент кода с использованием QAction. Я могу изменить Qt :: Key_Meta + Qt :: Key_Tab для того, что хочу, и он работает, но Ctrl + Tab не работает. – x610