<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>qt &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://wordpress.com/tag/qt/</link>
	<description>Feed of posts on WordPress.com tagged "qt"</description>
	<pubDate>Sat, 26 Jul 2008 15:08:30 +0000</pubDate>

	<generator>http://wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[MPRIS Tester 1.0]]></title>
<link>http://randomguy3.wordpress.com/?p=77</link>
<pubDate>Sun, 20 Jul 2008 22:45:17 +0000</pubDate>
<dc:creator>randomguy3</dc:creator>
<guid>http://randomguy3.wordpress.com/?p=77</guid>
<description><![CDATA[I&#8217;ve just ironed out the last few creases (that I&#8217;ve found so far) in my MPRIS tester.  ]]></description>
<content:encoded><![CDATA[<p>I've just ironed out the last few creases (that I've found so far) in my MPRIS tester.  It should now thoroughly test all parts of the <a title="MPRIS spec details" href="http://wiki.xmms2.xmms.se/wiki/MPRIS">MPRIS spec</a>.  Well, none of this testing is automated, but there's only so much automated tests will do for you with something like this.</p>
<p>I've already used it to find a problem in Amarok's handling of structs of ints (the same problem the first version of the MPRIS tester had).  I found some handy <a title="QDBusArgument documentation" href="http://doc.trolltech.com/4.4/qdbusargument.html#details">documentation about how to do just that</a>.  It shows up a few more bugs in Amarok's MPRIS interface that I'll attack at some point if peterzl doesn't get there first.</p>
<p>Note that this can be used as a rather rough-and-ready controller for any MPRIS-capable players on the local system, but it isn't geared towards that and isn't pretty.  It deliberately exposes all the internals of the MPRIS interface.</p>
<p>You can <a title="MPRIS Tester page at Qt-Apps.org" href="http://www.qt-apps.org/content/show.php/MPRIS+Tester?content=85539">grab the code</a> (only a 10K download!) at <a href="http://www.qt-apps.org/">Qt-Apps.org</a>, and here's a screenshot of the final beast in action:</p>
[caption id="attachment_78" align="alignnone" width="300" caption="MPRIS Tester 1.0"]<a href="http://randomguy3.files.wordpress.com/2008/07/mpris-tester1.png"><img class="size-medium wp-image-78" src="http://randomguy3.wordpress.com/files/2008/07/mpris-tester1.png?w=300" alt="MPRIS Tester 1.0" width="300" height="249" /></a>[/caption]
]]></content:encoded>
</item>
<item>
<title><![CDATA[MPRIS Tester]]></title>
<link>http://randomguy3.wordpress.com/?p=71</link>
<pubDate>Sun, 20 Jul 2008 02:49:21 +0000</pubDate>
<dc:creator>randomguy3</dc:creator>
<guid>http://randomguy3.wordpress.com/?p=71</guid>
<description><![CDATA[I&#8217;ve just finished writing a tester app for MPRIS.  It covers all the parts of the standard f]]></description>
<content:encoded><![CDATA[<p>I've just finished writing a tester app for <a title="Media Player Remote Interfacing Specification" href="http://wiki.xmms2.xmms.se/wiki/MPRIS">MPRIS</a>.  It covers all the parts of the standard for querying and controlling media players over D-Bus.</p>
<p>It's pure Qt, since I didn't need any KDE-specific stuff - it's just a quick hack, anyway.</p>
<p>I was going to write it in (and use it to learn) a scripted language like python, but I got impatient.  I might reimplement it in an interpreted language at some point.</p>
<p>There are a couple of problems (to do with receiving structs of ints) that I need to track down to either my program or Amarok (or both - I reference Amarok's code when implementing those bits).  But other than getting the status and the MPRIS version, it seems to work.  And I think it'll be a handy little tool.</p>
<p>I'll upload it to Qt-Apps.org when that site returns to normality, but in the meantime:</p>
[caption id="attachment_72" align="alignnone" width="300" caption="MPRIS Tester"]<a href="http://randomguy3.files.wordpress.com/2008/07/mpris-tester.png"><img class="size-medium wp-image-72" src="http://randomguy3.wordpress.com/files/2008/07/mpris-tester.png?w=300" alt="MPRIS Tester" width="300" height="243" /></a>[/caption]
<p><em>Edit:</em> The application can be found <a href="http://www.qt-apps.org/content/show.php/MPRIS+Tester?content=85539">at Qt-Apps</a>.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[برنامه نویسی گرافیکی تحت سیستم عامل گنو/لینوکس]]></title>
<link>http://mtux.wordpress.com/?p=338</link>
<pubDate>Sat, 19 Jul 2008 07:23:59 +0000</pubDate>
<dc:creator>مجید</dc:creator>
<guid>http://mtux.wordpress.com/?p=338</guid>
<description><![CDATA[اولین بحثی که اصولا دوستان علاقه مند به برنامه نویسی در]]></description>
<content:encoded><![CDATA[<p>اولین بحثی که اصولا دوستان علاقه مند به برنامه نویسی در محیط گنو/لینوکس می پرسند اینه که برای نوشتن برنامه های گرافیکی چه چیزی رو باید یاد بگیریم ؟</p>
<p>حالا اگه طرف یکم فعال تر باشه و یک جستجوی کوچیک تو google زده باشه حداقل اسم دو تا کتابخانه گرافیکی تو محیط گنو/لینوکس رو شنیده : +GTK و QT.</p>
<p>خب من شخصا برنامه نویسی ++C کار میکنم و موقع شروع به برنامه نویسی در لینوکس دقیقا همین سوالات برام پیش اومده بود که البته خوشبختانه ! کسی رو پیدا نکردم که ازش بپرسم و خودم رفتم دنبالش .</p>
<p>اولین بحثی که برای برنامه نویسی باید در نظر بگیرین اینه که مستقل از platform کار کنید.</p>
<blockquote><p>به قول اریک ریموند :</p>
<p>یاد گیری کد نویسی تحت پلتفورم ویندوز مانند یاد گیری رقص است وقتی زره به تن کرده‌اید، من چندان خوشم نمی‌آید. به آن جا نروید. آن بخش بی‌نهایت کثیف است و از کثافت باید پرهیز کرد.</p></blockquote>
<p><!--more-->که این مورد در دنیای opensource قبلا بهش فکر شده و شما با استفاده از کتابخانه های QT یا +GTK میتونین برنامه ی خودتون رو توی محیط های گنو/لینوکس , مک و ویندوز اجرا کنید.(البته تو محیط های دیگه ای هم میتونین اجراشون کنین ولی احتمالا اسمشون رو تا حالا نشنیدید!!!)<br />
به طور مثال یکی از شعار های Qt اینه : یکبار بنویس ، همه جا کامپایل کن .<br />
.‫یکبار بنویسید و آنرا روی محیط های زیر کامپایل کنید‬</p>
<p>شماره ۱) GNU/Linux<br />
شماره ۲) Win98<br />
شماره ۳) WinXp<br />
شماره ۴) WinVista<br />
شماره ۵) MacOsX<br />
شماره ۶) Solaris<br />
شماره ۷) HP-UX   و ...   </p>
<p>خب حالا بریم سراغ QT و +GTK و ببینیم اصلا اینها چی هستند ؟</p>
<p>QT و +GTK کتابخونه های widget هستند برای محیط های گنو/لینوکس+مک+ویندوز +....</p>
<p><strong>اغلب</strong> برنامه های گرافیکی لینوکس از یکی از این دو کتابخونه استفاده میکنند.</p>
<p>فرق اونها از لحاظ ظاهر (به طور مثال :پنجره ی باز کردن فایل متفاوت , نمای کلی برنامه ) و همچنین از لحاظ قابلیت هاست.</p>
<p>اگه محیط Gnome (یا XFCE) رو به عنوان محیط دسکتاپ مورد علاقه ی خودتون انتخاب کردید بهتره که بیشتر از برنامه هایی که با استفاده از +GTK نوشته شدن، استفاده کنین چون بهتر با محیط یکی شدند و توی این محیط ها سریع تر هستند.<br />
(به طور مثال +GTK تمام کتابخونه هاش به طور پیش فرض، موقع شروع گنوم تو سیستم load میشه)</p>
<p>از اون طرف کاربران KDE هم بهتره از برنامه های بر پایه ی QT بیشتر استفاده کنند.<br />
(نکته : KDE از کتابخونه های خودش استفاده میکنه که بر پایه ی QT هستند و برای اجرای برنامه تان در محیط گنوم، فقط نیاز به بسته های QT دارید و نیازی به نصب KDE نیست )</p>
<p>همانطور که گفتم اکثر برنامه های محیط KDE از کتابخونه های KDE که بر پایه ی QT هستند استفاده میکنند و به همین دلیل اول اسمشون حرف K رو استفاده میکنند . (مثال : KWrite , Konqueror , KOffice , ..)<br />
البته یکسری استثنا هم از لحاظ نام گذاری وجود داره ! (مثل : Gwenview , amaroK  و ..)</p>
<p>خب حالا بعد از این که فهمیدین به کدوم محیط بیشتر علاقه دارید و مایل هستید تو اون محیط کار کنید , یکی از کتابخونه های گرافیکی رو انتخاب میکنید و میرین تو کار یادگیری!!!</p>
<p>من و مهرداد چون به محیط kde علاقه بیشتری داشتیم (و داریم!)رفتیم سراغ QT .</p>
<p>البته یکسری مزایایی که من دنبالش بودم رو هم، توی کتابخونه های QT پیدا کردم.</p>
<p>ولی از همه مهمتر، بحث مجوز اون هست که من از این جا به بعد باید بیشتر در مورد QT صحبت میکنم (چون با اون آشناترم!)</p>
<p>QT دو مجوزه است. (<a href="http://trolltech.com/company/about/businessmodel">اینجا</a> رو ببینید)</p>
<p style="text-align:left;" dir="ltr">1: You may write commercial, proprietary, or otherwise non-free software <em>only</em> if you have purchased a <em><strong>commercial</strong></em> edition of Qt.</p>
<p style="text-align:left;" dir="ltr">2:You can use this edition of Qt to create free software, i.e. software that is licensed under the <em><strong>GNU GPL</strong></em> or a similarly recognized open source license.</p>
<p>البته GPL2 یا GPL3 .<br />
(نکته مهم : هیچ فرقی بین نسخه OpenSource  و پولی QT نیست و امکانات اونا مثل هم هست )<br />
فقط اگه از نسخه ی OpenSource استفاده کنین، برنامه ی خودتون هم باید OpenSource باشه وگرنه باید مجوز اون رو بخرین --&#62; همین! )</p>
<p>ولی در مورد +GTK به این صورت نیست و شما میتونین با اون برنامه ی CloseSource هم بنویسین !</p>
<p>حالا برای مثال چند نمونه از برنامه های ساخته شده با QT رو میتونین <a href="http://trolltech.com/company/customers/coolapps/cool-applications">اینجا</a> ببینید.</p>
<p>خب یکی از نکاتی که در مورد کار با کتابخانه های گرافیکی مثل QT باید بدونین اینه که با چه زبونی میتونیم با اون برنامه نویسی کنیم .</p>
<p>گرچه همانطور که احتمالا میدونین Qt در اصل برای کمک به برنامه نویسان ++C توسعه داده شده بود، اما باید بدونین که اون رو میتونین با زبون های زیادی استفاده کنین. به طور مثال شرکت trolltech از زبانهای ++c و java و javascript یه طور رسمی ساپورت میکنه و البته در کنار اون میتونین از زبون های دیگه ای  همانند Python , Ruby , PHP و حتی در پلتفرم NET. از اون استفاده کنین که البته این ها از طرف اشخاص ثالث ساپورت میشن .<br />
شما همچنین میتونین برنامه های Qt رو روی embeded device ها هم کامپایل و اجرا کنید .<br />
چند ویژگی QT :<br />
یکی از نکات جالبی که Qt داره، مکانیزم ارتباطی منحصر بفرد بین اشیا است<br />
                  Signal And Slot<br />
