1read 100read
2013年17プログラム19: 【RAD統合環境】 Qt 総合スレ 15 【Win/Mac/Linux】 (506) TOP カテ一覧 スレ一覧 2ch元 削除依頼
相田みつを with プログラム (343)
Borland Developer Studio 2006 No.13 (290)
米国国防省の標準高等言語エイダ(Ada)を語れ! (809)
COM (386)
36歳のオッサンがC言語を始めたいのだが・・・ (971)
七行プログラミング part6 (383)

【RAD統合環境】 Qt 総合スレ 15 【Win/Mac/Linux】


1 :2013/04/19 〜 最終レス :2013/09/25
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元 削除依頼
スレを勃てるまでもないC/C++の質問はここで 21 (654)
文字コード総合スレ part8 (348)
アセンブラ初心者スレッド (439)
OpenMPプログラミング (393)
Pythonのお勉強 Part48 (644)
SDL=Simple DirectMedia Layerでゲームだ (546)
--log9.info------------------
声がキモくてしゃべるのが下手な俺と一緒にラジオ (678)
のら犬兄弟のギョーカイ時事放談 第196回 (394)
バンダイナムコライブTV 総合スレ Part.1 (232)
【大喜利】まこっさんファンクラブ8 (612)
サイクルロードレースネット配信実況スレ 9 (303)
ジョルジオラジオ (406)
スマホで配信?アホのラジオw (114)
第三回ぷよぷよ国際親善試合 日本×韓国 (実況可) (328)
熊 (142)
三戦板のねとらじスレ (128)
ひげめがねのPowderParty (123)
もっともっとI(アイ)をチョウダイよ!!! (288)
【GOgoGOGO!!】洋楽垂れ流し総合【VIviVIVIP!!】 (175)
ノリスケラジオ (ジョジョラジオ) (287)
■自治スレ Part2 (111)
もてラジ:モテないヲタの成れの果てのぶたお (531)
--log55.com------------------
【芸能】蛭子さんを超えた!? テレ東『バス旅Z』、田中要次のクズっぷりに視聴者から怒号相次ぐ
【芸能】剛力彩芽、USJを訪れるも冴えない表情に騒然「つまんなそう」「楽しそうに見えない」
【芸能】テレビから5年間干された「のん」、“令和初の天覧女優”がいよいよ本格的に復活か
【歌手】浜崎あゆみ 臨月ケア同伴していた“パパ本命バックダンサー”
【話題】STAP騒動「小保方晴子」さんの現在 都内でおくる同棲生活
元TBS枡田絵理奈、生放送中の「バスト服ずり落ち放送事故」に絶賛の嵐!
迫害される「アニメオタク」の消失と、声優の「タレント化」が進んだ理由は? ★2
【テレビ】正月三が日のCM出演本数1位はももクロ、2位にはムロツヨシが大躍進