crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

AD
  опции профиля:
сообщение 22.5.2008, 12:21
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Не понимаю, что сделал неправильно. В одном классе происходит инициализация элементов диалогового окна, а в другом, где они и используются, привязка сигналов к слотам. Но при этом почему-то нет реакции на слот. Сможете подсказать в чем дело?
Вот код:

void QDialDistParam::setupDialog(QWidget* dialog)
{
    for(int k=1; k<reader -> tabs_count; ++k)
        distGraphics -> addTab(reader -> getMain() -> tab_widgets[k], QString());
    for(int k=0; k<param_vec.size(); ++k)
    {
        if(!param_vec[k]) continue;
        connect(param_vec[k] -> chkParamName, SIGNAL(clicked()), this, SLOT(chkParamNameClick()));
        connect(param_vec[k] -> btnColor, SIGNAL(clicked()), this, SLOT(btnColorClick()));
    }
}


void QDialDistParam::btnColorClick()
{
    QColor color = QColorDialog::getColor();
    if(!color.isValid()) return;            ///< если нажали Cancel

    QString color_name = color.name();
    QPushButton* btnClr = qobject_cast<QPushButton*> (sender());
    QString style_sheet = "* { background-color: ";
    style_sheet += color_name;
    style_sheet += " }";
    btnClr -> setStyleSheet(style_sheet);
}


/// Класс диалогового окна параметров по расстоянию
class QDialDistParam: public QDialog, public Ui::distParams
{
    Q_OBJECT

/// другие объявления

public:
    QVector<DIALPARAM*> param_vec;                ///< вектор параметров окна
    GraphicDisplay* graphic;                    ///< указатель на диалог с графиком
}


void TLV::dtDialogFill()
{
        dlgDist.setupDialog(this);
    dlgTime.setupDialog(this);
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- AD   Сигнал/Слот проблемы   22.5.2008, 12:21
- - ViGOur   А ты уверен, что проходишь дальше: if(!par...   22.5.2008, 12:51
|- - AD   Цитата(ViGOur @ 22.5.2008, 13:51) А ты ув...   22.5.2008, 13:03
- - Mixolap   Заголовочный файл QDialDistParam покажи полностью....   22.5.2008, 16:35
- - as001622   У меня тож проблемаю Сделал субкласс для QAbstract...   22.5.2008, 18:30
- - ViGOur   Цитата(as001622 @ 22.5.2008, 19:30) Кто-н...   22.5.2008, 19:05
- - as001622   #ifndef MYBUTTON_H #define MYBUTTON_H #include ...   22.5.2008, 19:27
- - Litkevich Yuriy   as001622, вижу в main'е: QObject::conn...   22.5.2008, 19:43
- - as001622   Это я ошибся когда скидывал, сокращал код, там дол...   22.5.2008, 19:51
- - Litkevich Yuriy   я слотом quit() не пользовался, но либо ты весь ma...   22.5.2008, 20:02
- - as001622   пытался пользоваться слотом close() тот же результ...   22.5.2008, 20:21
- - Litkevich Yuriy   а с обычной кнопкой работает этот же код? мне прос...   22.5.2008, 20:37
- - as001622   да обычная кнопка работает   22.5.2008, 20:40
- - Litkevich Yuriy   ну если завтра будет время то попробую с компилить...   22.5.2008, 20:48
|- - AD   Со своей проблемой разобрался! Дело вот в чем....   23.5.2008, 9:09
- - Mixolap   Слоты должны быть определены в private slots: или...   23.5.2008, 16:46
- - as001622   Я тоже нашёл ответ на свой вопрос. В каждой функци...   24.5.2008, 16:29


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 13.7.2025, 8:18