crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> хранитель экрана
Eyxeniy
  опции профиля:
сообщение 18.5.2011, 19:39
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 6
Регистрация: 18.5.2011
Пользователь №: 2682

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




Репутация:   0  


привет )
Есть такая проблема.
Как мне написать код ? Нужно сделать простейшую заставку на Qt,ну что бы там хотя бы двигались пару линий . Я просто не понимаю сам код на Qt из-за того что не знаю анг.яз.Если C++ на минимальном уровне, то на Qt вообще не понятно.

Если не трудно, кто знает напишите сам простенький код (пару линий что бы крутились), дальшу думаю сам допру ...

Добавлено через 16 минут
Допустим так:
Я рисую эллипс. После чего я хочу "заснуть", скажем на секунду, передвинуть этот эллипс и заново перерисовать.

Код для первого рисования
QWidget* pWidget = new QWidget;
QGraphicsScene* pScene = new QGraphicsScene (QRectF (0,0,800,600));
QGraphicsView* pView = new QGraphicsView (pScene, pWidget);
QVBoxLayout* pLayout = new QVBoxLayout;
pLayout->addWidget(pView);

QGraphicsEllipseItem* ellipse = new QGraphicsEllipseItem;
ellipse->setRect(QRectF(50, 50, 20, 20);
ellipse->setBrush(QBrush(Qt:arkGreen));
ellipse->setPen(QPen(Qt::red, 1, Qt::SolidLine, Qt::SquareCap, Qt::MiterJoin));
pScene->addItem(ellipse);

pView->show();
pWidget->setLayout(pLayout);
pWidget->show();

После чего спим, а потом двигаем эллипс:
Sleep(1000);
ellipse->setPos(QPointF(100, 100));


В результате всё это выливается в то, что приложение "висит" 1 секунду, а потом эллипс отображается в новом месте, т. е. в старом он не отображается.

Вот как это всё сформировать,
что бы получился проект ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 19.5.2011, 5:54
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


Цитата(Eyxeniy @ 18.5.2011, 22:39) *
В результате всё это выливается в то, что приложение "висит" 1 секунду,
само собой, ведь ты его усыпил. А надо было взвести таймер, когда таймер сработает, делать работу дальше.

См. QTimer::singleShot ( int msec, QObject * receiver, const char * member )
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




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