Russian Qt Forum
Сентябрь 30, 2024, 20:22 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: конструктор QAction и наследник QWidget  (Прочитано 3238 раз)
TeapoT
Гость
« : Июль 19, 2013, 17:08 »

Заранее прошу прощения за нубский вопрос. Чувствую что решение простое, но сам не додумываюсь - уж извините новичка.

Ситуация: есть класс - наследник QWidget:

class WaitressPanelWidget:public QWidget;


Хочу создать в нём меню QToolBar и повесить на него QAction. Для этого в конструкторе  WaitressPanelWidget пишу:     

    QAction * newAct = new QAction(tr("&New"), tr("Ctrl+N"), this);
      newAct->setIconSet(QPixmap::fromMimeSource("new.png"));
      newAct->setStatusTip(tr("Create a new spreadsheet file"));
      connect(newAct, SIGNAL(activated()), this, SLOT(newFile()));

QToolBar * fileToolBar = new QToolBar("File", this);
      newAct->addTo(fileToolBar);

Всплывает ошибка: no matching function for call to 'QAction::QAction(QString, QString, WaitressPanelWidget* const). Подскажите кто-нибудь, как бороться с такими ситуациями?
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #1 : Июль 19, 2013, 17:40 »

Вот его конструкторы:
Код:
QAction ( QObject * parent )
QAction ( const QString & text, QObject * parent )
QAction ( const QIcon & icon, const QString & text, QObject * parent )

Замените
Код:
QAction * newAct = new QAction(tr("&New"), tr("Ctrl+N"), this);
на:
Код:
QAction * newAct = new QAction(tr("&New"), this);
newAct->setShortcut( QKeySequence("Ctrl+N") );
Записан

TeapoT
Гость
« Ответ #2 : Июль 22, 2013, 13:44 »

Спасибо, помогло!
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #3 : Июль 22, 2013, 16:20 »

Еще бы не помогло Веселый
Записан

Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.044 секунд. Запросов: 22.