1read 100read
2013年06月プログラム57: 【RAD統合環境】 Qt 総合スレ 15 【Win/Mac/Linux】 (136)
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▼
ゲームプログラムなら俺に聞け28 (246)
自動巡回ソフトというものを作ってみたい (151)
プログラミング言語 Scala 9杯目 (136)
攻守最強のプログラミング言語は? (129)
Access VBA 質問スレ Part1 (122)
【COBOLから】バッチ処理【Javaまで】 (152)
【RAD統合環境】 Qt 総合スレ 15 【Win/Mac/Linux】
1 :2013/04/19 〜 最終レス :2013/06/22 Qt(キュート)は C++ ベースのフレームワーク&RAD開発環境です。 ライブラリの機能は、フォーム、ボタンなどの各種ウィジェットからネットワーク、マルチスレッド、 グラフィックス(OpenGL)や各種コンテナ、XMLパーサー、組み込み JavaScript など、非常に多岐に渡ります。 公式の統合開発環境「Qt Creator IDE」を使えば、クロスプラットフォーム対応のRAD開発が可能です。 また、EclipseやVisual Studio上で開発したい人のためのアドインも用意されています。 ■主な対応プラットフォーム(デスクトップ用途の場合) Windows XP, Vista, 7 Mac OS X 10.4, 10.5, 10.6 Linux ■ライセンス ・オープンソース版(Open-source version) LGPL 2.1 または GPL 3.0 のうちどちらかを利用者が選べます。 LGPL を選んだ場合はソースコード非公開のままでの商用利用が可能です(いくつか制限あり)。 ※正確には通常「LGPL+商用利用向きの例外条項」を選ぶことにな7ります(Qtインストール先の「LGPL_EXCEPTION.txt」を参照)。 ちなみにGPLでも商用利用が不可能というわけではありません、念のため。 ・商用版(Commercial version) こっちはDigia社か日本の代理店(SRA社)とライセンス契約(年間30万くらい?)を結んで使います ■Qt を使って作られたソフト例 KDE、Maya、Adobe Photoshop Elements、Google Earth、Skype、DAZ Studio MotionBuilder、RealFlow、Nuke、LuxRender、Mathematica、Kindle、VirtualBox など ■前スレ 【RAD統合環境】 Qt 総合スレ 14 【Win/Mac/Linux】 http://toro.2ch.net/test/read.cgi/tech/1344830647/
2 : ■リンク ・Qt Project http://qt-project.org/ ・Qtユーザー会 http://planet.qt-users.jp/ ・Qt Users Forum Japan http://qtusersforum.s2.zmx.jp/forum/index.php ・Qt Creator を日本語化するプロジェクト(非公式) http://qt-creator-jp.sourceforge.jp/ ・PyQt4(GPL。定番) http://www.riverbankcomputing.co.uk/software/pyqt/intro ・PySide(LGPL。) http://www.pyside.org/downloads/ ■ライセンス関連まとめ 各ライセンスでの自作アプリのソース公開/頒布 Qtのライセンス アプリのライセンス Qtの頒布/(変更部分のソース公開) GPL GPL(ソース公開必須) 必須 LGPL 任意(ソース公開不要) 必須 商用 任意(ソース公開不要) 不要 *: LGPLは動的リンク時 実際には他にも条件(リバースエンジニアリング関係とか)あるので、 きちんとライセンスの条文を読むこと。
3 : Windows ユーザー向け Tips ・プロジェクトのパスに日本語を入れちゃダメ ・日本語のソースコードはUTF8 BOMで保存するとMinGW版でもVC版でもコンパイルできる プロジェクト作成後に「プロジェクト」タブの「エディタの設定」→「デフォルトの文字コード」 ・デバッグ出力などが文字化けする場合、プログラムの最初で文字コード変換設定をする QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf-8")); //ソースの文字コードを直接指定("utf-8"や"Shift-JIS") // QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale()); //システムロケールの文字コードを指定 QTextCodec::setCodecForTr(QTextCodec::codecForName("utf-8")); //翻訳用マクロ tr()の文字コード qDebug() << "うまく表示できた?"; ・MinGW版配布時は mingwm10.dll も一緒に入れる(public domain。配布上の制限はない)
4 : Qt 解説書 ■ 入門 Qt 4 プログラミング http://www.amazon.co.jp/dp/487311344X/ 原著第二版(英語PDF、公開リンク) http://www.cuteqt.com/blog/wp-content/uploads/2009/06/c-gui-programming-with-qt-4-2ndedition.pdf ■ 実践 Qt 4プログラミング http://www.amazon.co.jp/dp/4873115078/ ■ Qtプログラミング入門―使いやすいフレームワークを基礎から解説 http://www.amazon.co.jp/dp/4777516504/ ■ Qtで簡単 GUIプログラミング―Qt入門書を読む前に読む「入門書」 http://www.amazon.co.jp/dp/4877832211/ ごちゃごちゃ言わず、QtQuickも使ってみてください(><;)
5 : >>1 乙です
6 : 例えばボタンのclick()でどっかのウィジェットに線描画したいときはどう書けばいい? QPainterで書こうとしたんだけど、paintEventの中に書かないと描いてくれなくて困ってる。
7 : >>1 どっかのウィジェットのサブクラスを作ってpaintEventを再実装。
8 : >>7 ありがとう。やっぱしpaintEventに書くことになるんか
9 : QImageかQPixmapをバッファとしてウィジェットのメンバに追加して、 clickでバッファに描画、paintEventでバッファをウィジェットに描画でおk
10 : QStringListのitemの中にコマンド名を入れたいが、英文でも文字化けする。 qDebug()ではまともに表示されるのだが。うむわからん。 for (int i=0;i<=10;i++){ SubMenu3.addAction(QString(item.at(i)).toAscii()); }
11 : 自己解決。itemのヘッダファイルの宣言がQStringになってた。
12 : winで5.0.2 64bitビルドしてみた人いる? 途中で失敗するんだけど俺だけ?
13 : winで5.0.2 64bitビルドしてみた人いる? 途中で失敗するんだけど俺だけ?
14 : msvc2010だけど、 32,x64,shared,staticのビルド成功している
15 : >>14 ありがとう http://qt-project.org/wiki/Building_Qt_5_from_Git これの通りにやれば大丈夫なんだよね? なにか気をつけることってあるかな?
16 : てか5.0.2は64bit版置いてあるけど、知っててあえてビルドしてるのかな 俺はopengl版でもQtGUIとglewが同時にインクルードできないことに気づいてまた4.8.4に戻った
17 : >>16 うん、32・64bit両方欲しいの
18 : あー、win 7以前で vs2012が入れられないとかの事情か 雑談ごめん
19 : あらためて>>15 読んだ。ビルドできたりできなかったりは jomの影響もあるんだな。インストールしたの忘れてたよ。 MSVC2010のばあい、5.0.2はSDKのインストールなしでビルドできた。
20 : はじめて4.8.4のビルド成功した記念 Windows7, MSVC2010, 64bit 4.8.4 jomあると失敗、SDK必要 5.0.2 jomなし、SDK不要
21 : Qtを自力でビルドできるなんて凄いですね
22 : Qt様〜
23 : Qtサイキョ
24 : Qtおよび、C++初心者です。 下記URLのサンプルコードを使用して、TCP/IPでの相互通信を行いたいのですが、 ビルドに失敗してしまいます。 memotiyou.blogspot.jp/2012/02/qt-c-tcp_3936.html 「mainwindow.h」に「#include <QTcpServer>」を追加して、 「エラー: 'QTcpServer' does not name a type」は解決でしたのですが、 「エラー: 'Request' does not name a type」の解決方法が分かりません。 どこを直せば良いでしょうか?ご教示願います。 環境は、Windows 7 64Bit。Qtのバージョンは5.0.2です。 よろしくお願い致します。
25 : class Request; でも追加しておけば。。
26 : よくわからんけどURLが開けなかった
27 : >また.proファイルに QT += network を必ず追加してください。 これちゃんとやった?
28 : 皆さん、レスありがとうございます。 >>25 今、開発環境が手元にないのですが、その方法で通りましたか? >>26 ttp://memotiyou.blogspot.jp/2012/02/qt-c-tcp_3936.html です。 リンク規制が掛かってたので、省略しました。 >>27 QT += networkは追加済みですが、前述のエラーが発生します。 話題がそれますが、いくつかサンプルコードを試した中で、 Qt4.8系とQt5.0系で互換性が無いものがありました。 バージョンとしては、4.8系がメジャーなのでしょうか?
29 : 5は怖いから4.8使ってる
30 : >>28 メジャーバージョンが上がるとソースコード互換性はなくなります。 クラスなくなったのを除けば、たいていは両方で動くように書き分けるのは難しくはないです。 でもウィジェットは5.0は不安定で動きが間違っているのが目立つので、4.8の方が安心して使えます。 QMLを使うなら5の方がよいけれど、ウィジェットを使うなら5.2くらいになるまでは4.8の方がよいでしょうね。
31 : >>24 Qt4でビルドできるようにしてからQt5でビルドできるようにしてみました。 QT += widgetsを.proに追加するだけでQt5でビルドできます。
32 : A
33 : レスありがとうございます。 >>30 やはり互換性が無いのですね... 開発環境を4.8系、5.0系の両方を入れ、動作確認できるようにしたいと思います。 また、実際にアプリケーションを作成する際にはQML、ウィジェットのどちらを採用するかによって バージョンを使い分けたいと思います。 >>31 取り急ぎ、Qt5.0.2での確認ですが、QT += widgetsを追加しても、 Requestでのエラーは回避できませんでした。 >Qt4でビルドできるようにしてからQt5でビルドできるようにしてみました。 というのは、他にも修正が必要なのでしょうか? 可能であれば、プロジェクトをUpして頂けると幸いです。
34 : >>33 Requestは自分で作るんだよ リンク先の最初の方に載ってるじゃないか
35 : >>33 ウィジェットは、ソースコードで#ifdefで書き分けて、.proもバージョンで書き分ければ、 ほとんどをQt4とQt5の両方をひとつのソースコードにできます。 QMLはそういう書き分けがまったくできないという欠点があります。 importのバージン指定もまるっきり役に立たない。
36 : レスありがとうございます。 度々、申し訳ないです。 >>34 Requestクラスは作成してありますが、ビルド時にmainwindow.hでエラーが出ます。 当方のプロジェクトファイルをUpしました。 ttp://www4.puny.jp/uploader2/download/1367585696.zip Pass:Qt >>35 解説ありがとうございます。QMLにはそういったデメリットがあるのですね... 私はQtおよびC++での開発自体、初心者ですので、QMLの使用は 今後の課題にしたいと思います。
37 : >>36 mainwindow.hでrequest.hをインクルードすればビルドできますよ。 QML使うならQt5を使った方がいいから書き分けられなくても実際にはデメリットにならないです。
38 : >>37 ありがとうございます! ビルドおよび動作確認できました(Qt5.0.2) 大変、お騒がせいたしました。 ひとまず開発は5.0系で行い、サンプルコードを試す環境として4.8系も用意しておきたいと思います。
39 : QTで作ったウィンドウをリサイズして、その終了時にイベント拾いたいのだけど、 なんかいい方法ないかな? リサイズ途中で毎回イベント拾うと処理が重くて…。
40 : tes
41 : マウスドラッグだったらボタンを離した(押してない)時だけ処理するとか
42 : C++及びQt初心者ですが、 QGraphicsItemで円を描画できるようなものはありますか?
43 : >>42 QGraphicsEllipseItem
44 : >>43 ありがとうございます。
45 : QtおよびLinux初心者です。 Qt5.0でタッチパネルで操作するアプリケーション(ウィジェット)を作成したいのですが、 Qt5.0に対応したQt/Embeddedはリリースされていないのでしょうか? LinuxがインストールされたBOX PCに4.3インチLCDを接続し、アプリケーションを表示します。 知識が乏しく申し訳ないのですが、Qt/Embeddedは開発環境とターゲットの どちらに必要なものなのでしょうか? 宜しくお願い致します。
46 : Macで日本語入力が可能になりそう!Windows爆死www Linux憤死wwwwwwwwwwwwwwwww http://engawa.2ch.net/test/read.cgi/poverty/1368116873/
47 : >>45 組み込みよく知らないけど、誰もレスしないのでとりあえず ・Qt for Embedded linux の Qt5版はいつリリースされるのか 他のプラットフォームからwebkit外して自分でビルドしてって書いてあった http://qt-project.org/forums/viewthread/23007 ・とりあえずここ読まないと始まらないと思われ http://qt-project.org/doc/qt-4.8/qt-embedded-linux.html
48 : >>45 Qt5.0そのままで、クロス環境でビルドすれば、組込みLinuxで使えてタッチパネルを使えます。 Qt5ではQt/Embeddedに分ける必要がないので、Qt5に対応したQt/Embeddedはリリースされません。 マルチタッチもというならば、Qt側ドライバを作る必要があることが多いです。 WebKit外す必要はありません。
49 : >>47 >とりあえずここ読まないと始まらないと思われ Qt5はそこを読んでも役に立たないですよ。
50 : >>49 あ、そうなんですかども Qt5では専用の仕組み(QWSサーバがどうとか?)がなくなったってことすかね
51 : >>50 なくてよいようになりました。
52 : >>47-51 遅くなりましたが、みなさんレスありがとうございます。 自分で調べた限りでは「Qt5.0でのEmbedded」に関する情報が得られなかったので、大変参考になりました。 マルチタッチは必要としておりませんので、特に気にせずクロス環境でビルドしたいと思います。 テストできる環境が整い次第、実験したいと思います。 ありがとうございました!
53 : Qfileでファイルの読み込みをしているけれど、 Linuxで動くコードがOSX(山ライオン)に持ってゆくとファイルが読めず、アプリが強制終了する。 そんな目にあわれた方いませんか。 俺のバグかQtのバグかわからない。Qtは4.8.5から5.02まで試したが同じ挙動ですた。
54 : 簡単な再現コードでもあれば誰か反応すると思うけどそれだけじゃなんとも
55 : Qt creator 2.7.0でc++ソース内で日本語を使用するとビルドが通りません。 utf8では駄目なんでしょうか?
56 : コンパイラはなに使ってんだよカス
57 : Qt4か5かも書けよカス
58 : ググれよカス
59 : >>54 こんなソースです。 QFile Data("Data.bin"); //set data file Data.open(QIODevice::ReadOnly); //file open HexData = Data.readAll(); //Read all data to Hex Data.close(); Ubuntu Linux では動きますたがOSXだとファイルが読み出せないようです。
60 : >>59 openの返り値は?
61 : OSXだと-1が返ってきます。 ファイルのパーミッションも見ましたが、 読み取り可能になっていますた。
62 : 置換ミスったが元に戻すことできねえオワタ
63 : >>61 openの後でQFile::errorstring()を見れば open失敗の原因が分かるかも
64 : Qt for Tizen来たな
65 : Qt4.8.4のminGWですが、Qtカスタムデザイナウィジェットで作成したウィジェットをQtcreatorのウィジェットボックスに表示させるにはどうすればいいてすか? ビルドでできた.dllと.aをQt4.8.4pluginsdesingerに入れてみましたがでませんでした。
66 : Qt Creatorをビルドしたコンパイラとカスタムウィジェットのコンパイラを合わせる
67 : >>65 (qtcreator)/bin/designer にも出来たdllを入れる。 あと,入れるdllはリリースビルドしたものじゃないとダメ。
68 : >Qt for Tizen来たな 誰も待ってないのに
69 : >>66 >>67 ありがとうございます。 コンパイラを変えてdllも置いてみたのですができませんでした……。
70 : ここはWindowsでQt使ってる奴等ばかりなのだろうけどQtの未来としては Linuxベースでスマホ分野の Tizen や Ubuntu や Android ports は非常に重要
71 : Tizenはどうかねと思うな。
72 : >>69 それは多分、どこか作り方が間違ってる。 ちょっとでも違うと表示されなくなるんで、以前苦労した覚えがあるよ。 domXml() の中身とか、良くチェックした方がいいと思う。
73 : >>72 そうだったのですか……確かめてみます。 ありがとうございます。
74 : >>73 ビルド済みのバイナリは使わずに、QtとQt Creatorをソースコードからビルドすれば、そういうことに悩まなくてすみますよ。
75 : >>74 それはカスタムウィジットをウィジットボックスに表示させることと無関係だろ?
76 : >>75 releaseとdebug、コンパイラを合わせるということができるから関係あり。
77 : 無理ヤリくさいこじつけ。 「ソースからビルドしろ」と書いてみたかっただけ。
78 : >>77 違うよ。
79 : そろそろmocなしでも使えるようになって欲しい
80 : http://qt-project.org/ を開くと Error 503 Service Unavailable になってしまうのはなぜだろう。
81 : [Interest] qt-project.org web failing? http://lists.qt-project.org/pipermail/interest/2013-May/007319.html
82 : Windowsですが、小ウィンドウを親ウィンドウと連動して動くように開くにはどうしたらいいですか? childwindow = new ChildWindow(parentwindow); childwindow->show(); だと親ウィンドウの中に入れられてしまいます。 外に出た状態で ・親ウィンドウが動いたら子ウィンドウも連動して動く。 ・子ウィンドウは常に親ウィンドウの前面に表示(但しWindowStaysOnTopHintでは無い) にしたいです。
83 : qwebview の linkclick シグナルを <A href=javascript:open_window('foo')> というリンクをクリックした際に発火させることは可能ですか。 javascript を文字列で取得したいです。 (そこから正規表現で URL を抽出 -> ゴニョゴニョ -> new page という処理を予定) qwebsetting や setLinkDelegationPolicy は設定されています。 代用可能な方法ならなんでもいいです。 click した位置の DOM を取得とか。 よろしくお願いします。
84 : QMLはTypeScriptで作れるようにしてよ
85 : カスの単発質問ばかりで有益な情報の無いスレだな
86 : >>85 いいから質問に答えろよカス
87 : Qt SDKのダウンロードって qt-windows-opensource-1.4.0-x86-online-2013-05-30-73.exe をダウンロードすればよいんだっけか なんかサイトがかわってわかりにくくなったな
88 : メインウインドウでプロセスを生成して、ダイアログからそのプロセスへ書き込みしたいんだがどう書けばよい? MainWindow.proc -> write("Hoge"); みたいな感じで書けないかな?
89 : >>63 遅レスだがありがとう。それでQtCreatorから動かして見たらfile not found。 プログラムと同じディレクトリにデータ置いてるのになんでだろと思ったら、 OSXのプログラムの実物はその下の階層にあるんだな。 そこにデータを置いて実行したらデータ読み込んで動いたよ。 ありがとう。
90 : >>88 MainWindow().proc -> write("Hoge"); でコンパイルは通るが、実行させると、 QProcess: Destroyed while process is still running. となる。プロセス殺さずにすまないかな。
91 : 別クラスのメンバへアクセスする方法が分からないって書いた方がいいんじゃね
92 : なかなかのエスパー
93 : Visual Studio2013が出るようだけど ビルド済みの配布はどうなるんだろう
94 : それ以前に、VS2012から #pragma execution_character_set が使えなくなって、Qt5の日本語はお手上げ状態じゃね? C++11のunicodeリテラルは2013でも対応してないみたいだし
95 : Qt4でOpenGLやってみてるのだが、bindTexture()で一発でテクスチャを登録できるのはわかった。 んで、自前でglTexImage2D()とかglTexSubImage2D()をコールしてみた場合はうまくいかないのだけど、普通にできてる人いる?
96 : 馬鹿には無理
97 : 普通にやってるよ 最初GLUTやwglで動かしてたコードを後でQtWidgetで動くようにしたからgl関数しか呼んでないな
98 : >>97 徹夜でやってたらできたわ。 迷惑かけたな、失礼した。
99 : www
100read 1read
1read 100read TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▲
マルチプラットフォーム プログラミング言語 haXe (110)
CORBAなら俺に聞け (135)
自動巡回ソフトというものを作ってみたい (151)
【node.js】サーバサイドjavascript 2【Rhino】 (191)
C/C++の宿題片付けます 165代目 (293)
【PHP,Python】スクリプト,バトルロワイヤル35【Perl,Ruby】 (414)
--log9.info------------------
【Wii】イナズマイレブンストライカーズ総合スレ 17 (148)
ウイニングイレブン2013 対戦拒否推薦晒しpart3 (196)
実況パワフルプロ野球2012 パワスタ専用スレpart216 (948)
【XBOX360】 FIFA13 2ch部屋実況スレ part14 (404)
【xbox360】ウイイレ2011 オンライン (647)
【PS3】ウイイレ2013 オン晒しスレ4【写メ必須】 (390)
パワプロ2012 パワスタトレードスレ part132 (637)
【PS3】実況パワフルプロ野球2012決定版 Part6 (112)
FIFA 13 ULTIMETE TEAM 出品・トレード専用スレ (706)
パワプロ12 マイライフ46年目 (129)
サカつく ヨーロッパチャンピオンシップ105ユーロ (964)
【PS3/Vita】 MLB 13 THE SHOW 36打席目 (419)
【PS3】FIFA12 野良糞プレーヤー晒し★5【EA】 (196)
【PS3】FIFA13 ULTIMATE TEAM 転売専用スレ【XBOX】 (192)
リトルビッグプラネット カーティング【LBPK】2lap (793)
【NFS】Shift2 unleashed Lap9【XBOX360/PS3】 (666)
--log55.com------------------
詐欺について
DragonGem質問スレ PART1
ソードアート・オンラインはいつ開発される?
ZerA - IMPERAN INTRIGUE - 質問スレPart1
【障害年金】競馬伝説Live!質問スレ24【ユウエフ】
今までありがとう2(´;ω;`)ブワッ
クロスファイア CROSS FIRE質問スレPart5
おもしろいネトゲ紹介してください。