Название: Как организовать Ctrl+C в диалоге QDialog ? Отправлено: neosapient от Сентябрь 09, 2008, 13:08 День добрый.
Есть диалоговое окно (QMainDialog, наследник QDialog) загружаемое из ресурсов UI::QMainDialog - стандартная схема. В этом окне есть таблица, типа QTableWidget. Написал свой слот void QMainDialog::copy (void). В нем производиться копирование содержимого всех ячеек в буфер обмена. Проблема в том, как создать обработчик "CTRL+C" и подсоединить его к моему слоту ? В QMainWindow это делается легко через QAction (и меню), но для QDialog такой вариант не подошел, так как не могу понять где и как зарегисрировать QAction в моем классе QMainDialog. Название: Re: Как организовать Ctrl+C в диалоге QDialog ? Отправлено: developer от Сентябрь 09, 2008, 13:41 В ассистансе есть следующее:
Код: openAct = new QAction(QIcon(":/images/open.png"), tr("&Open..."), this); А также QAction можна назначать openAct->setShortcut( const QKeySequence & shortcut ), где QKeySequence есть нужная комбинация. Правда сам не пробовал. Название: Re: Как организовать Ctrl+C в диалоге QDialog ? Отправлено: neosapient от Сентябрь 09, 2008, 13:57 У меня код выглядит так
Код: QMainDialog::QMainDialog(QWidget *parent) Но он не работает. В чем может быть ошибка ? Название: Re: Как организовать Ctrl+C в диалоге QDialog ? Отправлено: ритт от Сентябрь 09, 2008, 14:30 tr("Ctrl+C")...оба хороши - прям как дети малые
читать про QKeySequence по теме: точно не уверен (и в код сейчас лезть лениво) - можно попробовать Код: //snip если не поможет, тогда уж, так и быть, полезу в код :) Название: Re: Как организовать Ctrl+C в диалоге QDialog ? Отправлено: lit-uriy от Сентябрь 09, 2008, 14:33 глянь в сторону QShortcut
и QShortcut::setKey(Qt::CTRL + Qt::Key_C); Название: Re: Как организовать Ctrl+C в диалоге QDialog ? Отправлено: neosapient от Сентябрь 09, 2008, 14:35 >> addAction(copyAction);
Действительно, не добавил QAction ;) Спасибо! Хорошо отдохнул в конце лета, всё из головы вылетело Название: Re: Как организовать Ctrl+C в диалоге QDialog ? Отправлено: Admin от Сентябрь 09, 2008, 15:11 я так отдохнул, что только на 3 неделю работать себя заставил.
Название: Re: Как организовать Ctrl+C в диалоге QDialog ? Отправлено: ритт от Сентябрь 09, 2008, 19:13 превратим эту ветку в рассказы о летнем отдыхе?
с удовольствием хотя бы послушаю про отдых :) >>> addAction(copyAction); и что, помогло? Название: Re: Как организовать Ctrl+C в диалоге QDialog ? Отправлено: Пантер от Сентябрь 09, 2008, 19:34 Давайте превращать. ;) У меня отпуск только послезавтра начинается и летом я уже никуда не поеду. :-D А лето прошло все в работе.
А по теме, можно вообще на крайняк грубо перехват сделать. |