Russian Qt Forum

Qt => Общие вопросы => Тема начата: timur85 от Июнь 12, 2007, 03:17



Название: QMenu и slot
Отправлено: timur85 от Июнь 12, 2007, 03:17
При создании проекта в MVS2005 столкнулся с такой проблемой.
В редакторе форм создал menuBar, разместил там выпадающую менюшку
file в ней open.
В файле ui_mainwindow.h сгенерировалось
public:
    QAction *actionOpen;
и
actionOpen = new QAction(MainwindowClass);
actionOpen->setObjectName(QString::fromUtf8("actionOpen"));
menuFile->addAction(actionOpen);
В конструкторе Mainwindow() я прописал:
     connect(actionOpen, SIGNAL(triggered()), this, SLOT(load()));
При компиляции выдалась следующая ошибка:
.\mainwindow.cpp(12) : error C2065: 'actionOpen' : undeclared identifier
:(
Подскажите пожалуйста каким образом связать элемент меню и созданный слот...


Название: QMenu и slot
Отправлено: Lion от Июнь 12, 2007, 06:33
Скорее всего у тебя mainwindow не является наследником mainwindowclass, находящегося в ui_mainwindow.h, а содержит экземпляр этого класса, например такой: Ui::mainwindowclass ui;. В этом случае подключать слот надо так:
Код:
connect(ui.actionOpen, SIGNAL(triggered()), this, SLOT(load()));


Название: Re: QMenu и slot
Отправлено: pastor от Июнь 12, 2007, 09:00
Цитата: "timur85"

Подскажите пожалуйста каким образом связать элемент меню и созданный слот...


Как ты юзаешь уишку в своем проекте? Почитай раздел ассистанта, там все подробно изложено:

Qt Designer Manual -> Using a Component in Your Application