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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Невидимые элементы управления.  (Прочитано 4828 раз)
AlexSudn
Гость
« : Февраль 01, 2010, 17:38 »

Всем привет,столкнулся с такой проблемой:
при создании таких элементов как слайдер,SpinBox и ProgressBar,элементы их управления/отображения невидимы.Например у слайдера отсутствует "ползунок" у SpinBox'а нет стрелок,а прогрес-бар не отображает так сказать "бары".Странно так же то,что если кликнуть на вероятное положение например ползунка слайдера,связанные со слайдером объекты действуют нормально,то-же самое со стрелками SpinBox'а...такое ощущение что не установлен какой-то флаг видимости или что-то подобное.Может кто то сталкивался с подобным.Заранее спасибо!
Записан
sendevent
Гость
« Ответ #1 : Февраль 01, 2010, 17:50 »

возможно:
а) используемый стиль - кривой;
б) если стиль сам не менял - стоит проверить, все ли хорошо с .../plugins/imageformats - либо они не собраны, либо приложение их не находит.
Записан
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #2 : Февраль 01, 2010, 17:54 »

Может еше с event-ами чегото намутил, кинь минимальный пример.
Записан
AlexSudn
Гость
« Ответ #3 : Февраль 01, 2010, 18:14 »

Вот простой пример:слайдер и чекбокс связаны между собой.

Код:
	#include <QSpinBox>
#include <QSlider>
#include <QApplication>
#include <QVBoxLayout>


/////////////////////////////////////
int main(int argc,char *argv[])
{
QApplication app(argc,argv);


QSpinBox *spin_box=new QSpinBox;
spin_box->setMinimum(10);
spin_box->setMaximum(100);
spin_box->setSingleStep(5);

QSlider *slider=new QSlider(Qt::Horizontal);
slider->setRange(10,100);
slider->setTickPosition(QSlider::TicksBelow);
slider->setTickInterval(15);

QObject::connect(slider,SIGNAL(valueChanged(int)),
spin_box,SLOT (setValue(int)) );

QObject::connect(spin_box,SIGNAL(valueChanged(int)),
slider,SLOT (setValue(int)) );





QWidget main_window;
QVBoxLayout *main_layout=new QVBoxLayout(&main_window);
main_layout->addWidget(spin_box);
main_layout->addWidget(slider);
main_window.show();

return app.exec();
}
По поводу стилей:только начал кодить под Qt,и пока до стилей не дошёл.И напоследок маленькое видео,наглядно демонстрирующее проблему.Спасибо за помощь.
View My Video
Записан
AlexSudn
Гость
« Ответ #4 : Февраль 01, 2010, 19:43 »

Скорее всего проблема лежит за пределами Qt,поставил его на другой комп,открыл Disigner-все кнопки и элементы отображаются правильно,на другом нет.Думаю нужно переставить ОС,т-е помнится в каких то приложениях были похожие проблемы...
Записан
sendevent
Гость
« Ответ #5 : Февраль 02, 2010, 03:56 »

сносить ос не торопись - всегда успеется. тем более, как я понимаю - время вроде не поджимает, поэтому полезнее было бы разобраться с проблемой "не как обычно"Подмигивающий
сами контроллы живые, хромает тока их отображение. в qwindows*style'ах не ковырялся, но часть графики хранится картинками (.png в ресурсах или .xpm в исходниках - см. %qtdir%/examples/widgets/styles) -тут, думаю, тот же подход. вывод графики реализуется через плагины, с ними довольно часто случаются всякие "непонятности", я думаю - как раз этот случай и у тебя.
если есть желание ковырять дальше - расскажи:
  • что за винда (судя поскриншотам- двухтонник или икспя без декора?);
  • каким компиллятором пользуешься;
  • откуда взал дистр кьют (как ставил);
  • если пересобирал - с какими опциями;
  • нет ли проблем с отображением графики в приложениях из examples;
  • мож, кьют сама говорит ворнингами при дебаге, что мешает ей вести себя нормально - глянь в output'e.
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #6 : Февраль 02, 2010, 04:18 »

Добавлю еще один пункт:

  • каким системным стилем пользуешься?
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
sendevent
Гость
« Ответ #7 : Февраль 02, 2010, 11:38 »

Цитата: pastor
каким системным стилем пользуешься?
Цитата: AlexSudn
По поводу стилей:только начал кодить под Qt,и пока до стилей не дошёл.

видимо, QWindowsStyle:
Цитата: QAss
The QWindowsStyle class provides a Microsoft Windows-like look and feel.
This style is Qt's default GUI style on Windows.
хотя было бы логично для XP сделать дефолтным QWindowsXPStyle - в ассистенте об этом ни слова, а сам както не обращал внимания В замешательстве
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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