crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> QColorDialog возвращает значение при закрытии
ruzik
  опции профиля:
сообщение 25.5.2011, 21:48
Сообщение #1


Активный участник
***

Группа: Участник
Сообщений: 254
Регистрация: 23.2.2011
Из: Саратов
Пользователь №: 2436

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




Репутация:   0  


Здравствуйте есть такая проблема:
Есть QColorDialog и он должен возвращать что-то только если пользователь сам этого захотел то есть нажал ОК а он к тому же возвращает #000000 если пользователь нажал отмена или закрыл программу, можно ли сделать так что бы программа возвращала не #000000 а просто нулевую строку что бы можно было её проверить
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 25.5.2011, 22:53
Сообщение #2


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


А проверить #000000 нельзя?
Делаем наследника, и переписываем под свои нужды.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
silver47
  опции профиля:
сообщение 26.5.2011, 5:05
Сообщение #3


Активный участник
***

Группа: Участник
Сообщений: 356
Регистрация: 1.4.2010
Пользователь №: 1584

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




Репутация:   6  


Так Вы проверьте, нажата ли кнопка ОК.
QColorDialog CD;
if(CD.exec() == QColorDialog::Accepted){
    qDebug() << "accepted";
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ruzik
  опции профиля:
сообщение 6.6.2011, 15:56
Сообщение #4


Активный участник
***

Группа: Участник
Сообщений: 254
Регистрация: 23.2.2011
Из: Саратов
Пользователь №: 2436

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




Репутация:   0  


Сделал так:
    QColorDialog cd;
    QString color = cd.getColor().name();
    if(cd.exec() == cd.Accepted){
        plainTextEdit->textCursor().insertText(color);
    }

Но почему-то открывает 2 диалога вместо 1, я понимаю что один в присвоении строки, а другой в сравнении но почему так?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
wiz29
  опции профиля:
сообщение 6.6.2011, 16:01
Сообщение #5


Старейший участник
****

Группа: Участник
Сообщений: 600
Регистрация: 7.7.2010
Из: Санкт-Петербург
Пользователь №: 1866

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




Репутация:   12  


QColorDialog::getColor

Это статическая функция
замени на
QColorDialog cd;
    QString color;
    if(cd.exec() == cd.Accepted){
         color =     cd.currentColor ().name();
        plainTextEdit->textCursor().insertText(color);
    }
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ruzik
  опции профиля:
сообщение 6.6.2011, 16:19
Сообщение #6


Активный участник
***

Группа: Участник
Сообщений: 254
Регистрация: 23.2.2011
Из: Саратов
Пользователь №: 2436

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




Репутация:   0  


Спасибо!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 29.3.2024, 14:33