Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Qt
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
Buckstabue
177 / 126 / 24
Регистрация: 12.01.2012
Сообщений: 624
1

Как изменять параметры виджетов?

21.06.2012, 21:17. Просмотров 1096. Ответов 13
Метки нет (Все метки)

Такая проблема, допустим мне нужно, чтобы при запуске приложения происходила какая-нибудь анимация. Так вот, если я вызову процедуру анимации до вызова app.exec() в main(), то пользователь не увидит эту анимацию. А если я вызову app.exec(), то анимация так и не начнётся, пока пользователь не выйдет из приложения. Как выйти из этого положения? Создавать отдельный поток и там через сигналы/слоты управлять окном анимации или есть более элегантное решение?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.06.2012, 21:17
Ответы с готовыми решениями:

Перебор виджетов как массив
У меня есть много QLabel'лов. Имена у них kn_0.....kn_31. Их предок...

Как создать список виджетов?
Мне надо вывести список фильмов(картинка, актеры, описание и т.д.), как на...

QDialog как контейнер для виджетов
Всем привет. В общем стоит задача сделать кастомную тень для диалогов. Есть...

Как наследоваться от виджетов, нарисованных в QtDesigner?
Привет! Вот нарисовал я на CentralWidget (ну главный виджет формы) какой - то...

Есть ли в QT возможность перебора виджетов, как элементов массива?
возможно я не очень правильно задал вопрос, но вот что меня интересует есть...

13
Maxim Prishchepa
Эксперт С++
1924 / 1036 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
21.06.2012, 21:27 2
C++ (Qt)
1
2
3
4
5
6
main(){
   MainWidget w;
   w.show();
   w.animateSomthing();
   app.exec();
}
должно сработать как положенно

Добавлено через 1 минуту
ну или перекройте метод show,
или перекройте event() и в нем чего нибудь наворотите, тут вариантов чуть больше чем чуть ниже пупка...
0
Buckstabue
177 / 126 / 24
Регистрация: 12.01.2012
Сообщений: 624
21.06.2012, 23:15  [ТС] 3
У меня банально окошко не прорисовывается до запуска app.exec()
0
cyberdiem
74 / 25 / 2
Регистрация: 15.02.2012
Сообщений: 97
21.06.2012, 23:37 4
объект какого класса твое окошко? и как ты его показываешь? прямо в мейне или внути методов? если внутри методов то скорее всего окошко создается, шоувится и потом закрывается вместе с оператором "}" и до main() уже не доживает. А если и в мейне беда, то попробуй память выделить динамически, мб поможет:

C++ (Qt)
1
2
3
4
5
6
7
int main(){
    QApplication app(argc,argv);
    QWidget *window=new QWidget;
    window->show();
    window->animateSomthing();
    return app.exec();
}
0
Buckstabue
177 / 126 / 24
Регистрация: 12.01.2012
Сообщений: 624
21.06.2012, 23:42  [ТС] 5
Вот самый голый проект. Тут, конечно, не анимация, но всё же прорисовка окна. Лично у меня первые три секунды окно просто не прорисовывается
0
Вложения
Тип файла: zip TimeToEGE.zip (3.9 Кб, 10 просмотров)
ЛеЖиК)
185 / 60 / 4
Регистрация: 29.04.2011
Сообщений: 642
22.06.2012, 14:51 6
я думаю это
C++ (Qt)
1
2
3
4
5
6
int main(int argc, char *argv[])
{
   QApplication a(argc, argv);
   Widget w;
   w.show();
   w.setTimeLbl("test1");
надо заменить на
C++ (Qt)
1
2
3
4
5
6
int main(int argc, char *argv[])
{
   QApplication a(argc, argv);
   Widget * w=new Wiadget;
   w->show();
   w->setTimeLbl("test1");
0
Maxim Prishchepa
Эксперт С++
1924 / 1036 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
22.06.2012, 15:03 7
Цитата Сообщение от ЛеЖиК) Посмотреть сообщение
я думаю это
Цитата Сообщение от ЛеЖиК) Посмотреть сообщение
надо заменить на
аргументируйте пожалуйста!
0
ЛеЖиК)
185 / 60 / 4
Регистрация: 29.04.2011
Сообщений: 642
22.06.2012, 16:53 8

Не по теме:

Цитата Сообщение от l_a_m Посмотреть сообщение
аргументируйте пожалуйста!
один раз мне такое чудо помогло



Добавлено через 4 минуты

Не по теме:

у вообще у меня все нормально запускается и так

0
cyberdiem
74 / 25 / 2
Регистрация: 15.02.2012
Сообщений: 97
22.06.2012, 17:03 9
ЛеЖиК), Прости но что за Widget такой, а? Где префикс фиремнный кьютовский?) И вообще, читай посты выше, я как бы туже озвучивал такую идею) видимо не помогло)
0
Buckstabue
177 / 126 / 24
Регистрация: 12.01.2012
Сообщений: 624
22.06.2012, 17:10  [ТС] 10
Что динамическое создание, что статическое не решает проблемы. Вы хоть код-то смотрели? Там должно появиться окошко с лэйблом "test1", которое через 3 секунды должно смениться на текст "test2". Но мы не видим "test1", т.к. не происходило вызова app.exec()
0
cyberdiem
74 / 25 / 2
Регистрация: 15.02.2012
Сообщений: 97
22.06.2012, 17:32 11
У меня вообще не компилится: без ошибок, без всего. У тебя там прыжки с винды на юникс... это что?
0
Maxim Prishchepa
Эксперт С++
1924 / 1036 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
22.06.2012, 17:52 12
тогда делайте хитрожопую связку:
C++ (Qt)
1
2
3
4
...
SomeClass c;
c.show();
app.exec();
а в SomeClass делайте QEventLoop и понеслась душа в рай не разбирая дороги.... а после, при завершении дёргайте объект MainWindow-а
1
ЛеЖиК)
185 / 60 / 4
Регистрация: 29.04.2011
Сообщений: 642
22.06.2012, 18:32 13
Цитата Сообщение от ЛеЖиК) Посмотреть сообщение
Wiadget;
здесь я опечатался,извиняюсь
так это виджет созданный самим пользователем
0
cyberdiem
74 / 25 / 2
Регистрация: 15.02.2012
Сообщений: 97
22.06.2012, 19:07 14
Уже в коде увидел... оригинальное название, даже не спорю
0
22.06.2012, 19:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.06.2012, 19:07

Как установить styleSheet для всех виджетов, кроме QSizeGrip
Добрый день! Хочу установить стиль сразу для всех виджетов QWidget {...}...

Как сделать ручное перемещение дочерних виджетов по родительскому на сенсорном экране
Написал одну програмку под комп, на ней есть Qwidget, на котором несколько...

Есть составной виджет с кучей дочерних виджетов, как правильно установить eventFilter
Привет! Есть QFrame с кучей всяких баттонов на нём, хочу сделать обработку...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru