
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.5] |
![]() |
|
Страницы: (117) « Первая ... 34 35 [36] 37 38 ... 116 117 ( Перейти к последнему сообщению ) |
Сообщ.
#526
,
|
|
|
Цитата Астарот @ Я говорю не о простом рисовании гуйни, а о создании собственного элемента гуя, при чем реиспользуемого. http://doc.trolltech.com/4.2/widgets-analogclock.html Там С++, отсутствует WinAPI, в результате получается готовый для повторного использования компонент. |
Сообщ.
#527
,
|
|
|
Еще б меня прокся туда пустила
![]() |
![]() |
Сообщ.
#528
,
|
|
Цитата Астарот @ ну, там строчек 100-150... достаточно просто для контрола? ще б меня прокся туда пустила ![]() |
Сообщ.
#529
,
|
|
|
analogclock.h
![]() ![]() #ifndef ANALOGCLOCK_H #define ANALOGCLOCK_H #include <QWidget> class AnalogClock : public QWidget { Q_OBJECT public: AnalogClock(QWidget *parent = 0); protected: void paintEvent(QPaintEvent *event); }; #endif analogclock.cpp ![]() ![]() #include <QtGui> #include "analogclock.h" AnalogClock::AnalogClock(QWidget *parent) : QWidget(parent) { QTimer *timer = new QTimer(this); connect(timer, SIGNAL(timeout()), this, SLOT(update())); timer->start(1000); setWindowTitle(tr("Analog Clock")); resize(200, 200); } void AnalogClock::paintEvent(QPaintEvent *) { static const QPoint hourHand[3] = { QPoint(7, 8), QPoint(-7, 8), QPoint(0, -40) }; static const QPoint minuteHand[3] = { QPoint(7, 8), QPoint(-7, 8), QPoint(0, -70) }; QColor hourColor(127, 0, 127); QColor minuteColor(0, 127, 127, 191); int side = qMin(width(), height()); QTime time = QTime::currentTime(); QPainter painter(this); painter.setRenderHint(QPainter::Antialiasing); painter.translate(width() / 2, height() / 2); painter.scale(side / 200.0, side / 200.0); painter.setPen(Qt::NoPen); painter.setBrush(hourColor); painter.save(); painter.rotate(30.0 * ((time.hour() + time.minute() / 60.0))); painter.drawConvexPolygon(hourHand, 3); painter.restore(); painter.setPen(hourColor); for (int i = 0; i < 12; ++i) { painter.drawLine(88, 0, 96, 0); painter.rotate(30.0); } painter.setPen(Qt::NoPen); painter.setBrush(minuteColor); painter.save(); painter.rotate(6.0 * (time.minute() + time.second() / 60.0)); painter.drawConvexPolygon(minuteHand, 3); painter.restore(); painter.setPen(minuteColor); for (int j = 0; j < 60; ++j) { if ((j % 5) != 0) painter.drawLine(92, 0, 96, 0); painter.rotate(6.0); } } Результат ![]() |
Сообщ.
#530
,
|
|
|
Qt - шикарная библиотека для сишника. Один из плюсов - кросплатформенность.
Формы проектируются в Дизайнере как .ui и потом подключаются к проекту. А новые виджеты создаются довольно легко - наследование и т.д. |
Сообщ.
#531
,
|
|
|
Цитата lava @ Qt - шикарная библиотека для сишника. Один из плюсов - кросплатформенность. Только для коммерческого использования стоит как десяток дельфей ![]() |
Сообщ.
#532
,
|
|
|
Цитата Smike @ Только для коммерческого использования стоит как десяток дельфей ![]() Наверно мы, сишники, поболее вашего зарабатываем ![]() Я недавно расматривал цены на Qt для малого бизнеса. Под комерческий проект я могу себе позволить купить лицензию. Да и во время разработки можно не нарушая законы, тренироваться на халявной версии. ЗЫ: можно подумать у тебя Делфи лицензионный ![]() |
Сообщ.
#533
,
|
|
|
Цитата archimed7592 @ ну, там строчек 100-150... достаточно просто для контрола? Смотря что этот контрол умеет... Цитата Alex Forth @ Результат Ну, ты прикалываешься что ли? ![]() ![]() |
Сообщ.
#534
,
|
|
|
Sorry
Прикреплённая картинка
|
Сообщ.
#535
,
|
|
|
Мило
![]() |
Сообщ.
#536
,
|
|
|
Цитата mo3r @ А многие не переваривают лисповские скобки или всевозможные апострофы в лисповских макросах... У меня, кстати, с этим тоже не все гладко ![]() Цитата archimed7592 @ слышал я от одного авторитетного человека, что std::basic_string использует copy-on-write, после чего я и полюбил эту прекрасную библиотеку... Когда-то читал такое мнение, что copy-on-write и некоторые другие техники в многопоточной среде могут привести к тормозам, так что всему свое место. Добавлено Цитата Smike @ Только для коммерческого использования стоит как десяток дельфей ![]() Да ладно ![]() ![]() |
Сообщ.
#537
,
|
|
|
Цитата Alex Forth @ Наверно мы, сишники, поболее вашего зарабатываем ![]() Некорректное сравнение. Может и сишник зарабатывать 300 уё, а может и дельфист несколько килобаксов. Кроме того применительно к конкретному ПО это не имеет никакого отношения. А вот стоимость среды — влияет. Что лучше, покупать за 4000 зеленых президентов QT неизвестно для чего и не имея от этого прямой выгоды, или за 400 уе лицензионную Delphi, получив таким образом доступ к мощным возможностям языка, средствам создания интерфейса, 300-м стандартным компонентам и бесчисленному множеству посторонних (в т.ч. бесплатных). Цитата Alex Forth @ ЗЫ: можно подумать у тебя Делфи лицензионный ![]() Мимо. У меня лицензионная Turbo Delphi Professional 2006 ![]() |
Сообщ.
#538
,
|
|
|
Цитата Smike @ Что лучше, покупать за 4000 зеленых президентов QT неизвестно для чего и не имея от этого прямой выгоды Да ну что ты? Если за библиотеку готовы выложить такие деньги, то, поверь мне, и выгода предполагается, и вкложение делается "известно для чего". Добавлено Тем более, что за QT можно вполне честно ничего не платить. |
Сообщ.
#539
,
|
|
|
Цитата Flex Ferrum @ Тем более, что за QT можно вполне честно ничего не платить. Только для OpenSource $) Добавлено Цитата Flex Ferrum @ Да ну что ты? Если за библиотеку готовы выложить такие деньги, то, поверь мне, и выгода предполагается, и вкложение делается "известно для чего". Ну тогда и не надо выставлять QT как полную альтернативу. Это слишком дорогая по цене "альтернатива" и именно о том и речь, что её покупают те, кому она действительно нужна. |
Сообщ.
#540
,
|
|
|
Цитата Smike @ Ну тогда и не надо выставлять QT как полную альтернативу. Это слишком дорогая по цене "альтернатива" и именно о том и речь, что её покупают те, кому она действительно нужна. Smike, если тебя не устраивает цена и лицензия на Qt, то это твои проблемы. ![]() Я ее юзал и буду с удовольствием юзать. ЗЫ: Desktop edition (полная версия=3300$) для мелкого бизнеса существуют нехилые скидки. |