tag:blogger.com,1999:blog-40099133231300557362024-03-13T19:03:48.085-07:00Qt Creator GeekМожет, оно кому пригодитсяQtC Geekhttp://www.blogger.com/profile/01102713630435057698noreply@blogger.comBlogger71125tag:blogger.com,1999:blog-4009913323130055736.post-52635796324778995862013-09-03T18:10:00.001-07:002013-09-03T18:10:34.270-07:00Елоп снова в МайкрософтеЕлоп и Балмер снова вместе. <a href="http://www.pcworld.com/article/2048063/the-microsoft-nokia-deal-fail-plus-fail-equals-more-fail.html">http://www.pcworld.com/article/2048063/the-microsoft-nokia-deal-fail-plus-fail-equals-more-fail.html</a><br />
Еще бы BlackBerry купили. Когда же эта бодяга кончится...QtC Geekhttp://www.blogger.com/profile/01102713630435057698noreply@blogger.com0tag:blogger.com,1999:blog-4009913323130055736.post-55296054272449168342012-06-24T08:16:00.001-07:002013-09-03T18:11:21.463-07:00Очередное увольнение в НокииСреди прочих, уволено 100 разработчиков Qt. Не ясно, почему раньше не уволили или не продали отдел разработки Qt кому-нибудь, когда Елоп объявил о переходе на Windows Phone. Придумали какую-ту Digia для коммерческого саппорта. Все-таки долбанутый менеджмент у Нокии. Ни себе (бизнесу), ни людям (сообществу).<br />
<span style="background-color: white;">Что будет с Нокией- понятно. Выживет ли Qt?</span>QtC Geekhttp://www.blogger.com/profile/01102713630435057698noreply@blogger.com3tag:blogger.com,1999:blog-4009913323130055736.post-20797282385009473402012-01-02T13:12:00.000-08:002012-01-02T13:12:05.063-08:00С Новым Годом!Поздравляю всех с Новым Годом! Пусть он будет счастливее, чем прошлый!QtC Geekhttp://www.blogger.com/profile/01102713630435057698noreply@blogger.com0tag:blogger.com,1999:blog-4009913323130055736.post-39109727386504522702011-10-16T10:00:00.000-07:002011-10-16T10:00:20.213-07:00Умер Деннис РичиОчень жаль. Спасибо за язык C и K&R. RIP.QtC Geekhttp://www.blogger.com/profile/01102713630435057698noreply@blogger.com0tag:blogger.com,1999:blog-4009913323130055736.post-46550388103479033232011-10-15T19:57:00.000-07:002011-10-15T20:03:07.115-07:00AI и ML классы- первая неделяЯ просмотрел все лекции этой недели по двум классам- искусственный интеллект и machine learning. Я об этих классах писал раньше (<a href="http://qtcreatorgeek.blogspot.com/2011/09/ai.html">AI</a> и <a href="http://qtcreatorgeek.blogspot.com/2011/10/machine-learning.html">ML</a>). Ну, что сказать. Хорошо нас учили в институте 20 лет назад. Ведь кое-что помню. Ж)<br />
<br />
Machine Learning (ML) - пока все крутится вокруг линейной алгебры и методов оптимизации. Математики, как таковой, бояться в этом классе не надо. Во-первых, упор не на вычисления и теоремы, а на применение известных методов. Во-вторых, народ эти онлайновые классы сравнивал со стандартными стэнфордскими. Выяснилось, что много формул специально убрали. Если кого математика смущает- не все так страшно. Гораздо хуже, если английский на слух не воспринимаете. Профессор Ng говорит с с небольшим акцентом, плюс, английская математическая терминология иногда не сразу доходит. Но! профессор все тщательно, без спешки, разжевывает, а формулы- они и в Африке формулы. Подводя итоги недели могу сказать- интересно, позновательно, немного занудно и чуть по верхам.<br />
<br />
Artificial Intelligence (AI) - вот это действительно мощный класс. Алгоритмы поиска по графам и всякие эвристики, пространства состояний и пр. уже на второй лекции. Это вам не кнопки нажимать. Ж) Теорвер с линейкой освежить не помешает, хотя и здесь математики немного. Первые впечатления- отличный класс для инженеров. Разжевывают меньше, материала много. Лекции <a href="http://www.youtube.com/watch?feature=player_embedded&v=BnIJ7Ba5Sr4">есть на YouTube</a>. Английский вполне нормальный.<br />
<br />
Такое впечатление, что на оба класса еще можно зарегистрироваться. И еще, вроде бы, к обоим классам есть субтитры.<br />
<br />
Из открытий по тулзам- опенсорсная альтернатива MatLab'у- <a href="http://www.gnu.org/software/octave/">Octave</a>. Я ее до этого не пробовал. Вроде- вполне мощная, особенно для дома. Поставил под Windows. Есть под Linux и Mac.QtC Geekhttp://www.blogger.com/profile/01102713630435057698noreply@blogger.com0tag:blogger.com,1999:blog-4009913323130055736.post-66504908335932884512011-10-11T18:03:00.000-07:002011-10-11T18:04:46.460-07:00ISO C++ 11 - Стандарт опубликованСегодня ISO опубликовала долгожданный стандарт. Скачать за бесплатно можно <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf">последний драфт</a>. <a href="http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=50372">Официальный текст</a> от ISO можно купить за 352 швейцарских франка (387 USD).QtC Geekhttp://www.blogger.com/profile/01102713630435057698noreply@blogger.com0tag:blogger.com,1999:blog-4009913323130055736.post-28633955921034289372011-10-01T07:29:00.000-07:002011-10-01T07:31:27.524-07:00Класс по Machine LearningВ дополнение к <a href="http://qtcreatorgeek.blogspot.com/2011/09/ai.html">посту про AI класс</a>. Бесплатный класс по Machine Learning был также объявлен пару месяцев назад, но регистрация началась только сегодня (1 октября). Класс стартует очень скоро- 10 октября. Ведет- проф. Andrew Ng. Классов, как и по AI, два- Basic и Advanced. В начальном, по сравнению с продвинутым, не надо сдавать экзаменов и решать задачи (программирование). Все лекции- те же.<br />
<br />
Зарегистрироваться можно <a href="http://www.ml-class.org/">здесь</a>.QtC Geekhttp://www.blogger.com/profile/01102713630435057698noreply@blogger.com0tag:blogger.com,1999:blog-4009913323130055736.post-71538372717934332452011-09-18T06:55:00.000-07:002011-09-20T16:09:04.533-07:00Qt Project17 октября стартует Проект Qt (<span class="Apple-style-span" style="background-color: white; font-family: Verdana, sans-serif; font-size: 13px; line-height: 20px;">qt-project.org</span>). Участвовать (как разработчику) можно будет только подписав с Нокией Contribution License Agreement (пока не опубиковано).<br />
<br />
Не понятно, как можно стать Мэйнтейнером или, того больше, Аппрувером. Вроде бы, кандидатуры уже утверждены. <a href="http://labs.qt.nokia.com/2011/09/12/qt-project/">Пишут</a>, что 15% мэйнтенеров- НЕ из Нокии. Есть и несколько апруверов со стороны. Из Дигии, что ли? Ж) В общем, деталей мало. <b>UPD:</b> См. комментарий mich'а.<br />
<br />
Это, конечно, полезный проект для сторонних разработчиков и пользователей. Меньше власти у Нокии, больше у сообщества. Для Нокии выгода тоже очевидна- можно постепенно отдать разработку Qt сообществу.QtC Geekhttp://www.blogger.com/profile/01102713630435057698noreply@blogger.com1tag:blogger.com,1999:blog-4009913323130055736.post-88170710090993339962011-09-05T12:38:00.000-07:002011-09-05T12:53:03.057-07:00AI класс- онлайн и бесплатноЯ- большой фанат онлайнового образования. Не потому, что упоминание еще одного диплома хорошо выглядит в резюме. Да, инженер с MBA имеет больше шансов продвинуться по службе, чем инженер без него. Я здесь не буду говорить, что это все сильно зависит от ВУЗа, где вы эту онлайн степень получаете, от конторы, на которую вы работаете, и от индустрии, в который вы <i>и так неплохой специалист</i>. Не буду здесь также и спорить про качество таких классов. Ежу понятно, что в дневном ВУЗе, с вас и спросят строже, и шансов что-то непонятное прояснить больше. Да и необходимыми связями можно обрасти только на дневном, речь не об этом.<br />
<br />
Мне подобные онлайн классы помогают понять, как работает другая, незнакомая мне область, и при этом сэкономить кучу врмени. И да, мне нужна палка, в виде преподавателя и зачетов/коллоквиумов/экзаменов. Иначе мне ни в жизнь не сподобиться прочесть сто страниц про то, например, как большие корпорации инвестируют в IT портфельным методом. А вот тогда становится ясно, откуда в моей конторе вся эта бодяга с централизованным SAP и прочими прелестями жизни.<br />
<br />
И тут- <a href="http://www.ai-class.com/">класс</a> по теме, которой моя кафедра занимались еще со своего основания, но когда я в инстуте учился- меня не интересовала. Класс, конечно, вводный, зато первое - полностью онлайн, второе - бесплатный, и третье - стэнфордский. Я, понятное дело, как узнал- сразу записался. В скобках замечу, что я бы и на класс от своей кафедры тоже сейчас записался. Но мой родной институт онлайн классов не дает.<br />
<br />
Классов, собственно, два- базовый и продвинутый. Базовый- это облегченный курс, лекции и ответы на выбор из нескольких альтернатив. Продвинутый- курс на уровне Стэнфорда, с домашними заданиями и двумя экзаменами по четыре часа. Выбрать можно один. Из своего опыта в классах MBA могу сказать- не суйтесь на продвинутый, если у вас нет часов 20-30 в неделю. Про перевод на русский- не знаю, <a href="https://www.ai-class.com/registration/faq">пишут</a>, что в лекциях будут субтитры на английском и перевод лекций на "другие языки".<br />
<br />
Ведут класс Тран и Норвиг (Sebastian Thrun и Peter Norvig). Это для меня ничего не говорит- я в AI полный чайник, потому и записался на этот класс. Книжки- будет доступ к лекциям, домашним заданиям и экзаменам. <a href="http://aima.cs.berkeley.edu/">Мега-учебник</a> (вроде бы, необязательный) можно <a href="http://www.amazon.com/Artificial-Intelligence-Approach-2-downloads-ebook/dp/B004O4BZ16">купить</a>, для Kindle- 64 доллара. Предыдущие издания можно найти дешевле.<br />
<br />
Зарегистрироваться можно <a href="https://www.ai-class.com/registration/">здесь</a>.<br />
<br />
<br />QtC Geekhttp://www.blogger.com/profile/01102713630435057698noreply@blogger.com2tag:blogger.com,1999:blog-4009913323130055736.post-39083566803714729562011-08-23T17:12:00.001-07:002011-10-11T18:04:35.305-07:00С Новым C++!<span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;">Всех поздравляю с <a href="http://herbsutter.com/2011/08/12/we-have-an-international-standard-c0x-is-unanimously-approved/">новым стандартом C++</a>!</span>QtC Geekhttp://www.blogger.com/profile/01102713630435057698noreply@blogger.com0tag:blogger.com,1999:blog-4009913323130055736.post-90220472149102479562011-07-04T15:55:00.000-07:002011-07-04T15:57:31.598-07:00Последовательный Елоп<span class="Apple-style-span" style="font-size: 13px; line-height: 15px; font-family: Arial; ">Глава корпорации Nokia Стивен Элоп (Stephen Elop) сообщил в интервью одной из финских газет, что даже если новый смартфон N9 побьет все рекорды по количеству продаж, это не повлияет на его решение прекратить дальнейшее совершенствование ОС MeeGo.</span><div><span class="Apple-style-span" style="font-size: 13px; line-height: 15px; font-family: Arial; "><br /></span></div><div><span class="Apple-style-span" style="font-size: 13px; line-height: 15px; font-family: Arial; ">Взято <a href="http://www.ibusiness.ru/22222">отсюда</a>.</span></div>QtC Geekhttp://www.blogger.com/profile/01102713630435057698noreply@blogger.com0tag:blogger.com,1999:blog-4009913323130055736.post-59415162464170583112011-05-13T10:11:00.000-07:002011-09-18T07:04:02.917-07:00Снова в школу- ищу авторов для блога"Совсем недавно вышел Qt Creator 2.2. В нем многое исправили, что-то добавили... Полный список на оффсайте."<br />
<div>
<br /></div>
<div>
Вот на такие вот посты у меня время есть. А на что-то интересное- нет. Я- "снова в школу", на блог придется забить. План такой- интенсивная учеба полгода, потом- перерыв на несколько месяцев. И опять в школу на полгода. И так до диплома, ну, или пока не надоест.</div>
<div>
<br /></div>
<div>
Если есть желание поддержать блог, поделиться своими находками в Qt и Qt Creator, рассказать о своих программах и плагинах и т.д и т.п.- пишите на мое мыло (qtcreatorgeek@gmail.com) или в комменты. Не хабром единым...</div>
QtC Geekhttp://www.blogger.com/profile/01102713630435057698noreply@blogger.com0tag:blogger.com,1999:blog-4009913323130055736.post-50128973865097153792011-04-06T17:58:00.000-07:002011-04-06T18:05:02.379-07:00Принципы дизайна API от NokiaВот такой полезный <a href="http://developer.qt.nokia.com/wiki/Api_Design_Principles">мануал</a> из раздела <a href="http://developer.qt.nokia.com/wiki/Category:Developing_Qt">Developing Qt.</a>.QtC Geekhttp://www.blogger.com/profile/01102713630435057698noreply@blogger.com0tag:blogger.com,1999:blog-4009913323130055736.post-36871532832204505342011-03-14T15:37:00.000-07:002011-03-14T16:17:01.575-07:00"Факты и вымысел про Qt и Digia"Вот ссылка на <a href="http://blog.qt.nokia.com/2011/03/14/qt-and-digia-facts-and-fiction/">пост <i>Qt and Digia, facts and fiction</i></a> г. Найстрома (VP, Head of MeeGo, Qt & WebKit, Nokia) от 14 марта, в котором он "<span class="Apple-style-span" style="color: rgb(54, 53, 52); font-family: Verdana; font-size: 13px; line-height: 19px; ">address[es] the facts and the fiction in what some commentators are saying</span>".<div><br /></div><div>Я этот пост здесь переводить не буду, только скопипастю основные пункты, просто для себя, на будущее. </div><div><br /></div><div><span class="Apple-style-span" style="color: rgb(54, 53, 52); font-family: Verdana; font-size: 13px; line-height: 19px; "><strong style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Headline: “Nokia sells Qt / offloads Qt / sells majority of Qt” </strong></span></div><div><span class="Apple-style-span" style="color: rgb(54, 53, 52); font-family: Verdana; font-size: 13px; line-height: 19px; ">False. Nokia will sell the commercial Qt business to Digia, giving them the right to sell Qt Commercial licenses and offer professional services and support to the Qt community.</span></div><div><span class="Apple-style-span" style="color: rgb(54, 53, 52); font-family: Verdana; font-size: 13px; line-height: 19px; ">The Qt commercial business is important, but it is not the majority of Qt. An estimated 400,000 developers across more than 70 industries use Qt. There are 3500 commercial customers. Some have one license, some have dozens of licenses, but commercial customers do not make up the majority of the Qt user base.</span></div><div><span class="Apple-style-span" style="font-size: 13px; line-height: 19px; ">Nokia will continue to invest in the development of Qt, continues to hold the copyright and will continue to publish Qt under an open source license benefitting the whole community.</span></div><div><span class="Apple-style-span"><span class="Apple-style-span" style="line-height: 19px;"><span class="Apple-style-span" style="font-size: 13px; "><span class="Apple-style-span" style="color: rgb(17, 17, 17); font-family: Verdana, sans-serif; line-height: 15px; "><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0.8em; margin-left: 0px; color: rgb(54, 53, 52); font-size: 13px; font-family: Verdana; line-height: 1.5em; "><strong style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">“Developers are moving from Qt to Digia”. True or False?</strong><br />False: Some news websites have suggested 19 developers were moving from Qt to Digia, which was then re-reported by others. It is false. In addition, Digia already has hundreds of Qt certified developers, more than anyone else in the world.</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0.8em; margin-left: 0px; color: rgb(54, 53, 52); font-size: 13px; font-family: Verdana; line-height: 1.5em; ">19 employees from our commercial team are planned to move to Digia when the transaction closes, nine in Norway, ten in the US. Not a single developer among them. They are great people and we wish them well for a great and prosperous future with Digia.</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0.8em; margin-left: 0px; color: rgb(54, 53, 52); font-size: 13px; font-family: Verdana; line-height: 1.5em; "><strong style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">“This will create a fork between the commercial and LGPL version” True or False?</strong><br />Again, this is false. Nokia and Digia have started this collaboration together, and both will be ensuring their work benefits all of the Qt community, not just LGPL or commercial licensees.</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0.8em; margin-left: 0px; color: rgb(54, 53, 52); font-size: 13px; font-family: Verdana; line-height: 1.5em; ">Digia is already an established Nokia partner and we are confident that this new structure will benefit everyone. Commercial users get service and attention from a company with a core interest in the commercial Qt business, Nokia’s Qt partners and developers get a tighter focus on their core areas from Nokia.</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0.8em; margin-left: 0px; color: rgb(54, 53, 52); font-size: 13px; font-family: Verdana; line-height: 1.5em; ">Nokia and Digia have a shared interest in not fragmenting Qt, and an interest in growing the entire Qt ecosystem.<br /></p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0.8em; margin-left: 0px; color: rgb(54, 53, 52); font-size: 13px; font-family: Verdana; line-height: 1.5em; "><strong style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">“Nokia is breaking Qt up into pieces and trying to offload it” True or False?</strong><br />False. Since the announcement in February of Windows Phone as Nokia’s primary smartphone strategy, Nokia has provided several reassurances about its future intentions for Qt. Specifically to continue developing it, building it, improving it. Here is CTO Rich Green <a href="http://www.youtube.com/watch?v=nMe1qbqxVa0" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; text-decoration: underline; color: rgb(68, 165, 28); ">talking about this</a>.<br /><br /><strong style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">“This divestment is occurring as a result of the Nokia Windows Phone smartphone strategy” True or False?</strong><br />False. We began the process of finding a partner to service Qt commercial customers in 2010. It made sense then to find a company with a core interest in commercial license sales to manage this and it still makes sense now.</p></span></span></span></span></div>QtC Geekhttp://www.blogger.com/profile/01102713630435057698noreply@blogger.com0tag:blogger.com,1999:blog-4009913323130055736.post-2114076245391206682011-03-09T20:21:00.000-08:002011-03-09T21:11:18.746-08:00Покупатель нашелсяНесколько дней назад (7 марта) <a href="http://www.digia.com/C2256FEF0043E9C1/0/405002251">Nokia продала</a> коммерческое лицензирование и поддержку некой <a href="http://www.digia.com/">Digia</a>. Из поста <a href="http://blog.qt.nokia.com/2011/03/07/nokia-and-digia-working-together/">вице-президента Найстрома</a> (который "Head of Qt, MeeGo & WebKit") следует, что не только поддержкой, но и разработкой коммерческой части Qt будет заниматься эта самая Digia. Вот здесь пишут, что <a href="http://www.theregister.co.uk/2011/03/07/nokia_qt_bye/">19 разработчиков Qt уходят из Nokia</a> в Digia. Не понятно, что будет делать сам Найстром- возглавлять LGPL часть, что-ли? Думаю, он не пропадет. Ж) <div><br /></div><div>Я тут полазил по сайту этой Дигии. У меня очень сильные сомнения, что разработка и поддержка в этой конторе зайдет дальше багфиксов и выпуска одного-двух релизов в год без каких-либо серьезных изменений. О поддержке/обновлении LGPL версии со стороны Дигии, думаю, можно не беспокоиться. Ну а дальше- понятно. KDE развивает свою версию, ненавистники кедов придумывают еще один форк... Вспоминается BeOS и <a href="http://ubuntuforums.org/showthread.php?t=1266860&page=15">история</a> как ее задушили мелкие, мягкие и пушистые.</div>QtC Geekhttp://www.blogger.com/profile/01102713630435057698noreply@blogger.com7tag:blogger.com,1999:blog-4009913323130055736.post-42112003541318373182011-03-01T16:06:00.000-08:002011-03-01T16:45:51.909-08:00Qt портирована на RTOS IntegrityВот и еще одну RTOS <a href="http://labs.qt.nokia.com/2011/02/28/supporting-a-new-platform/">окучили</a>. Помню, мы под эту Integrity писали кусок <a href="http://en.wikipedia.org/wiki/Traffic_collision_avoidance_system">TCAS</a> (<a href="http://ru.wikipedia.org/wiki/TCAS">бортовой системы предупреждения столкновений самолетов</a>) лет этак 10 назад.<div><br /></div><div>Ну что сказать, осталось еще Qt на LynxOS и DEOS портировать, и вообще практически у любой тру RTOS будет свой гуй.</div>QtC Geekhttp://www.blogger.com/profile/01102713630435057698noreply@blogger.com0tag:blogger.com,1999:blog-4009913323130055736.post-87674896548187465142011-03-01T15:57:00.000-08:002011-03-01T17:38:24.594-08:00Qt 4.7.2 и Qt Creator 2.1Наконец-то вышли <a href="http://labs.qt.nokia.com/2011/03/01/qt-creator-2-1-0-released/">Qt Creator 2.1</a> и <a href="http://labs.qt.nokia.com/2011/03/01/qt-4-7-2-has-been-released/">Qt 4.7.2</a>. Скачать, как обычно, можно на <a href="http://qt.nokia.com/downloads">странице download</a> по частям или в составе <a href="http://developer.qt.nokia.com/prereleases">Qt SDK 1.1 Beta</a> для нужной платформы.<div> <div><div><br /></div><div><br /></div></div></div>QtC Geekhttp://www.blogger.com/profile/01102713630435057698noreply@blogger.com0tag:blogger.com,1999:blog-4009913323130055736.post-72829040557619731762011-02-22T16:27:00.000-08:002011-02-22T16:42:16.534-08:00Qt and Qt Creator for Android<div>Т.е. чтобы не случилось с (в) Нокия, поскольку есть порт для Android, будут программисты, и деньги, и поддержка Qt. </div><div><br /></div>Только что <a href="http://habrahabr.ru/blogs/qt_software/114267/">прочитал на хабре</a>, что <a href="http://groups.google.com/group/android-qt/browse_thread/thread/209edef7c5ceec8a?pli=1">Qt теперь заточена и под Андроид</a>- вышла альфа проекта <a href="http://sourceforge.net/p/necessitas/wiki/Home/">Necessitas</a>. И <a href="http://sourceforge.net/p/necessitas/wiki/Setup%20QtCreator/">Qt Creator может создавать приложения для Андроид</a>. Его, правда, надо <a href="http://sourceforge.net/p/necessitas/wiki/Compile%20QtCreator/">собрать из исходников</a>.QtC Geekhttp://www.blogger.com/profile/01102713630435057698noreply@blogger.com0tag:blogger.com,1999:blog-4009913323130055736.post-14291606906748658962011-02-11T16:35:00.000-08:002011-02-15T17:57:05.391-08:00Qt is dead?Ну что <a href="http://blogs.forum.nokia.com/blog/nokia-developer-news/2011/02/11/letter-to-developers">тут сказать</a>? Кинули разработчиков в очередной раз. Понятно, что Qt им больше не нужна. Qt Creator- и того меньше. Что сейчас Qt может спасти- это если Nokia продаст библиотеку кому-нибудь. Не уверен, что энтузиасты могут легально форкнуть проект и продожать развитие Qt своими силами...<div><br /></div><div><b>UPD</b>: Спасибо, за комменты, форк возможен. И это здорово.</div><div>Вот <a href="http://blog.qt.nokia.com/2011/02/14/update-on-qt/">Нокия уверяет, что Qt с ней не пропадет</a> (а народ все равно не верит). </div><div>А вот <a href="http://piacentini.blog.br/2011/02/elop-is-after-me/">пост по поводу прошлых свершений Елопа</a> и неизбежности форка Qt.</div>QtC Geekhttp://www.blogger.com/profile/01102713630435057698noreply@blogger.com3tag:blogger.com,1999:blog-4009913323130055736.post-32091017584266235442011-01-20T18:59:00.001-08:002011-01-20T19:03:04.923-08:00Лекции и лабы по QtВот здесь есть <a href="http://qt.nokia.com/services-partners/qt-in-education/qt-in-education-course-material">лекции и лабы по Qt</a> от Нокии на английском. Можно скачать по отдельности или все целиком. <a href="http://lorcode.org/wiki/Qt_in_Education_Course_Material">Перевод на русский</a>- в процессе.QtC Geekhttp://www.blogger.com/profile/01102713630435057698noreply@blogger.com0tag:blogger.com,1999:blog-4009913323130055736.post-12707703594731312292011-01-07T06:29:00.000-08:002011-01-08T16:48:12.395-08:00Плагин для макросовНе знаю, часто ли у других возникает необходимость полностью чистить проект для того, чтобы его нормально собрать, но у меня перидически возникает. Например, ребилд перестает работать после ошибки линкера, когда метод объявлен, но не реализован. Лечится это просто- Clean, затем Build, но хотелось бы, чтобы все это висело на одной кнопке.<div><br /></div><div>Мир- он все же не без добрых людей. Вот здесь в репозитории плагинов лежит исходный <a href="http://gitorious.org/creator-plugins/macros/trees/master">код плагина macros</a>. После минимальных исправлений, плагин собрался для Qt Creator 2.1 RC1, и я его сразу же попробовал.</div><div><br /></div><div>Ну, что сказать. Плагин пока не доделан. Записывается только один макрос, и то в память, не в файл. Работает только для редактора, т.е. если страница Edit неактивна, то записать или проиграть макрос нельзя. И еще одно- горячие клавиши у плагина- Alt-( и Alt-). Alt-) совпадает с Alt-0, что не есть здорово. Может, они на самом деле Alt-Shift-9 и Alt-Shift-0, не знаю.</div><div><br /></div><div>Из хороших новостей пока только одна- плагин, вроде бы, регулярно обновляется. Будем ждать когда допилят...<br /><div><br /></div></div>QtC Geekhttp://www.blogger.com/profile/01102713630435057698noreply@blogger.com0tag:blogger.com,1999:blog-4009913323130055736.post-71407092872355379202011-01-03T18:57:00.001-08:002011-01-03T22:26:53.683-08:00Пишем плагин для Qt Creator - часть 3<div>Я в отпуске, так что появилось время написать следующую серию про создание плагинов для Qt Creator. Предыдущий пост на ту же тему <a href="http://qtcreatorgeek.blogspot.com/2010/11/qt-creator-21.html">Сборка и отладка плагинов для Qt Creator 2.1</a> практически заменяет вот эти две старые части:</div><div><ul><li><a href="http://qtcreatorgeek.blogspot.com/2009/12/qt-creator-2.html">Пишем плагин для Qt Creator - часть 2</a></li><li><a href="http://qtcreatorgeek.blogspot.com/2009/12/qt-creator-1.html">Пишем плагин для Qt Creator - часть 1</a></li></ul></div><div><div>Итак,</div><div><br /></div><div><b>Часть 3 - Настройки плагина</b></div><div>В этой части речь пойдет про создание страницы в диалоге Tools->Options. Для эксперимента возьмем уже существующую страницу установок C++. Можно добавить свою, но интереснее добавить таб вот сюда:</div><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFcNHDDN_HGfSnXqLQ3Z7Gxi7MIRa_hXyjtRsQA27O8A-2_ZOVg8RIv5rkpsK33LD3QfJ6L0hjCFxy8GtwKSrJXAiPFDkONeEUP_mD7rvGGKgVE9KvV9N9aMam0RuR-OrynCnqNBp2IXU/s1600/CppOptions.JPG"><img style="cursor:pointer; cursor:hand;width: 320px; height: 260px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFcNHDDN_HGfSnXqLQ3Z7Gxi7MIRa_hXyjtRsQA27O8A-2_ZOVg8RIv5rkpsK33LD3QfJ6L0hjCFxy8GtwKSrJXAiPFDkONeEUP_mD7rvGGKgVE9KvV9N9aMam0RuR-OrynCnqNBp2IXU/s320/CppOptions.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5558200220622435602" /></a><br /><div><br /></div><div><div>...чтобы в итоге получилось вот что:</div><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAgrB-YPV_t3_JJkmYQ5VdYSmrx9SxLmI5QuX452vc5GvqKled7KqVHSNmPznbi25MWZhcXSTicCsfDveCyc7lBubTl_66Nfl-x5Y_mNtj1O9xXJKKfQtpgV61XLoltAmKN1LFrZgD_5U/s1600/SettingsTabResult.JPG"><img style="cursor:pointer; cursor:hand;width: 320px; height: 260px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAgrB-YPV_t3_JJkmYQ5VdYSmrx9SxLmI5QuX452vc5GvqKled7KqVHSNmPznbi25MWZhcXSTicCsfDveCyc7lBubTl_66Nfl-x5Y_mNtj1O9xXJKKfQtpgV61XLoltAmKN1LFrZgD_5U/s320/SettingsTabResult.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5558199747103064866" /></a><br /></div><div><br /></div><div>Мы будем использовать тот же плагин DoNothing, что и в предыдущих постах.</div><div>Да, чуть не забыл. Версия Qt Creator- 2.1 RC 1 (2.0.94). Версия Qt- 4.7.1.</div><div><br /></div><div><b>Категория плагина</b></div><div>Перед тем, как начать конструировать страницу опций, определим категорию плагина. Это может быть как одна из уже существуюших категорий (Build Systems, C++, Version Control и т.д.), так и абсолютно новая категория. Категория- это ветка в окне Installed Plugins, которое вызывается из меню Help->About Plugins. На рисунке внизу DoNothing живет в своей собственной категории Useless:</div><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7OtGBEvUgtAid52400qfh35prKAGe1HOrRmq2ZNXNN7cSqoofcXNDkz3f4f35lM0Qgq7H1jULld3ueGE0k9i6lmXQCSc5pgNABgw8jCcFDsI6dM3jJTS6ZPGSgvPUhEuK4hU6Q4Vv3gs/s1600/Useless.JPG"><img style="cursor:pointer; cursor:hand;width: 320px; height: 293px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7OtGBEvUgtAid52400qfh35prKAGe1HOrRmq2ZNXNN7cSqoofcXNDkz3f4f35lM0Qgq7H1jULld3ueGE0k9i6lmXQCSc5pgNABgw8jCcFDsI6dM3jJTS6ZPGSgvPUhEuK4hU6Q4Vv3gs/s320/Useless.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5558199215587602322" /></a><br /><div><br /></div><div>Категория задается в спеке плагина <b>donothing.pluginspec</b> строкой:</div><div><span class="Apple-style-span"><category>Useless</category></span></div><div><span class="Apple-style-span"></span></div><div></div><div>В дальнейшем будем использовать уже существующую категорию "C++".</div><div><br /></div><div><b>Зависимости</b></div><div>В спек и в файл проекта надо добавить две зависимости- Project Explorer и CppTools. </div><div><br /></div><div><b>Настройки плагина</b></div><div>В Qt Creator для настроек есть диалог Options. Понятно, что нам надо создать виджеты для этого диалога, сделать их доступными для Qt Creator и научить наш плагин получать информации от виджетов.</div></div><div>Настроек добавим две- <b>option1CheckBox</b> и <b>option2CheckBox</b>. Они будут частью виджета DoNothing<b>SettingsWidget</b>:</div><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIJI-6x8_z3-L5LqtcqvuijQ1yLbdmhe2P43Q4JcxcDCmIFZE-i9zDJX0Ep8zAzfVOWVAjsQq33rEg0JUYCa1ZeRpfFFJusVFqoyBu1i-Sd3yVpvLja8ovqFwAF7AsQ9LMW0qlXCcUv8k/s1600/SettingsForm.JPG"><img style="cursor:pointer; cursor:hand;width: 320px; height: 262px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIJI-6x8_z3-L5LqtcqvuijQ1yLbdmhe2P43Q4JcxcDCmIFZE-i9zDJX0Ep8zAzfVOWVAjsQq33rEg0JUYCa1ZeRpfFFJusVFqoyBu1i-Sd3yVpvLja8ovqFwAF7AsQ9LMW0qlXCcUv8k/s320/SettingsForm.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5558197662033630386" /></a><br /><div><br /></div><div><b>Внутреннее устройство</b></div><div>Для работы понадобятся четыре класса:</div><div><ul><li>DoNothing<b>Settings</b> - собственно определяет настройки плагина (<b>bool</b> <b>option1</b> и <b>option2</b>) и методы <b>readSettings()</b> и <b>writeSettings()</b> для загрузки при запуске Qt Creator и сохранения настроек при их изменении пользователем;</li><li>DoNothing<b>SettingsPageWidget</b> - наследуется от QWidget и содержит наш виджет. Также определяет геттер и сеттер для настроек, т.е. транслирует ГУЙ в bool и обратно. Также он реализует метод <b>searchKeywords()</b> для поддержки класса страницы DoNothing<b>SettingsPage</b>, о котором ниже;</li><li>DoNothing<b>SettingsPage</b> - наследуется от Core::IOptionsPage, содержит указатель на DoNothing<b>SettingsPageWidget</b> и отвечает за работу страницы настроек в целом. Он определяет унаследованные методы для регистрации и работы страницы настроек(<b>createPage()</b>, <b>apply()</b>, <b>matches()</b>, <b>id()</b>, <b>displayName()</b> и пр.). Именно этот класс позволяет добавить наш виджет в любую страницу настроек;</li><li>DoNothing<b>Plugin</b> - собственно класс плагина. Нследуется от IPlugin, содержит экземпляр класса DoNothing<b>Settings</b> и указатель на страницу настроек. Этот класс определяет работу всего плагина. Для нас сейчас выжны методы <b>initialize()</b>, и геттер и сеттер для настроек.</li></ul></div><div>Надо отметить, что различные плагины в Qt Creator по-разному хранят настройки. В одних реализациях экземпляр класса XxxSettings принадлежит XxxSeetingsPageWidget или XxxSettingsPage, в других- самому плагину, как в моем примере.</div><div>Как же удается добавить наш новый таб в существующую страницу настроек? Класс DoNothing<b>SettingsPage</b> определяет методы <b>category() </b> и <b>displayCategory()</b>. Также он определяет и иконку, которая будет отображаться на нашей странице- <b>categoryIcon()</b>. Практически, все, что надо сделать, это:</div><br /><div class="cpp-qt" style="font-family:monospace;color: #006; border: 1px solid #d0d0d0; background-color: #f0f0f0;"><a style="color: #000060;" href="http://doc.trolltech.com/latest/qstring.html"><span style="color: #22aadd;">QString</span></a> DoNothingSettingsPage<span style="color: #006E28;">::</span><span style="color: #2B74C7;">category</span><span style="color: #006E28;">(</span><span style="color: #006E28;">)</span> <span style="color: #0057AE;">const</span><br /><span style="color: #006E28;">{</span><br /><span style="color: #000000; font-weight:bold;">return</span> <a style="color: #000060;" href="http://doc.trolltech.com/latest/qlatin1string.html"><span style="color: #22aadd;">QLatin1String</span></a><span style="color: #006E28;">(</span><span style="color: #BF0303;">"I.C++"</span><span style="color: #006E28;">)</span><span style="color: #006E28;">;</span><br /><span style="color: #006E28;">}</span><br /><br /><a style="color: #000060;" href="http://doc.trolltech.com/latest/qstring.html"><span style="color: #22aadd;">QString</span></a> DoNothingSettingsPage<span style="color: #006E28;">::</span><span style="color: #2B74C7;">displayCategory</span><span style="color: #006E28;">(</span><span style="color: #006E28;">)</span> <span style="color: #0057AE;">const</span><br /><span style="color: #006E28;">{</span><br /><span style="color: #000000; font-weight:bold;">return</span> <a style="color: #000060;" href="http://doc.trolltech.com/latest/qcoreapplication.html"><span style="color: #22aadd;">QCoreApplication</span></a><span style="color: #006E28;">::</span><span style="color: #2B74C7;">translate</span><span style="color: #006E28;">(</span><span style="color: #BF0303;">"DoNothing"</span><span style="color: #006E28;">,</span> QT_TRANSLATE_NOOP<span style="color: #006E28;">(</span><span style="color: #BF0303;">"DoNothing"</span><span style="color: #006E28;">,</span> <span style="color: #BF0303;">"C++"</span><span style="color: #006E28;">)</span><span style="color: #006E28;">;</span><br /><span style="color: #006E28;">}</span><br /><br /><a style="color: #000060;" href="http://doc.trolltech.com/latest/qicon.html"><span style="color: #22aadd;">QIcon</span></a> DoNothingSettingsPage<span style="color: #006E28;">::</span><span style="color: #2B74C7;">categoryIcon</span><span style="color: #006E28;">(</span><span style="color: #006E28;">)</span> <span style="color: #0057AE;">const</span><br /><span style="color: #006E28;">{</span><br /><span style="color: #000000; font-weight:bold;">return</span> <a style="color: #000060;" href="http://doc.trolltech.com/latest/qicon.html"><span style="color: #22aadd;">QIcon</span></a><span style="color: #006E28;">(</span><a style="color: #000060;" href="http://doc.trolltech.com/latest/qlatin1string.html"><span style="color: #22aadd;">QLatin1String</span></a><span style="color: #006E28;">(</span><span style="color: #BF0303;">":/core/images/category_cpp.png"</span><span style="color: #006E28;">)</span><span style="color: #006E28;">)</span><span style="color: #006E28;">;</span><br /><span style="color: #006E28;">}</span><br /></div><br />В методе DoNothingPlugin::initialize() надо создать страницу настроек с помощью:<div><br /><div class="cpp-qt" style="font-family:monospace;color: #006; border: 1px solid #d0d0d0; background-color: #f0f0f0;"><span style="color: #888888;">// create the settings page and add a tab to the chosen category</span><br />doNothingSettingsPage <span style="color: #006E28;">=</span> <span style="color: #000000; font-weight:bold;">new</span> DoNothingSettingsPage<span style="color: #006E28;">(</span><span style="color: #006E28;">)</span><span style="color: #006E28;">;</span><br />addAutoReleasedObject<span style="color: #006E28;">(</span>doNothingSettingsPage<span style="color: #006E28;">)</span><span style="color: #006E28;">;</span><br /></div><div><br /><div><b>Файлы плагина</b></div><div>В принципе, вот такие файлы надо будет создать:</div><div><ul><li>donothing<b>settingswidget.ui</b> - содержит ГУЙ нашешего виджета;</li><li>donthing<b>constants.h</b> - содержит константы для класса DoNothing<b>SettingsPage</b> и DoNothing<b>Settings</b>;</li><li>donothing<b>settings.h </b>(и donothing<b>settings.cpp</b>)<b> </b>- содержит класс DoNothingSettings и операторы == и != над ним;</li><li>donothing<b>settingspage.h</b><b> </b>(donothing<b>settingspage.cpp</b>)<b> </b>- содержит классы DoNothingSettingsPageWidget и DoNothingSettingsPage.</li></ul></div><div>Имена файлов- традиционные для плагинов Qt Creator.</div><div><br /></div><div><b>Исходный код</b></div><div>Я не стал здесь приводить исходный код, все равно проще его смотреть в самом креаторе. Код можно скачать отсюда: <a href="https://docs.google.com/leaf?id=0B8GSxrOvkJrrMGEyNzc3MDEtNjYwNS00MTU1LWIwMzktYmNiN2ZlN2FjMjYw&hl=en&authkey=CIaepeUK">QtCreatorPlugins-Part3.zip</a>. Надо просто создать папку и разархивировать в нее.</div></div></div>QtC Geekhttp://www.blogger.com/profile/01102713630435057698noreply@blogger.com0tag:blogger.com,1999:blog-4009913323130055736.post-42260927611572851032010-12-30T19:25:00.000-08:002010-12-30T19:38:09.473-08:00С Новым Годом!<div>Вот и еще один год прошел. Надеюсь, для вас он был полон добрых и светлых событий. Очень хочу, чтобы наступающий год был еще лучше!</div><div><br /></div>Желаю вам всем традиционно-новогоднего- счастья, здоровья, удачи!QtC Geekhttp://www.blogger.com/profile/01102713630435057698noreply@blogger.com0tag:blogger.com,1999:blog-4009913323130055736.post-29438496701048966272010-11-30T16:35:00.000-08:002010-12-19T09:54:32.214-08:00Шпаргалка по горячим клавишам Qt Creator 2.1KDAB обновила шпаргалку по горячим клавишам. Качаем <a href="http://www.kdab.com/index.php?option=com_content&view=article&id=126">для Qt Creator 2.1</a>.<div><br /></div><div><b>UPD</b>: 16 декабря поправили кое-какие ошибки, рекомендуется скачать снова.</div>QtC Geekhttp://www.blogger.com/profile/01102713630435057698noreply@blogger.com0tag:blogger.com,1999:blog-4009913323130055736.post-68154012836336162692010-11-29T19:35:00.000-08:002010-12-01T17:21:00.297-08:00Собираем Qt Creator с Qt 4.7.1В предыдущих постах я написал, что <a href="http://qtcreatorgeek.blogspot.com/2010/11/qt-creator-201-21-beta-2.html">Qt Creator 2.0.1</a> и <a href="http://qtcreatorgeek.blogspot.com/2010/11/qt-creator-21.html">2.1 beta 2</a> не собираются с бинарниками из Qt Framework 4.7.1 под Windows. Как выяснилось, не собирается и Qt Creator 2.1 RC1, и не только под Windows, но и под Linux.<div><br /></div><div>Я скачал <a href="http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.7.1.zip">исходники Qt 4.7.1</a> и просто собрал под MSVC 2008, используя вот такой config:</div><div>configure -opensource -debug-and-release -shared -platform win32-msvc2008 -developer-build -qt-sql-sqlite -plugin-sql-sqlite -webkit -script -declarative -qt-libtiff -nomake examples -nomake demos -no-qt3support -no-opengl -no-phonon -no-phonon-backend</div><div><br /></div><div>Надо сказать, что все собралось, и Qt Creator 2.1 RC1 слинковался на ура.</div><div><br /></div><div><b>UPD:</b> Выяснилось, что качать/собирать Qt не обязательно. Проблема была вчера (30 ноября) зарегестрирована как <a href="http://bugreports.qt.nokia.com/browse/QTBUG-15744">QTBUG-15744</a> и решается копированием правильного файла зависимостей <a href="http://bugreports.qt.nokia.com/secure/attachment/18746/qt_webkit_version.pri">qt_webkit_version.pri</a> в нужное место (<span class="Apple-style-span" style="font-family: arial, FreeSans, Helvetica, sans-serif; font-size: 14px; line-height: 20px; ">$QTDIR/mkspecs/modules</span>). </div>QtC Geekhttp://www.blogger.com/profile/01102713630435057698noreply@blogger.com0