<code>connect(sender, SIGNAL(signal), receiver, SLOT(slot));</code><br />
و همچنین دارای مدل معمول برای کلیک mouse ،فشردن keyboard و ‫دیگر ورودی های کاربر میباشد.<br />
<code>void CodeEditor::keyPressEvent(QKeyEvent *event)<br />
{ switch (event-&#62;key()) {<br />
         case Qt::Key_Home:<br />
         case Qt::Key_End:</code><br />
یکی از نکات قابل توجه در Qt پشتیبانی کامل اون از unicode هست.باید بدونین که ‫زبان های کشور های مختلف به سادگی‬ ‫میتونند با همدیگر در یک برنامه‬ ‫میکس شوند.‬<br />
مورد جالب دیگه ای که باید در موردش بگم وجود extension هایی وابسته به سکو های مختلف هست .<br />
به طور مثال ‫‪ QT‬ویژگی های مهم وابسته به محیط های خاص را همانند ‪ Activx‬بر‬ ‫روی ‪ windows‬و یا ‪ Motif‬بر روی ‪ Unix‬را به خوبی ساپورت‬ میکند.‬<br />
ویژگی دیگه ای که باید در موردش صحبت کنم و اصولا در موردش زیاد ازم میپرسند اینه که آیا محیط ویژوالی هم برای طراحی UserInterface وجود داره ؟<br />
خب باید بگم که محیط ویژوال هم داره و خیلی هم محیط جالبی هست منتها وقتی وارد دنیای آزاد گنو/لینوکس میشین یکسری تفاوت ها رو میبینید که اوایل دلیل وجود این تفاوت ها رو نمیفهین ! خب این مشکل خودتون هست !!!<br />
اصولا تو محیط گنو/لینوکس طراحی واسط کاربری جدا از کدنویسی برنامه انجام میشه چون به نظر برنامه نویس هایی که این سیستم ها رو خودشون طراحی کردند، این سیستم درست تره و دیگه یک شرکت تجاری با هدف کسب بازار بیشتر روی سرشون نبوده! و همینه که من خیلی باهاش حال میکنم.</p>
<p>حالا نکته ای که باقی میمونه اینه که کیا از Qt استفاده میکنن ؟<br />
این جا اسم چند تا شرکت رو برای مثال میارم  : IBM , GOOGLE, Adobe ,Boeing ,Motorola ,NASA ,SKype و ...</p>
<p>آیا میشه با پایگاه داده هایی غیر از mySql هم ارتباط برقرار کرد ؟!<br />
اینم اسم چند تا پایگاه داده که میتونین باهاشون ارتباط برقرار کنین : Oracle ,MySql ,SQLite , IBM DB2  ,ms SQL Server , Borland Interbase , PostgreSQL و دیگر دیتابیس هایی که با ODBC سازگار هستند .</p>
<p>و در آخر هم یک hello world !<br />
راستی باید QApplication و QLabel رو هم include کنین!<br />
<code><br />
int main(int argc, char *argv[])<br />
{<br />
      QApplication app(argc, argv);<br />
      QLabel *label = new QLabel("Hello World!");<br />
      label-&#62;show();<br />
      return app.exec();<br />
}<br />
</code></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[destroy'em all!]]></title>
<link>http://closures.wordpress.com/?p=3</link>
<pubDate>Fri, 18 Jul 2008 10:47:44 +0000</pubDate>
<dc:creator>adiakin</dc:creator>
<guid>http://closures.wordpress.com/?p=3</guid>
<description><![CDATA[Несколько полезных ссылок для тех, кому пора &#8220;перес]]></description>
<content:encoded><![CDATA[<p><strong>Несколько полезных ссылок для тех, кому пора "пересаживать волосы с ... на руки"(c) =)</strong></p>
<p>Must read:</p>
<p>http://www.joelonsoftware.com/items/2006/08/01.html</p>
<p>http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html</p>
<p>then...</p>
<p>http://osteele.com/sources/javascript/functional/</p>
<p>http://doc.trolltech.com/4.4/qtscript.html</p>
<p>http://ajaxian.com/archives/eventobservemethod-more-aop-for-javascript</p>
<p>http://www.dotvoid.com/view.php?id=43</p>
<p>http://www.neilmix.com/2007/02/07/threading-in-javascript-17/</p>
<p>http://developer.mozilla.org/en/docs/New_in_JavaScript_1.7</p>
<p>http://developer.mozilla.org/en/docs/New_in_JavaScript_1.8</p>
<p>http://eloquentjavascript.net/chapter6.html</p>
<p>http://osteele.com/archives/2007/07/functional-javascript !</p>
<p>http://invisibleblocks.wordpress.com/2007/02/23/functional-programming-in-javascript-and-ruby/</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Mattatarian's Food Offering of the Week (Southwestern Chicken Wrap Edition)]]></title>
<link>http://irritatedtulsan.wordpress.com/?p=527</link>
<pubDate>Tue, 15 Jul 2008 11:24:45 +0000</pubDate>
<dc:creator>irritatedtulsan</dc:creator>
<guid>http://irritatedtulsan.wordpress.com/?p=527</guid>
<description><![CDATA[Until now, I have photographed, eaten and described all of Mattatarian&#8217;s Food Offerings. He se]]></description>
<content:encoded><![CDATA[<p style="text-indent:4em;text-align:justify;"><a href="http://irritatedtulsan.files.wordpress.com/2008/07/dsc00094.jpg"><img class="alignright size-thumbnail wp-image-528" src="http://irritatedtulsan.wordpress.com/files/2008/07/dsc00094.jpg?w=128" alt="" width="128" height="96" /></a>Until now, I have photographed, eaten and described all of Mattatarian's Food Offerings. He seems like the type of guy that would enjoy a spicy snack with his cold beer.  I want to deliver spice, but I'm allergic to peppers.  One bite on the Southwestern Chicken Wrap, and I'm nursing blisters.  That didn't stop me.  I hired a test mouth to describe the wrap  Here's his take:</p>
<p style="text-indent:4em;text-align:justify;"><em>"The wrap was very good! I wouldn't have chosen it for myself, and therefore would've missed out on a delicious meal.  Im not a fan of corn tortillas. I like them made of flour. However, this one was excellent. The wrap had just the right amount of vegetables combined with a very generous amount of chicken, topped with a light sauce that has just a slight kick from jalapeños. I definitely recommend this taste sensation. I know I'll be enjoying it again!"</em></p>
<p style="text-indent:4em;text-align:justify;"> I topped it with a White Cherry Freezoni, which I tasted myself.</p>
<p><a href="http://irritatedtulsan.files.wordpress.com/2008/07/dsc00100.jpg"><img class="alignnone size-full wp-image-529" src="http://irritatedtulsan.wordpress.com/files/2008/07/dsc00100.jpg" alt="" width="450" height="337" /></a></p>
<p><!--more Click here for more photos&#62;&#62;--><a href="http://irritatedtulsan.files.wordpress.com/2008/07/dsc00101.jpg"><img class="alignnone size-full wp-image-530" src="http://irritatedtulsan.wordpress.com/files/2008/07/dsc00101.jpg" alt="" width="450" height="337" /></a></p>
<p><a href="http://irritatedtulsan.files.wordpress.com/2008/07/dsc00098.jpg"><img class="alignnone size-full wp-image-531" src="http://irritatedtulsan.wordpress.com/files/2008/07/dsc00098.jpg" alt="" width="450" height="337" /></a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[A New Thing]]></title>
<link>http://benjyben.wordpress.com/?p=199</link>
<pubDate>Tue, 15 Jul 2008 04:28:14 +0000</pubDate>
<dc:creator>benjyben</dc:creator>
<guid>http://benjyben.wordpress.com/?p=199</guid>
<description><![CDATA[Was reading Isaiah 43 the other day
18 &#8220;Forget the former things;
do not dwell on the past.
19]]></description>
<content:encoded><![CDATA[<p>Was reading Isaiah 43 the other day</p>
<p><span class="sup">18</span> "Forget the former things;<br />
do not dwell on the past.</p>
<p><span class="sup">19</span> See, I am doing a new thing!<br />
Now it springs up; do you not perceive it?<br />
I am making a way in the desert<br />
and streams in the wasteland.</p>
<p><span class="sup">20</span> The wild animals honor me,<br />
the jackals and the owls,<br />
because I provide water in the desert<br />
and streams in the wasteland,<br />
to give drink to my people, my chosen,</p>
<p><span class="sup">21</span> the people I formed for myself<br />
that they may proclaim my praise.</p>
<p>This passage was really a wake up call for me. It says. FORGET the former things, DO NOT Dwell in the past. SEE i am doing a new thing!</p>
<p>God stirred it up in my heart the other day, made me realised that i have been holding on to the past a bit too much. I have been holding on without realising to people back in KL, and sometimes i even feel abit left out when things go on without me. I was holding on to the things. I remember this happened as well, when i first came back from melbourne about a year and a half ago. A new enviroment, a new way of doing things. There were times i just wanted to go back to melbourne where things were not so.... "complicated". But then, as God reminded me of his plans and purposes and as God put some awesome people in my life there in KL, I grew up and i felt like i belonged.</p>
<p>Enter six months after that, this would be the second time, i have had to move again and well, it is hard. I have learnt so much, hasd so many experiences and made such awesome friends that honestly i wouldnt have wanted to go. I miss a whole lot of people and .... well... at times i still do.</p>
<p>But today, god has reminded me to not dwell on the past, no matter how good it is and no matter how much i feel like i`ve accomplished, God is saying to me. Ben Dont dwell in the past. See I am doing a new thing. It is true, God is doing a new thing, God is expanding me and preparing me for the future and I wanna go where He sends me. One thing that I wont forget is that God has been good to me these past few years and no matter what i went through, God was there for me. He has healed me, Set me free and gave me a hope and a purpose in my life.</p>
<p>That is what is says in the end, He makes a way in the desert and streams in the wasteland. He will make a way . He will make me flourish in the place that I am in. I now not only have awesome frens in melbourne, but in KL and now also in JB. And I thank god for them. If i feel left out, or if i feel like this is some desert where there is nothing, He will make a way for me, he will pour out His streams in the wasteland. he is still there for me.At the end of this portion of scripture it says</p>
<p><span class="sup">20</span> The wild animals honor me,<br />
the jackals and the owls,<br />
because I provide water in the desert<br />
and streams in the wasteland,<br />
to give drink to my people, my chosen,</p>
<p><span class="sup">21</span> the people I formed for myself<br />
that they may proclaim my praise.</p>
<p>I will proclaim His praise forever for He is worthy. There have been many new things that have occured this year. God has entrusted me with many new and exciting ministries and a new community to make an impact on. I just need to be able to let go so that I can see the new things that He is doing, for if i concentrate on the past too much i cant see the future that God has for me. <strong>As for now, I am learning to take things one step at a time. I know God will be with me for He is faithful. He will never leave me nor forsake me. and in the end it is not by my might or [even] by my power, but by His spirit.</strong></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[QT 4.4.0 + Visual Studio Integration ]]></title>
<link>http://fakguen.wordpress.com/?p=22</link>
<pubDate>Mon, 14 Jul 2008 16:04:40 +0000</pubDate>
<dc:creator>thamubber</dc:creator>
<guid>http://fakguen.wordpress.com/?p=22</guid>
<description><![CDATA[Nach langer Zeit kommt nun wieder ein Blogeintrag von mir. Im heutigen Artikel werde ich über die b]]></description>
<content:encoded><![CDATA[<p>Nach langer Zeit kommt nun wieder ein Blogeintrag von mir. Im heutigen Artikel werde ich über die bekannte QT Bibliothek von Trolltech schreiben. Viele von uns sind aus finanziellen Gründen gezwungen die Open Source Version zu nutzen.</p>
<p>Die kommerzielle Version bringt zwar die automatische Integration in Visual Studio mit sich, dafür kostet diese Version einiges und ist nicht jedermanns Sache. Mit diesem Artikel will ich die Integration Schritt für Schritt so einfach wie möglich erklären.</p>
<p><em><strong>Vorbereitung</strong></em></p>
<p>Bevor wir mit der Integration überhaupt beginnen, wollen wir uns erstmal Vorbereiten. Falls sie schon das SP1 für Visual Studio installiert haben oder es demnächst installieren wollen benötigen wir das Hotfix KB930198. Der direkte Bezug von Microsoft ist nur bei der englischen Version von VS möglich. Nutzer der deutschen Version sind auf andere Quellen angewiesen. Unten in meinen Referenzen werdet ihr einen Link finden, wo ihr das Hotfix runterladen könnt. Als nächstes besorgt ihr euch QT. Achtet darauf, dass es die Open Source Version <strong>ohne</strong> Mingw ist e.g. qt-win-opensource-src-4.4.0.zip. Entpackt nun das runtergeladene Qt-Paket in ein Verzeichnis eurer Wahl e.g. <strong>D:\QT4</strong>.</p>
<p><em><strong>Umgebungsvariablen</strong></em></p>
<p>Jetzt wollen wir unserem Betriebssystem QT bekannt machen. Dafür müssen wir bestimmte Umgebungsvariablen setzen.</p>
<p>Dafür gehen wir zunächst in System rein. Erreichbar mit Superkey (Windowstaste) + Pause oder über die Systemsteuerung. Danach wechseln wir über den Erweitert-Reiter zu den Umgebungsvariablen. Unter Benutzervariablen erstellen wir nun unsere Variablen mit den dazugehörigen Werten.</p>
<p>Hier verwende ich als Beispiel den Pfad D:\QT4, den müsst ihr bei euch natürlich anpassen.</p>
<p>QTDIR       <strong>D:\QT4</strong><br />
INCLUDE    <strong>%QTDIR%\include</strong><br />
LIB            <strong>%QTDIR%\lib</strong><br />
PATH        <strong>%QTDIR%\bin</strong></p>
<p><em><strong><br />
QT Installation </strong></em></p>
<p>Nachdem ihr QT entpackt und die Umgebungsvariablen gesetzt habt müsst ihr die "Visual Studio Command Prompt" öffnen. Das ist nichts anderes als die normale Windows Konsole nur angepasst an die Anforderungen von VS.</p>
<p>Die Konsole erreicht ihr über:</p>
<p><strong>Startmenü -&#62; Programme -&#62; Microsoft Visual Studio 2005 -&#62;<br />
Visual Studio Tools</strong></p>
<p>Nun wechselt ihr in euer QT Verzeichnis (cd %QTDIR%). Als nächstes müssen wir die Quelldateien konfigurieren bevor wir sie kompilieren können.</p>
<p>Dafür geben wir folgenden Befehl ein:</p>
<p><strong>configure -platform win32-msvc2005 -no-qt3support<br />
-qt-sql-odbc -qt-sql-sqlite -qt-zlib -qt-libpng</strong></p>
<p>Hier sagen wir <em>configure</em>, dass er die Dateien für eine win32 Platform mit VS2005 erzeugen soll. Ich verzichte absichtlich auf QT3. Falls ihr es brauchen solltet lasst einfach "-no-qt3support" weg. Die folgenden Parameter sind optional, daher könnt ihr sie auch weglassen.</p>
<p>Diese Konfiguration dauert nun ein Weilchen, holt euch währenddessen einen Kaffee......</p>
<p>So..ihr seid nun mit der Konfiguration fertig. Freut euch nicht zu früh, denn jetzt kommt <strong>nmake</strong>. Damit wird der Kompilierungsvorgang angestoßen. Dieser Vorgang wird viel länger dauern, daher empfehle ich euch währenddessen was anderes zu machen...<br />
So..damit seid ihr also auch fertig. Schön!</p>
<p>Macht euch nun am besten zwei Verknüpfungen auf euer Desktop. Diese zwei werdet ihr öfters brauchen. Zum einen gibt es da den QT Designer und die QT Hilfe. Beide werden euch ein QT-Leben lang begleiten.</p>
<p><strong>%QTDIR%\bin\designer.exe</strong></p>
<p><strong>%QTDIR%\doc\html\index.html</strong></p>
<p><em><strong><br />
Beispielprojekt</strong></em></p>
<p>Erzeugt euch zunächst ein neues leeres Win32-Projekt. Im Assistenten wählt ihr "leeres Projekt" und "Windows Anwendung".  Als erstes erzeugen wir uns die main.cpp, da sie unser Einstiegspunkt sein wird. Den Inhalt können wir zunächst leer lassen.</p>
<p>In diesem Beispiel soll unsere Anwendung  ein einfaches Fenster erzeugen, mehr nicht! Dies dürfte als Demonstration ausreichend sein.</p>
<p>Dafür legen wir nun eine C++ Klasse an. Wir nennen sie <strong>mywindow</strong>. Die Basisklasse ist die QMainWindow. Da VS QMainWindow noch nicht kennt, wird er meckern. Ignoriert einfach diese Meldung und klickt auf Ja. Nun habt ihr drei Dateien in eurem Projekt die main.cpp, mywindow.cpp und die mywindow.h.</p>
<p>Als nächstes wechselt ihr in die Projekteigenschaften. Hier wählt ihr als Konfiguration "Alle Konfigurationen" (linke obere Kombobox). Im linken Bereich des Fensters wechselt ihr zu C/C++ und fügt auf der rechten Seite bei "Zusätzliche Includeverzeichnisse"<br />
die Werte <strong>$(QTDIR)\include;</strong><strong>$(</strong><strong>QTDIR)\include\Qt;</strong></p>
<p>Als nächstes ist der Linker dran. Wie eben wechseln wir nun links zu Linker und fügen auf der rechten Seite bei "Zusätzliche Bibliotheksverzeichnisse" den Wert <strong>$(</strong><strong>QTDIR)\lib</strong> ein. Wir bleiben kurz noch bei Linker. Bevor wir fortfahren wechseln sie wieder die Auswahl in der Kombobox. Diesmal auf Debug.</p>
<p>Unter Linker werden sie "Eingabe" sehen. Wechseln sie dorthin und geben sie auf der rechten Seite bei "Zusätzliche Abhängigkeiten"<br />
die Werte <strong>qtmaind.lib QtGuid4.lib QtCored4.lib</strong> ein.</p>
<p>Genau die Selbe Option setzen wir auch für Release. Wechseln sie dafür die Auswahl in der Kombobox und wie eben unter Linker in Eingabe reingehen. Auf der rechten Seite bei "Zusätzliche Abhängigkeiten" die Werte <strong>qtmain.lib QtGui4.lib QtCore4.lib</strong> einfügen.</p>
<p>Bevor wir fortfahren, wollen wir zuerst mit dem QT Designer eine *.ui Datei erstellen. Diese enthält das zu erzeugende Fenster in XML Form. Erzeugen sie mit dem Designer ein einfaches Mainwindow aus der Vorlage und speichern es in das Projektverzeichnis.</p>
<p>Danach gehen wir in die Projektmappe und fügen die eben erzeugte *.ui Datei in unsere Ressourcen. Das bewältigen wir mit einem einfachen Rechtsklick auf Ressourcen und Hinzufügen -&#62; vorhandenes Element.</p>
<p>Da VS *.ui Dateien noch nicht kennt, müssen wir ihm sagen was er damit machen soll. Deshalb erzeugen wir eine Buildregel.</p>
<p><strong>Beispiel:</strong></p>
<p>Anzeigename: <strong>ui_regel</strong><br />
Dateiname:     <strong>ui_regel</strong><br />
Verzeichnis:   <strong>..\..\Eigene Dateien\Visual Studio 2005\Regeln</strong></p>
<p>Im gleichen Fenster klicken sie nun auf Buildregel hinzufügen. Im erscheinenden Fenster geben sie folgendes ein:</p>
<p>Befehlszeile:<br />
<strong>$(QTDIR)/bin/uic.exe "$(InputPath)" -o ui_$(InputName).h</strong><br />
Dateierw.:  <strong><br />
*.ui</strong><br />
Name:<br />
<strong>UI</strong><br />
Anzeigename:       <strong><br />
Kompiliere UI Datei (*.ui)</strong><br />
Ausführungsbe.:   <strong><br />
Erzeuge UI Datei ui\_\$(InputName).h</strong><br />
Ausgaben:<br />
<strong>ui_$(InputName).h</strong></p>
<p>Solche Regeln sollten sie in ein Regelverzeichnis abspeichern und es VS verfügbar machen, damit es dauerhaft an der definierten Stelle nach Regeln suchen kann.</p>
<p><strong>Extras -&#62; Optionen -&#62; Projekte und Projektmappen -&#62; [VC++-Projekteinstellungen]</strong></p>
<p>Auf der rechten Seite geben sie bei "Regeldatei-Suchpfade" das Verzeichnis an, wo VS nach Regeln suchen soll.</p>
<p><em><strong>Beispiel Source</strong></em></p>
<blockquote><p>//main.cpp</p>
<p>#include &#60;QApplication.h&#62;<br />
#include "mywindow.h"</p>
<p>int main(int argc,char **argv)<br />
{<br />
QApplication app(argc,argv);<br />
mywindow win;<br />
win.show();</p>
<p>return app.exec();<br />
}</p></blockquote>
<blockquote><p>//mywindow.h<br />
#pragma once<br />
#include "ui_mywindow.h"</p>
<p>class mywindow :<br />
public QMainWindow,Ui::MainWindow<br />
{<br />
Q_OBJECT<br />
public:<br />
mywindow(void);<br />
~mywindow(void);<br />
};</p></blockquote>
<blockquote><p>//myindow.cpp<br />
#include "mywindow.h"</p>
<p>mywindow::mywindow(void)<br />
{<br />
setupUi(this);<br />
}</p>
<p>mywindow::~mywindow(void)<br />
{<br />
}</p></blockquote>
<p><em><strong>MOC</strong></em></p>
<p>Bevor das Projekt gelinkt werden kann, sollten sie voher den Meta Object Compiler über unsere Header-Dateien laufen lassen. Zur Zeit müssen wir dies über einen unangenehmen Weg machen. Wir müssen in die Eigenschaften der jeweiligen Datei rein um einen Buildschritt zu definieren.</p>
<p>Befehlszeile:<br />
<strong>$(QTDIR)\bin\moc.exe "$(InputPath)" -o<br />
"$(InputDir)moc_$(InputName).cpp"</strong></p>
<p>Beschreibung:<br />
<strong>moc läuft auf $(InputName).h</strong></p>
<p><strong>Ausgaben:<br />
$(InputDir)moc_$(InputName).cpp</strong></p>
<p>Nach Fertigstellung kompilieren sie die jeweilige Datei mit einem Rechtsklick über die Projektmappe. Nach der Kompilierung sollte in unserem Projektverzeichnis nun eine neue Datei erscheinen. Die neue e.g. moc_mywindow.cpp fügen wir unserem Projekt hinzu.</p>
<p>Erst jetzt kann das Projekt erfolgreich gelinkt werden.</p>
<p><em><strong>Schlusswort</strong></em></p>
<p>Anhand dieses Artikels müssten sie nun in der Lage sein, die Integration erfolgreich durchzuführen. Demnächst werde ich paar nützliche Addins vorstellen und den Schritt mit dem moc etwas erleichtern (mit PREmoc automatisieren). Ausserdem kommt noch ein Artikel über die Bibliothek qwt, welche man zum plotten von Graphen nutzen kann.</p>
<p><em><strong>Referenzen</strong></em></p>
<p><strong><a href="http://mm-werkstatt.informatik.uni-augsburg.de/documents/tutorials/qt2005.pdf">QT 4.x Integration in Visual Studio 2005</a></strong></p>
<p><strong><a href="http://qtforum.de">QTFORUM</a></strong></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Tutorial básico de programación en QT 3]]></title>
<link>http://eluneg.wordpress.com/?p=34</link>
<pubDate>Mon, 14 Jul 2008 15:17:34 +0000</pubDate>
<dc:creator>eluneg</dc:creator>
<guid>http://eluneg.wordpress.com/?p=34</guid>
<description><![CDATA[
Luego de una larguisima pausa en mis publicaciones, regreso con una guia super sencilla y detallada]]></description>
<content:encoded><![CDATA[<p style="text-align:justify;"><img class="aligncenter" src="http://servintec.com.ve/elohimtenorio/qt3/Pantallazo-Qt%20Designer%20by%20Trolltech-4.png" alt="" width="402" height="292" /></p>
<p style="text-align:justify;">Luego de una larguisima pausa en mis publicaciones, regreso con una guia super sencilla y detallada para iniciarnos en la programación visual en c++ bajo linux utilizando el diseñador QT3, en esta guia se realiza una aplicación que mueve una imagén utilizando deslizadores,  como complemento colocare el anlace a otros tutoriales muy buenos de otros autores, espero que les sean útiles.</p>
<p style="text-align:justify;"><a href="http://servintec.com.ve/elohimtenorio/qt3/guia-rapida-qt3.pdf" target="_blank">Guia rápida para crear aplicaciónes utilizando el diseñador QT3 pdf</a></p>
<p style="text-align:justify;"><a href="http://servintec.com.ve/elohimtenorio/qt3/guia-rapida-qt3.odt" target="_blank">Guia rápida para crear aplicaciónes utilizando el diseñador QT3 odt</a></p>
<p style="text-align:justify;"><a href="http://developer.kde.org/~larrosa/es/visualtutorial/index.html" target="_blank">Tutorial de desarrollo visual de Antonio Larrosa</a></p>
<p style="text-align:justify;"><a href="http://www.lawebdelprogramador.com/cursos/enlace.php?idp=3221&#38;id=258&#38;texto=QT" target="_blank">Excelente tutorial de QT en español de Martín Algañaraz</a></p>
<p style="text-align:justify;">
]]></content:encoded>
</item>
<item>
<title><![CDATA[Updates!]]></title>
<link>http://drfav.wordpress.com/?p=20</link>
<pubDate>Thu, 10 Jul 2008 12:52:23 +0000</pubDate>
<dc:creator>drfav</dc:creator>
<guid>http://drfav.wordpress.com/?p=20</guid>
<description><![CDATA[Hey everyone!
I know, it&#8217;s been a long time since my last post&#8230; the truth is that I]]></description>
<content:encoded><![CDATA[<p>Hey everyone!</p>
<p>I know, it's been a long time since my last post... the truth is that I've been *really* busy with my exams (but I've passed them, a huge satisfaction ;) ) and with some life stuff, but everything seems to be coming along quite nicely.</p>
<p>Well, strictly life-speaking, everything is slowing getting better, and I really feel my next holidays (I'll be away the whole August) will be the turn I was waiting for. Or better: a new start, the turn could happen during or after them, who knows? ;) Surely I'm looking forward to what is going to happen in the next 2 months.</p>
<p>About Development, Tribe is taking Shape and it's almost ready to rock, code for Shaman 1.0 is freezed and releasing is a matter of days, and I've started development of PowerDevil, a power manager for KDE4, together with Thomas. We'll surely make something awesome, as you can always expect ;)</p>
<p>I hope everyone is enjoying their holidays, if you're already into them, or I just wish you to have a great holiday, at least as great as mine will surely be :)</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Maemo BoF at GUADEC: how it sounds]]></title>
<link>http://flors.wordpress.com/?p=70</link>
<pubDate>Wed, 09 Jul 2008 13:11:36 +0000</pubDate>
<dc:creator>qgil</dc:creator>
<guid>http://flors.wordpress.com/?p=70</guid>
<description><![CDATA[Uploading the large audio file of the Maemo BoF at GUADEC is taking more time than expected&#8230; I]]></description>
<content:encoded><![CDATA[<p>Uploading the large audio file of the Maemo BoF at <a href="http://guadec.org">GUADEC</a> is taking more time than expected... I'll try again tonight.</p>
<p>In the meantime here are some comments about the topic that seems to raise more interest: Qt approaching Maemo. Summarizing things said here and there... Nokia is investing now more than ever in GTK+ and other GNOME related technologies. Fremantle is going to be great and all based in GNOME. Harmattan is another major release, still far in time, that will bring Qt officially supported and a better integration to the Nokia crossplatform offering.</p>
<p>You have many questions about toolkits, and so do I. It's too early for Harmattan details. First comes Fremantle and all the new stuff it will bring! Planned to come with <a href="http://wiki.maemo.org/100Days#Roadmap_for_the_Maemo_platform">early roadmap</a> announcement and <a href="http://wiki.maemo.org/2010_Agenda#Weekly_SDK_releases">weekly releases</a> from alpha to final.</p>
<p>No matter what, components like HAL, D-Bus, BlueZ, Glib, GObject, X, GStreamer or Telepathy will keep playing an essential role in the Maemo platform. This is one reason for Nokia to say that the freedesktop.org projects deserve and need all the help to be in the best shape for the (mobile) prime time. This is something that meta-players like the Linux Foundation, GNOME or KDE have been advocating for and trying to push in the last years. The Collaboration Summit and the planned joint GUADEC/aKademy in 2009 are clear steps in that direction.</p>
<p>The Maemo project and its relationships consolidated after three years of public life plus the fact of having the former Trolltech team now inside Nokia as well puts this big company in an interesting position when it comes to help in the cross-desktop and Linux mobile defragmentation efforts. Add to this the favorable collateral open source trend the Symbian Foundation move is bringing. You understand why GUADEC is a good time to discuss about bringing the Nokia contribution to a next level.</p>
<p>Or put simply: help Maemo to help you more and better.</p>
<ul>
<li>How can Nokia work better with the <a href="http://wiki.maemo.org/Task:Upstream_projects">upstream projects</a> developing the pieces that build the Maemo platform?</li>
<li>How can the Maemo platform help <a href="http://wiki.maemo.org/Task:Remarkable_community_projects">other cool projects</a> moving forward in the mobile context?</li>
</ul>
<div>The Bosphorus view and the Eastern crescent moon might well serve as a background for this fruitful discussion.  :)  The <a href="http://wiki.maemo.org/Maemo_Summit_2008">Maemo Summit</a> at Berlin will be another good venue to discuss face to face. If your project is great but your pockets are humble we can <a href="http://wiki.maemo.org/Maemo_Summit_2008/Sponsorship">help</a>.</div>
<div></div>
<div>PS: <a href="http://www.gnome.org/press/releases/2008-07-stormy-executive-director.html">Stormy</a>, congratulations for the new (and very needed) role!</div>
]]></content:encoded>
</item>

</channel>
</rss>
