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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
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)
 こっちはNokia社か日本の代理店(SRA社)とライセンス契約(年間30万くらい?)を結んで使います

■Qt を使って作られたソフト例

KDE、Adobe Photoshop Elements、Google Earth、Skype、DAZ Studio など
■前スレ
【RAD統合環境】 Qt 総合スレ 13 【Win/Mac/Linux】
http://toro.2ch.net/test/read.cgi/tech/1329530477/
2デフォルトの名無しさん:2012/08/13(月) 13:05:02.41
■リンク

・Qt Development Frameworks (Nokia社のQt公式サイト)
http://qt.nokia.com/title-jp

・SRA社(日本の代理店)の日本語で読める Qt 関連ドキュメント
http://www.sra.co.jp/qt/relation/index.html

・Qt Users Forum Japan
http://qtusersforum.s2.zmx.jp/forum/index.php


■ライセンス関連まとめ

各ライセンスでの自作アプリのソース公開/頒布

Qtのライセンス   アプリのライセンス     Qtの頒布/(変更部分のソース公開)
GPL           GPL(ソース公開必須)      必須
LGPL         任意(ソース公開不要)      必須
商用          任意(ソース公開不要)      不要

*: LGPLは動的リンク時

実際には他にも条件(リバースエンジニアリング関係とか)あるので、
きちんとライセンスの条文を読むこと。
3デフォルトの名無しさん:2012/08/13(月) 13:07:12.15
Windows ユーザー向け Tips
・プロジェクトのパスに日本語を入れちゃダメ
・日本語のソースコードは、MinGW版ならUTF-8、VC版ならSystem(Shift-JIS)
 プロジェクト作成後に「プロジェクト」タブの「エディタの設定」→「デフォルトの文字コード」
・デバッグ出力などが文字化けする場合、プログラムの最初で文字コード変換設定をする
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デフォルトの名無しさん:2012/08/13(月) 13:10:18.00
■Qt Creator 日本語化プロジェクト

Qt Creator を日本語化するプロジェクトです(非公式)
http://qt-creator-jp.sourceforge.jp/


■Python バインディング

PyQt4(GPL。定番)
http://www.riverbankcomputing.co.uk/software/pyqt/intro

PySide(LGPL。)
http://www.pyside.org/downloads/

ごちゃごちゃ言わず、QtQuickも使ってみてください(><;)
5デフォルトの名無しさん:2012/08/13(月) 13:15:00.18
6デフォルトの名無しさん:2012/08/13(月) 13:48:59.23
>>1
7デフォルトの名無しさん:2012/08/13(月) 13:52:20.99
8デフォルトの名無しさん:2012/08/14(火) 07:26:40.86
スマホでQt動くってのはQMLだけ?
だったらマジ糞だわ
9デフォルトの名無しさん:2012/08/14(火) 12:14:19.43
こっちにも貼っときますね。

Nokia、全Qt事業をフィンランドのDigiaに売却
http://sourceforge.jp/magazine/12/08/09/2048249
http://gihyo.jp/admin/clip/01/linux_dt/201208/13
10デフォルトの名無しさん:2012/08/16(木) 16:30:56.89
Qt 5 マダー
ちんちん
11デフォルトの名無しさん:2012/08/16(木) 21:47:54.01
Qt 5のリリースはされるとしてもクリスマス前かな。
12デフォルトの名無しさん:2012/08/16(木) 21:56:31.75
またKDEは非互換直すのに長い間グダグダになんのかな
13デフォルトの名無しさん:2012/08/16(木) 22:37:54.12
実践本に
QtConcurrent::run()で実行してるスレッドはシグナル/スロットが使えない
って書いてあるんですけど、ホント?
少なくともシグナルのemitは出来たんだけど・・・
14デフォルトの名無しさん:2012/08/18(土) 12:51:58.10
ほんと
15デフォルトの名無しさん:2012/08/18(土) 15:58:11.14
>>13
どういemitができた?
16デフォルトの名無しさん:2012/08/18(土) 17:56:20.28
デザインだけ使ってみようと思ったらインストールに10GB必要とか言われるし・・・
JavaScriptでうんたら言うけど配置しただけだとXMLがあるだけだからよう分からんが、
QMLのデザイナとコンパイラだけでいいんで1GB以下で配布してくれんかなと。
17デフォルトの名無しさん:2012/08/18(土) 18:05:21.46
ソースを自分でビルドすればいいんじゃね
18デフォルトの名無しさん:2012/08/18(土) 19:05:08.70
>>16
SDKだったらSymbianやシミュレータのような要らないのを外せば2G未満で、インストール時間も短くなる。
19デフォルトの名無しさん:2012/08/18(土) 20:12:00.54
一般のHTMLデザイナが使えるならコンパイラだけでもいいんだけど、項目名は独自だよね。

Examples¥4.7を丸ごとビルドしようとしたらエラーになるんですけどどうしたらいいですか?
mingw32/bin/ld.exe: cannot find -lpnp_basictoolsd
collect2: ld returned 1 exit status

セットアップではMinGWはチェック入ってるんですけど
ガジェットのサンプルはコンパイル通った。

すいません。ぐぐったら出てきました。
>あなたがbasictoolsプラグインを最初にコンパイルする必要があります
ttp://qt.gitorious.org/+qt-develope...ins/basictools


>>18
2GBってでかいな
と思ってインスコフォルダのサイズ見たら8.71GBだった。
ファイル数165kって俺のC:ドライブより多いやんけ。
大人しくエミュ関係削除します。
2013:2012/08/18(土) 21:51:16.09
>>15
自作の QObject 派生クラスで signal と slot を定義。
QueuedConnection で connect しておく。
QtConcurrent::run() に this とメソッドを渡して、そのメソッド内で emit。
slot がメインスレッドで実行される。
と、こんな感じ。
使い方あってますかね。。。
21デフォルトの名無しさん:2012/08/19(日) 02:29:57.59
>>20
使い方あっている。そういうのはできる。
QtConcurrent自体がシグナルとスロットを使えるようになっていないということだよ。

明示的にQueuedConnectionでconnectしなくてよい。
emitされたときに別スレッドのオブジェクトのスロット呼び出しなら、QueuedConnectionになる。
2219:2012/08/19(日) 16:09:56.13
やっぱりエラーは変わらず出ます。
でも、他のは一応コンパイルできるので問題ないです。

コンパイルUIにJavaScriptが使えるという点はいいなと思ったんだけど、
QT5ではQMLっていうシンプルなやつがメインになるらしいですね。
JavaScriptは使えなくなるのかな?
まあ、HTMLじゃなくXMLだから普通のHTMLエディタやブラウザで表示できないからあまり意味はなかったかも。

ネイティブ動作で軽いやつがよかったんだけど
OpenGL必要条件にってのは残念。
まあ、OpenGLが使えないのはもうスクラップになる頃だし問題ないのかな。

バージョン確認したらまだQT4だったから先の話か。
最終のQT4は取っておいたほうがよさそう。
23デフォルトの名無しさん:2012/08/19(日) 16:20:08.03
QWebViewで表示しているテキストをプログラム側から動的に編集させたいんですけど、
QWebViewにQTextCursorやQTextEdit::insertHTMLの代わりになるものってありますか?
24デフォルトの名無しさん:2012/08/19(日) 20:31:25.80
>>22
JavaScriptが必須になる。
Qt4はQt5リリース後にいつもの倍の2年はサポートするとDigiaが発表していた。
25デフォルトの名無しさん:2012/08/19(日) 21:40:00.53
>>23
DOM操作で編集、examples/webkitなどを。
QTextCursorやQTextEdit::insertHTMLはQtのリッチテキスト用なので、一般的なHTMLの編集には向かない。
2620:2012/08/21(火) 01:40:39.05
>>21
thx
しかし、あの文面からは
>QtConcurrent自体がシグナルとスロットを使えるようになっていないということだよ。
とは、読み取れんかった。。。
27デフォルトの名無しさん:2012/09/01(土) 00:19:23.23
ねぇねぇ、qmlでFlickableとかやると怒られるの?
28デフォルトの名無しさん:2012/09/01(土) 01:25:35.99
qmlって何?
Flickableって何?
29デフォルトの名無しさん:2012/09/04(火) 15:22:52.29
Qt 5 Betaが出たというのにこの盛り上がり!
30デフォルトの名無しさん:2012/09/04(火) 18:37:24.65
PyQtとPySideって両方残っていくのか?
31デフォルトの名無しさん:2012/09/04(火) 20:46:53.34
>>29
ついに来ましたか。でもVS用にビルドされたのはまだっぽいですね
頑張ってソースからビルドしてみます
32デフォルトの名無しさん:2012/09/05(水) 02:10:01.64
ビルドがすんなり通ればなあ
33デフォルトの名無しさん:2012/09/05(水) 02:31:53.58
4.8.3ももうすぐくるな
またビルドか
34デフォルトの名無しさん:2012/09/05(水) 07:17:18.28
>>29
QObject,QWidgetについては、びっくりするほどQt4と変化無いからな
35デフォルトの名無しさん:2012/09/05(水) 10:52:38.65
>>29
Alphaだね。Betaと呼べるレベルじゃない。

>>34
ウィジェットにはいろいろ問題があって、安定したアプリは作れない。Qt 4と動作や描画結果が違っている。
ウィジェットがまともに使えるようになるのは、5.1からの予定。

36デフォルトの名無しさん:2012/09/05(水) 11:03:35.81
そうですか
乗り換えはあと一年くらい見送りですね
37デフォルトの名無しさん:2012/09/05(水) 12:05:39.46
個人的にはQt4ちっくな使い方もできる全く別のものと思ってる
38デフォルトの名無しさん:2012/09/07(金) 05:22:41.71
>>36
ウィジェットアプリ乗り換えは、一年は待った方がいい。

>>37
小さいものやQt5でこれから作るものならそれでいい。
Qt4で作った大きなものをQt5にするのに困る。
Qt5にしないままだと半年も経てばバグ修正されなくなるし、機能追加と改良がされないので
陳腐化する。
39デフォルトの名無しさん:2012/09/14(金) 00:23:04.09
QWidgetのデストラクタってなんでvirtual付いてないの?
40デフォルトの名無しさん:2012/09/14(金) 08:25:43.98
>>39
基底クラスのQObjectのデストラクタがvirtualだから,QWidgetのデストラクタも
自動的にvirtualになる。
41デフォルトの名無しさん:2012/09/15(土) 18:51:29.82
QWebViewがデッドキャッシュを解放してくれません。
以下のコードを実行するとappendした画像サイズに応じてメモリ使用量が増え続けます。
(WinXP/7環境で確認しました。)

QWebElement element = getSomeElement();
for (i = 0; i < n; i++) {
element.appendInside(createNewImgHtmlTag());
element.firstChild().removeFromDocument();
}

createNewImgHtmlTagは呼び出すたびに異なるソースへの<img>タグを生成してQString型で返す関数です。
同じソースへのタグを生成した場合はメモリ使用量が増えないので、恐らくキャッシュが原因だと思います。
QWebSettings::setObjectCacheCapacitiesでキャッシュサイズを指定しても変化はありません。
ドキュメントをクリアしても、QWebViewをdeleteLaterしても変化はありません。
この問題を解決する方法はありますでしょうか?
42デフォルトの名無しさん:2012/09/15(土) 19:25:35.15
C++の駄目なところだよな。
43デフォルトの名無しさん:2012/09/15(土) 19:42:55.06
QTとC#ってどっちがGUIアプリ作るの簡単?
44デフォルトの名無しさん:2012/09/15(土) 20:01:49.32
Qt
45デフォルトの名無しさん:2012/09/16(日) 21:07:23.28
>>41
デッドキャッシュと言っているのは具体的にどのインスタンス?
それを特定できて言っているかな?。人の性にしているけれどアプリのバグというのもあるのだよ。
46デフォルトの名無しさん:2012/09/16(日) 21:31:29.62
テストしてみたけどこっちでも再現できたよ
47デフォルトの名無しさん:2012/09/16(日) 22:15:55.58
ぶっちゃけ、デスクトップはQt、Web系はPerlが一番心くすぐるよね?

もっといえば、MeeGoでタッチアプリも作れれば、最高だった。
48デフォルトの名無しさん:2012/09/16(日) 23:50:49.68
>41
そのコードで確保されたメモリはQWebView::setHtmlを呼び出すと解放されるから、
そもそもremoveFromDocumentではデッドキャッシュにならないんじゃないか?
ページの中身を編集しても、あくまでも同じページ扱いなんだろう

しかし、QWebViewを削除しても解放されないのはちょっと困るな
削除する前に必ずsetHtmlか何かを呼び出さないといけないようだ
本家WebKitの方では修正されてるのかな?
49デフォルトの名無しさん:2012/09/17(月) 00:11:35.73
それが仕様ならJavaScriptと相性悪そうだな
50デフォルトの名無しさん:2012/09/17(月) 05:26:41.17
>>41,48
QWebViewをdeleteしたら解放されたよ
メンバ変数でQWebElementを保持してないか?
保持してるとQWebViewをdeleteしても非ナルのまま残るぞ
51デフォルトの名無しさん:2012/09/17(月) 13:19:43.99
使い終わったポインタにはNULLを代入しておきなさいと専門の先生が逝ってた
52デフォルトの名無しさん:2012/09/17(月) 15:39:49.02
53デフォルトの名無しさん:2012/09/17(月) 15:59:14.56
グロ中尉
54デフォルトの名無しさん:2012/09/17(月) 16:18:35.45
なんでだよw
55デフォルトの名無しさん:2012/09/17(月) 21:05:03.75
>>48,50,52
レスありがとうございます。
リンク先のパッチを反映させてみたところ劇的に改善しましたが、まだ小さなゴミが残るようですね。
ただこれもsetHtmlを呼び出すときれいさっぱり消えるようですので、定期的にページをリフレッシュするようにします。
56デフォルトの名無しさん:2012/09/19(水) 01:12:08.18
>>47
MeeGoは遅くて重くて使えるものではなかったよ。
57デフォルトの名無しさん:2012/09/19(水) 14:37:33.57
質問なんですが、UbuntuソフトウェアセンターでインストールしたQtCreatorを使って開発した場合はLGPLライセンスを適用できると考えてもよろしいですか?
58デフォルトの名無しさん:2012/09/19(水) 16:03:54.95
別に何のライセンスでもいいんでない?
59デフォルトの名無しさん:2012/09/19(水) 18:08:40.36
QtCreatorでqmakeした実行ファイルをlddで見たら必要なライブラリ一覧がでるはずなんだけど
別のPCに実行ファイルを持っていってlddしたら動的実行ファイルではありませんって出て実行できない。
これってどういうこと?
ライブラリの動的リンクができてないってこと?
6059:2012/09/20(木) 19:35:54.74
59だけど32bitで開発してたのを64bit環境に持って行ってたのが原因だった
初歩的なとこだった
61デフォルトの名無しさん:2012/09/20(木) 19:57:03.54
いつのまにかQtの公式サイトがdigia仕様になってるし4.8.3も出てるじゃないか
もうこのスレの住人はQtに興味ないのか
62デフォルトの名無しさん:2012/09/20(木) 20:23:56.46
>61
63デフォルトの名無しさん:2012/09/20(木) 20:48:50.60
Qt Projectの方にbookmarkしてるに1票
64デフォルトの名無しさん:2012/09/23(日) 11:18:41.96
qglの質問はここでいいですか?
65デフォルトの名無しさん:2012/09/23(日) 12:25:16.32
qgl って何ですか?
66デフォルトの名無しさん:2012/09/24(月) 00:14:38.99
qglですよ
67デフォルトの名無しさん:2012/09/24(月) 02:57:28.93
Qt OpenGLのことならここでしてもいいけど、
可能なら本家OpenGLのスレで聞いた方が回答は期待できると思うよ
68デフォルトの名無しさん:2012/09/25(火) 19:28:46.12
質問です。QDialのプロパティでスタイルシートを設定して, QSliderと同様にハンドルを画像にしたり、
ダイアルの目盛の色を変更しようとしたのですが、背景色しかカスタマイズが無理でした。
そこでQCommonStyleをサブクラス化してカスタマイズし、setStyle()しようと思ったのですが、Qtのクラスをサブクラス化して
使用すると、自分が書いた部分のソースにもLGPLが適用されてソース公開義務が発生するという考えであってますでしょうか。
また、ソース公開が嫌な場合は、面倒ですが画像か、ペン・ブラシを使ってゴリゴリ書くしかないんでしょうか。(実は、スタイルシートで設定できるとか)
LGPL版でQt SDK 1.2.1をWindows7 64bitで使ってます。よろしくお願いします。
69デフォルトの名無しさん:2012/09/28(金) 14:14:58.82
QTimer使ってタイムアウトごとに交互に別のSLOTを呼ぶことはできますか?
ウィジェットの背景を点滅させたいのですが。
70デフォルトの名無しさん:2012/09/28(金) 15:01:21.15
QtでiOS用プログラムは開発できますか?
71デフォルトの名無しさん:2012/09/28(金) 18:06:34.30
>>69
timerEventのなかで呼び分けろカス
72デフォルトの名無しさん:2012/09/30(日) 21:04:38.01
Linux上のフレームワークでまともにリソースつっこんで開発継続してるのってAndroidくらい?
Qt Extendedってこの先生き残れるの?
73デフォルトの名無しさん:2012/09/30(日) 22:12:15.93
お前の言うフレームワークの意味が判らん
74デフォルトの名無しさん:2012/10/03(水) 17:23:55.95
>70
QMLでならなんとか。正式サポートは、来年のQt 5.1。
75デフォルトの名無しさん:2012/10/03(水) 17:25:16.10
>72
Qt Extendedはとっくになくなっている。その後継のMeeGoも瀕死状態。
76デフォルトの名無しさん:2012/10/04(木) 18:36:27.57
QNetworkReply reply = manager->get(request);
これでエラーが出るんですがどうすればいいですか?
77デフォルトの名無しさん:2012/10/04(木) 18:38:58.25
managerはQNetworkAccessManagerです
requestはQNetworkRequestでUrlを設定しています
78デフォルトの名無しさん:2012/10/04(木) 20:44:15.07
エラーの内容を貼らないと誰も答えられない
79デフォルトの名無しさん:2012/10/05(金) 02:14:28.70
× QNetworkReply reply = manager->get(request);
○ QNetworkReply *reply = manager->get(request);
80デフォルトの名無しさん:2012/10/15(月) 01:58:15.96
3ヶ月前のだけどQt開発者のブログ記事ちょっと訳しときますお
全部翻訳するのは面倒なので要点だけ

■QPointerを使い続けよう(Continue using QPointer)
http://www.macieira.org/blog/2012/07/continue-using-qpointer/

Qt5開発の初期に、我々はQPointerを廃してよりモダンなQWeakPointerに
置き換える決定を行いました。しかし、この決定はいまや覆されました。
QPointerを使っていた場所ではQPointerを使い続けてください。
QWeakPointerは、QSharedPointerとの連携以外では使わないでください。

決定までの経緯の要点
・QPointerはQt3時代の古い実装を引きずっていて、非常に遅かった
・Qt4.5で登場したQWeakPointerは速く効率的な実装だったので、
 QSharedPointerに対応する弱参照という本来の役割だけでなく、
 QObjectへの弱参照であるQPointerの代替との役割も担えるようにした
・しかし去年の11月にある開発者が、QPointerの内部をQWeakPointerで実装しなおした
・さらに、実際にQt5で使われているQPointerをQWeakPointerにリプレースしようと
 したところ、非常に膨大な作業量が発生することがわかった

■まとめ
すなわち、あなたはQPointerを使い続けるべきです。もしあなたがQt4を使っているなら
残念ながら実装の高速化は期待できませんが、少なくともクリーンなコードではあります。
QWeakPointer::data() は非推奨となるので、使ってはいけません。

Qtのスマートポインタは今では下記のようにグループ分けされます。
・共有データ:QSharedDataPointer, QExplicitlySharedDataPointer("侵入的ポインタ"として知られる)
・共有ポインタ:QSharedPointer, QWeakPointer(C++11のstd::shared_ptrに相当)
・スコープドポインタ:QScopedPointer, QScopedPointerArray(RAIIで使われる)
・QObjectトラッキング:QPointer(QObjectインスタンスのライフタイムを監視する)
81デフォルトの名無しさん:2012/10/15(月) 02:42:25.39
>・しかし去年の11月にある開発者が、QPointerの内部をQWeakPointerで実装しなおした

なんだこれ
82デフォルトの名無しさん:2012/10/15(月) 07:21:04.62
iOS/Androidで本当に動くようになるんだろうか心配だ
83デフォルトの名無しさん:2012/10/15(月) 07:49:05.65
昨日、Windows に Android 用 Qt 開発環境の Necessitas をインストールしてみたよ。
http://sourceforge.jp/projects/sfnet_necessitas/
途中、いろいろハマったけど、最終的にはアプリがビルド出来て、実機で動作させることが出来た。
まだいろいろな機能は試してないし、問題もありそうだけど、
Qt で書いたプログラムがちゃんと動作したのは感激だった。
84デフォルトの名無しさん:2012/10/16(火) 06:47:16.16
Androidアプリはネイティブで動くの?
それとも仮想マシン上?
85デフォルトの名無しさん:2012/10/16(火) 07:39:19.69
NDK使ってるから、ネイティブで動いているんだと思う
86デフォルトの名無しさん:2012/10/16(火) 14:17:39.99
Necessitasはβ1になったばっかりだからやるならちょうどいいかもよ
87デフォルトの名無しさん:2012/10/16(火) 16:31:49.75
ライセンスはどう?
LGPLならAndroidの場合apkにパックされて配布されるから、LGPLに従ってソース公開しないとダメなのかな?
88デフォルトの名無しさん:2012/10/16(火) 18:58:53.36
http://sourceforge.net/p/necessitas/wiki/Necessitas%20licensing%20policy/
によるとQtライセンスに準じてNecessitasでの追加部分はBSDライセンスってことみたい。
フリーソフトではなくてもMinistroサービスを自由に使えると強調されているのでそこがミソなんだろう。
89デフォルトの名無しさん:2012/10/16(火) 20:12:38.99
ありがとう。
ということはやっぱりLGPLかぁ。
90デフォルトの名無しさん:2012/10/17(水) 10:55:05.24
ひとまずiOSに対応しないと始まらない
91デフォルトの名無しさん:2012/10/17(水) 15:21:26.34
>>87
LGPLなQt library部分は別パッケージでインストールされて、実行時に
アプリケーションから動的リンクされるよ
92デフォルトの名無しさん:2012/10/17(水) 15:25:14.07
iOSとAndroidへの対応が生命線だと思うんだが、なかなかだな…
93デフォルトの名無しさん:2012/10/17(水) 15:39:30.73
モバイルへの対応は所詮客寄せパンダ
Qtはデスクトップあっての物種だよ
Qt5でデスクトップでも将来性を示すのが最優先だろう
94デフォルトの名無しさん:2012/10/17(水) 18:35:54.95
デスクトップでQtを積極的に用いる必然性がない
cadとブラウザ、photoshopぐらいしか思い浮かばない
どこの市場でQtが採用される需要があるんだ?
スマホ対応されてやっと触ろうって気になる程度だよ
95デフォルトの名無しさん:2012/10/17(水) 18:46:38.04
>>91
おー、サンキュー!
ライセンスがクリアできるならちょっと挑戦してみようかな。
96デフォルトの名無しさん:2012/10/17(水) 19:09:17.31
学生の頃はqtやc++がプロフェッショナルのための道具だと思っていたが、
実際に社会へ出てみると何処で使われているのか非常に悩ましい
97デフォルトの名無しさん:2012/10/17(水) 19:27:40.11
デスクトップでクロスプラットフォームっていうのがそもそも微妙なんだよな
Mac使ってるのはWinに比べりゃ無視でくるほど少数のカルトの教徒しかいないし
LinuxやUnixをデスクトップで使ってるのなんて、それこそ中二病こじらせたようなのしかいないから
98デフォルトの名無しさん:2012/10/17(水) 20:30:24.57
>>97
お、おう…そうですね(棒)。
99デフォルトの名無しさん:2012/10/17(水) 20:43:25.16
今度の私の仕事は、設計の面子にはLinuxで、オペレータにはWindowsでってことで、Qtになったよ。
まぁ、ジャンル自体がニッチなんだけどね。
100デフォルトの名無しさん:2012/10/17(水) 20:47:05.21
かなり前の話しだが、
・組み込み
・リアルタイムlinux
・GUIが必要
って事でQt使う案件に少し関わった

ただ、その案件で何故この組み合わせになったのかは良く分からない
別にlinuxである必要は無かったし、リアルタイム性を活かす処理なんて無かった…
そこでwindowsへ移植でもするなら意味はあったんだろうな
101デフォルトの名無しさん:2012/10/17(水) 21:18:43.83
モバイルでもUNIXでも、クロスプラットフォームであること自体が判断基準になることってあんまり無いんだよね
実際にQt採用してるソフトウェアも別の環境では別のフレームワーク使ってるのが多い
結局重要なのはどの環境に対応してるかじゃなくて個々の環境での性能でしょ
だからiOS/Androidに対応したところで、これまで培ってきたQt(デスクトップ)の評価は上がりも下がりもしないと思うんだ
もちろん既にQtに染まってる俺らには嬉しいことだけどね
102デフォルトの名無しさん:2012/10/17(水) 21:28:42.01
てか、昨今のスマホ事情はバッテリー足りねーからネイティブアプリ作れなんて
クレームばっかなんだし、スマホでこそ、c++とqtの本領が発揮される場所じゃないんだろうか?
103デフォルトの名無しさん:2012/10/17(水) 21:37:39.54
iOS/Android対応でもQMLだけだったら
がっかりだよね
104デフォルトの名無しさん:2012/10/17(水) 21:50:38.98
本流のQtとまぜこぜにされると、デスクトップがモバイルに引っ張られて
ショボくなりそうでいやだけど、今みたいに別プロダクトになってるなら何も問題ないな
105デフォルトの名無しさん:2012/10/17(水) 22:30:28.43
Necessitasの作者はQt5への移植には興味ないみたいなこと言ってたな
今のところQt4以外では考えていないと
106デフォルトの名無しさん:2012/10/17(水) 23:09:40.65
iOSに対応してもダイナミックリンクできないから、ソース公開したくなければ
有料版になるね。値段はどれくらいだろう?

>>97
カルトと言われりゃそれまでだけど、俺みたいに自分で使うために作ったMac用の
ソフトのWin版を公開してる人間もいるから、MacエンジニアがWinユーザに貢献で
きるって利点もある。
107デフォルトの名無しさん:2012/10/18(木) 00:45:57.68
>>106
LGPLなのでソース公開義務なし
108デフォルトの名無しさん:2012/10/18(木) 17:04:39.71
>>106
> iOSに対応してもダイナミックリンクできないから、
iOS に対応すると何故ダイナミックリンクできなくなるの?
iOS ってダイナミックリンクサポートしてないの?
109デフォルトの名無しさん:2012/10/18(木) 18:14:19.74
iOS SDK がダイナミックリンクに対応してないんじゃなかったかな?
110デフォルトの名無しさん:2012/10/18(木) 20:59:44.60
そうそう、iOS用にビルドするには静的リンクして実行形式にするしかない

んで、単純に考えればアプリはLGPLの派生物になって
配布するならユーザーにソース公開義務があると思うんだけど
v2.1の範囲なら例外事項を満たせば大丈夫とか色々議論されてて結局よくわからん
111デフォルトの名無しさん:2012/10/18(木) 21:31:44.26
Android版は、QtLibが別パッケージで、アプリケーションはそのライブラリの有無を確認して、
無ければライブラリーのインストールを促し、有れば動的リンクして実行という形式だから、
リバースエンジニアリング条項さえクリアできればライセンス的にはクリーン。
ただ、良くも悪くもGUIがデスクトップ版と同じだから、タッチパネルで使い易いとは言い難い。
112デフォルトの名無しさん:2012/10/18(木) 23:21:26.93
つ「QML」
113デフォルトの名無しさん:2012/10/19(金) 12:50:26.77
>>110
要求されるまでは公開しなくていい
大抵のユーザーはわざわざ公開要求しない
ウィルスが流行れば別かも知れない
114デフォルトの名無しさん:2012/10/19(金) 15:24:25.18
へーiOSってそうなんだはじめて知った
DLL Hell避けるためなのかな
115デフォルトの名無しさん:2012/10/19(金) 17:41:59.10
いつになったら、企業はQtを採用してくれるにゃ?Qtで給料もらいたいわ。
116デフォルトの名無しさん:2012/10/19(金) 19:52:20.41
>>110
派生物は、ソースを改変した場合を指す
ソース公開義務なし
117デフォルトの名無しさん:2012/10/19(金) 21:00:31.30
>>110
>んで、単純に考えればアプリはLGPLの派生物になって
>配布するならユーザーにソース公開義務があると思うんだけど
違う。and/orだから、リンクに必要なバイナリとソースコードの両方、あるいはどちらかの公開義務がある。
WikipediaのLGPL翻訳は間違いではないが分かりやすく正確に翻訳していない。
原文をしっかり読もう。
118デフォルトの名無しさん:2012/10/20(土) 07:45:30.34
LGPLはスタティックリンクでもソースの公開義務はない。
ただし、第三者がQt自体を変更して同じ実行ファイルを作成できなければいけない。
要するに要求があった場合はリンク直前のオブジェクトファイルを提出する必要はある。
119デフォルトの名無しさん:2012/10/20(土) 19:37:22.76
>>115
受託だから詳細書けないけど、うちで Qt 使ってる案件あるぞ。
120デフォルトの名無しさん:2012/10/20(土) 20:43:01.07
>>115
ウチも使ってるよ。計測器をPCから制御するアプリ。
121デフォルトの名無しさん:2012/10/22(月) 11:21:40.72
QTreeView に QDirModel をセットしてソートするとめちゃくちゃ遅くなるんです
たぶんネットワークドライブを見に行ってるのが原因のようなのです
ソート時が特に遅いのですがソート時に限らなくても遅くなるきっかけがあります
ネットワークドライブがツリー上にあってそれが隠れている間はなんともないのですが
スクロール時にネットワークドライブが画面内に入ってきた瞬間にも固まります
ツリーからネットワークドライブは削除せずに
ソートやスクロール時に遅くならないようにする方法がありますか?
OS は Windows 7 です
122デフォルトの名無しさん:2012/10/22(月) 17:02:28.06
1.QThreadを使う
2.Windowsを窓から捨てる
123デフォルトの名無しさん:2012/10/22(月) 18:31:05.55
ソート時はQSortFilterProxyModelでなんとかならんかな?
124デフォルトの名無しさん:2012/10/22(月) 18:51:54.21
この行があると固まります
  // mModel->setSorting(QDir::DirsFirst | QDir::IgnoreCase | QDir::Name);
コメントにすると速くなります
(それでも「スクロール時にネットワークドライブが画面内に入ってきた瞬間にも固まります」の症状は残ります)
125デフォルトの名無しさん:2012/10/22(月) 19:02:31.51
WindowsのQDirModel/QTreeViewは
Explorerと同じコンポーネントが使われるな
XPまではまともだったけど
Vista/7でネットワークドライブのアクセスが糞になった
>122
が正解
126デフォルトの名無しさん:2012/10/22(月) 19:38:30.50
Qtの日本のグループみつけた
http://qt-project.org/groups/qt_japan
127デフォルトの名無しさん:2012/10/24(水) 09:47:50.61
QString を std::string に変換したいんだけど?
128デフォルトの名無しさん:2012/10/24(水) 11:34:06.93
QString::toStdString
129デフォルトの名無しさん:2012/10/24(水) 20:02:01.08
馬鹿には無理
130デフォルトの名無しさん:2012/10/24(水) 20:18:25.80
同意せざるを得ない
131デフォルトの名無しさん:2012/10/24(水) 20:22:27.88
QPainter::begin: Paint device returned engine == 0, type: 1

これって何が原因ですか?
132デフォルトの名無しさん:2012/10/25(木) 21:49:51.25
>>127
windowsだと落ちるぞ。
ascii()じゃないとダメだな。
133デフォルトの名無しさん:2012/10/26(金) 13:39:53.19
installEventFilter()でトラップした先のイベントハンドラに、
MousePressは来るのにMouseMoveやMouseReleaseが来ない。
setMouseTracking()を呼んでも変化ないし、なんだろ。
134デフォルトの名無しさん:2012/10/26(金) 18:41:42.55
OS は Windows 7
ソースは UTF-8 で保存
gcc でコンパイル

QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
QTextCodec::setCodecForTr(QTextCodec::codecForName("utf-8"));
QString img_out_filename(trUtf8("%1/%2").arg("path_to_home").arg("日本語.png"));
QImage img_jp(":/qrc/img_jp");
if(!img_jp.isNull()) img_jp.save(img_out_filename);

hoge.qrc には <file alias="img_jp">日本語.png</file> (これも UTF-8 で保存)

とやるとファイルが作成されて
中身はhoge.qrcで記述した日本語.pngの内容と同じものが正しく出力されるのですが
ファイル名だけ文字化けします
文字化けした文字列はコードを見ると UTF-8 で出力されているようです
たぶん img_jp.save(img_out_filename) のところで
WindowsAPI に対して unicode で保存されず
ベタに UTF-8 で保存されちゃってるのだと思いますが
どう対処するのが正しいでしょう?
135デフォルトの名無しさん:2012/10/26(金) 18:59:11.36
馬鹿には無理
136デフォルトの名無しさん:2012/10/26(金) 19:00:38.97
QString img_out_filename(trUtf8("%1/%2").arg(trUtf8("path_to_home")).arg(trUtf8("日本語.png")));
137デフォルトの名無しさん:2012/10/26(金) 19:10:56.05
>>136
出来ました
ありがとうございました

>135
知らないなら黙っててください
うざいだけです
138デフォルトの名無しさん:2012/10/26(金) 20:42:00.12
>>134
そもそもソースがUTF-8なのに
QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
なのがおかしいと思うんだが
139デフォルトの名無しさん:2012/10/26(金) 22:53:57.59
へ?
140デフォルトの名無しさん:2012/10/26(金) 23:05:30.35
QTextCodec::setCodecForCStrings()はconst char *(とQByteArrya)をQStringに変換する
Codecsを伝えるもの。
>>134 でいうと "日本語.png" がそれに相当する。
141デフォルトの名無しさん:2012/10/26(金) 23:10:00.51
trは何のためにあるの?
142デフォルトの名無しさん:2012/10/26(金) 23:13:43.02
trは文字通り翻訳(translation)の為
多国語化に使う
143デフォルトの名無しさん:2012/10/26(金) 23:20:07.34
>130
GetWindowTextA とかで取得した文字列を QString にするときは、
QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
になってた方が良くないですか?
そもそもソースが UTF-8 だと分かってるなら、
QTextCodec::setCodecForTr(QTextCodec::codecForName("utf-8"));
で、
QString img_out_filename(tr("%1/%2").arg(tr"path_to_home").arg(tr"日本語.png"));
が望ましいと思いますが。
144デフォルトの名無しさん:2012/10/26(金) 23:41:54.03
Qtはマルチプラットフォームなtool kitなのでlocaleを適切に解釈し変換する
クラスや関数があるのでそれを使うのが望ましいと思います。
145デフォルトの名無しさん:2012/10/27(土) 14:18:39.57
>3 が何か変だね
146デフォルトの名無しさん:2012/10/27(土) 14:27:35.31
QStringはwcharとmbcsが混在できてしまうのが問題なんだよな
147デフォルトの名無しさん:2012/10/28(日) 01:19:13.98
VC++でコンパイルするとソースがUTF8でもShiftJISで埋め込まれたりしてちょっと混乱するわ
正直、翻訳使わないならワイド文字列使った方が面倒がない気が

wstring cnv(const QString& s) { return s.toStdWString(); }
QString cnv(const wstring& s) { return QString::fromStdWString(s); }
QString img_out_filename(cnv(L"%1/%2").arg(cnv(L"path_to_home")).arg(cnv(L"日本語.png")));

関係ないけど、今までQt Creatorのデバッガは文字列の日本語が全部エスケープされてうざいと思ってんだが
右クリックメニューから「表示フォーマットを変更」→「すべての文字を・・・」で普通に日本語表示されるんだね
148デフォルトの名無しさん:2012/10/28(日) 03:58:04.81
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf-8")); //ソースの文字コードを直接指定("utf-8"や"Shift-JIS")
QTextCodec::setCodecForTr(QTextCodec::codecForName("utf-8")); //翻訳用マクロ tr()の文字コード

そもそもこの2つが毎回同じもの"utf-8"(ソースの文字コード)を設定するのであれば、
2つに分かれている理由はなんなんでしょうか?
別の設定をする可能性があるから分かれているということであれば、
そのようなケースの具体例はどういう時でしょうか?
149デフォルトの名無しさん:2012/10/28(日) 10:12:40.27
>>148
CStringsとTrのCodecが分かれてるのは歴史的経緯じゃなかったかな?
Qt5では、この二つが廃止されてDefaultCodecに統一されるらしい。
150デフォルトの名無しさん:2012/10/28(日) 10:24:35.12
>147
>VC++でコンパイルするとソースがUTF8でもShiftJISで埋め込まれたりしてちょっと混乱するわ

マジですか。
昔VCでQt使ってみて挫折してgccにしたらうまくいったので、
それ以来ずっとgccだったんですが、VCに戻そうかな。
っていうかgccとVCでそれぞれコンパイルするときに、
ソースのエンコードをいちいち替えないといけないって、
なんか不便だよね。
VCでUTF-8だとBOM付けなきゃいけないみたいだし、
gccでSJISオプションにして全ソースSJISにしたら、
何か負けた気分になる。
151デフォルトの名無しさん:2012/10/28(日) 10:43:46.33
いやさ
それだと何の問題があるんだよ
お前の相手してると疲れるんだよ
152デフォルトの名無しさん:2012/10/28(日) 12:22:04.14
>>144

QString QString::fromAscii ( const char * str, int size = -1 ) [static]
Returns a QString initialized with the first size characters from the string str.
If size is -1 (default), it is taken to be qstrlen(str).
Note that, despite the name, this function actually uses the codec defined by
QTextCodec::setCodecForCStrings() to convert str to Unicode.
Depending on the codec, it may not accept valid US-ASCII (ANSI X3.4-1986) input.
If no codec has been set, this function does the same as fromLatin1().
See also toAscii(), fromLatin1(), fromUtf8(), and fromLocal8Bit().

これ見る限りソースが UTF-8 で書かれているからと言って
QTextCodec::setCodecForCStrings()

QTextCodec::codecForName("utf-8")
しちゃうのはまずいんじゃないかな
QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
が望ましいというより必須じゃないかな
153デフォルトの名無しさん:2012/10/28(日) 13:26:47.30
そこはfromLocal8Bitだろ常考
154デフォルトの名無しさん:2012/10/28(日) 13:30:56.97
さあ混乱してまいりました。
155デフォルトの名無しさん:2012/10/28(日) 13:42:34.89
C++11が普及してu8文字列使えるようになるまでの我慢ですあと5年くらい
156デフォルトの名無しさん:2012/10/28(日) 13:43:04.96
移植性を考えてプログラムするならcstringsのcodecはソースコードのcodecにするしかないと思う
157デフォルトの名無しさん:2012/10/28(日) 14:00:24.14
>>150
gccよりVC++の方が断然コンパイル速いから戻すのお勧め
特にjom有効で8コアCPUとかでビルドすると本家VSで1分かかるコードが10秒かからなくて
混乱して念のためリビルドかけたりするのもよくあること
158デフォルトの名無しさん:2012/10/28(日) 17:04:53.09
>>156
でもVCだとバグるんでしょう?
159デフォルトの名無しさん:2012/10/28(日) 17:19:42.66
Windows msvc版とLinux gcc版共用のアプリをいくつか作ってるけど、バグったことは無いなぁ。
ソースコードは古いgccでも対応できるようにShift-JISにしてる。
# 古いgccはBOMを解釈しないから
160デフォルトの名無しさん:2012/10/28(日) 17:23:12.71
たしかに全部SJISにしとけばバグらないかもね
161デフォルトの名無しさん:2012/10/29(月) 01:28:07.01
QThread を継承した自分のクラスから SIGNAL を emit しても問題ないですか?
162デフォルトの名無しさん:2012/10/29(月) 02:29:12.05
GUIアプリ作りたくてQTはじめたけど、どういう勉強法したらいいかわからん。
163デフォルトの名無しさん:2012/10/29(月) 06:19:11.78
ここに書かれていることは一般的な感覚(みんながよくやる方法)と
違うことを推奨しているのですが本当なのでしょうか?
http://vivi.dyndns.org/tech/Qt/QThread.html
164デフォルトの名無しさん:2012/10/29(月) 06:57:03.91
過去スレにあったわ
>とりあえず、ここを読んでおけ
>http://labs.qt.nokia.com/2010/06/17/youre-doing-it-wrong/
コンストラクタで moveToThread(this); 書かない糞コードが多いのと
QTread を継承したクラスでは parent = 0 (省略じゃなくて固定)にしないといけないっぽい
勉強になった
165デフォルトの名無しさん:2012/10/29(月) 07:01:13.92
>>163
http://labs.qt.nokia.com/2010/06/17/youre-doing-it-wrong/
これを読んで、QThreadをstart()して、QObjectをmoveToThread()するのが正しく、
QThreadをサブクラス化するのがダメとみなしてはいけないと思います。
166デフォルトの名無しさん:2012/10/29(月) 07:05:16.37
入門Qt4プログラミングのサンプルコードが、QThreadをサブクラス化して処理を追加するようになってるのが良くないね
あれで誤解している人も結構いそう
167デフォルトの名無しさん:2012/10/29(月) 07:06:11.50
関数内でQThread::currentThreadId()を呼び出してスレッドID表示してみればどのスレッドでその関数が実行されてるかわかるよ
168デフォルトの名無しさん:2012/10/29(月) 07:47:36.96
>>166
サンプルコードはよいコードだよ。
QThreadをサブクラス化して処理を追加するのが向いている場合もあれば、moveToThread()が向いている場合もある。
169デフォルトの名無しさん:2012/10/29(月) 07:50:07.93
>168
具体的にはそれぞれどんな場合でしょうか?
ここを見ろというリンクとかありますか?
170デフォルトの名無しさん:2012/10/29(月) 08:03:10.13
>>169
マルチスレッドの基本的なことを勉強し直せ
使い方もわからず技術だけ覚えても意味ないぞ
171デフォルトの名無しさん:2012/10/29(月) 09:12:59.58
>QThreadをサブクラス化して処理を追加するのが向いている場合もあれば、moveToThread()が向いている場合もある。

つべこべ言わず具体的な例を言ってください
172デフォルトの名無しさん:2012/10/29(月) 09:49:03.51
>>170
自分が判らないからと言って相手も判らないと思い込み
論を語る基地害ってどこから湧いてくるんだろうな
173デフォルトの名無しさん:2012/10/29(月) 09:56:33.31
QThreadをサブクラス化して処理を追加する方法というのは、
メインスレッドとの signal/slot 通信はどうするんだ?

通信するんであれば、moveToThread()で自分自身を自分のスレッドに
移さないといけない。それが美しくないので、QObject 派生クラスを作って
別スレッドにmoveToThread()した方がいいと言うんじゃないのか?
174デフォルトの名無しさん:2012/10/29(月) 10:00:01.73
シグナル・スロット通信に関係なく、moveToThred()していない、CThread派生クラスオブジェクトの
メソッドを単にコールするとメインスレッドのコンテキストで実行されるので、
結局moveToThred()するのは必須
175デフォルトの名無しさん:2012/10/29(月) 10:00:58.98
run部分に処理を全部書けば、moveToThred()しなくてもいいけどな
176デフォルトの名無しさん:2012/10/29(月) 10:03:12.70
>>167
ありがとうございます
moveToThread(); しなかったときは
main も thread も同じ threadid でした
あと
http://vivi.dyndns.org/tech/Qt/QThread.html

hoge->moveToThread(hoge);
が「みっともない」みたいな言いがかりだと思いましたが
QThread を継承したクラス側のコンストラクタで
moveToThread(this); すれば綺麗なコードになると思います。
なので
http://labs.qt.nokia.com/2010/06/17/youre-doing-it-wrong/
が正しいとすると
>これを読んで、QThreadをstart()して、QObjectをmoveToThread()するのが正しく、
で問題なさそうです
177デフォルトの名無しさん:2012/10/29(月) 10:03:12.84
>>163
> ここに書かれていることは一般的な感覚(みんながよくやる方法)と
> 違うことを推奨しているのですが本当なのでしょうか?
おまえの言う「一般的な感覚(みんながよくやる方法)」とは
具体的にはどんな方法なんだ?
178デフォルトの名無しさん:2012/10/29(月) 10:18:20.90
おとりこみ中のところすみません。
qDebug() で改行させない方法はどうするのでしょうか?
179デフォルトの名無しさん:2012/10/29(月) 10:18:39.82
小便臭いガキが沸いてるな
くだらない質問する前にQTreadのソース読めよカス
180デフォルトの名無しさん:2012/10/29(月) 10:22:13.90
QFuture使ってる人少ないのかな?
マルチスレッドの用途によるけど、すごい簡単で使いやすいよ
181180:2012/10/29(月) 10:24:09.39
失礼w 
QtConcurrentというべきだた
182デフォルトの名無しさん:2012/10/29(月) 10:24:34.96
>>172
鏡に向かって喋るなよw
183133:2012/10/29(月) 11:44:33.47
>133はinstallEventFilter()で委譲するオブジェクトがQGraphicsViewだったのが原因だった模様。
そのViewに紐付けているQGraphicsSceneのinstallEventFilter()を呼んで解決しましたとさ。

エンコーディングの問題はめんどくさいなぁ。取り敢えず、ファイル名の仕様をascii限定にしておくか。
184デフォルトの名無しさん:2012/10/29(月) 11:45:57.72
馬鹿には無理
185デフォルトの名無しさん:2012/10/29(月) 12:02:12.72
・「みんなの意見」「他の人もそう思ってる」など、自分の意見なのに他人もそう思ってると力説する人
 他人が自分とは違うという事実が受け入れられない人です。自分の意見が通らないとコピペや荒らしなど
 無茶をし始めるので見かけたら放置してください。

・根拠もなく、他人を見下したり、差別したりする人、自分で自分を褒める人
 他人を見下すことで自分を慰めようとする人です。実生活で他人に褒めてもらう機会がないが
 プライドだけは高いとか、匿名の掲示板しか話し相手のいない人です。可哀想なので放置してください。

・自分の感情だけ書く人
「〜〜がムカツク」とか自分の感情を掲示板に書くことに意味があると思っている人です。
何がどのようにムカツクのか論理的に書いてあれば、他人が読んでも意味のある文章になりますが、
そういった論理的思考の出来ない人です。もうちょっと賢くなるまでは放置してあげてください。
186デフォルトの名無しさん:2012/10/29(月) 13:13:57.47
このスレでの「馬鹿には無理」は
「ごめんね、馬鹿な僕には返答が無理なので誰かよろしく」って意味なんだが
187デフォルトの名無しさん:2012/10/29(月) 14:55:49.41
おまいら野良ブログ見てコピペばかりしてると
技術は身に付いても知識は身に付かないぞ
188176:2012/10/29(月) 15:01:43.20
訂正です
>moveToThread(); しなかったときは
>main も thread も同じ threadid でした
これは私の勘違いです
QThread を継承したクラスのインスタンスでは
コンストラクタの moveToThread(this) を
明示的に書かなくても run() メソッドは
違う threadid で実行されていました
なので
http://blog.qt.digia.com/2010/06/17/youre-doing-it-wrong/
に書かれている内容はちょっとへんです

(OS は Windows 7 です)
189デフォルトの名無しさん:2012/10/29(月) 15:07:53.86
>180
そこはdoWorkは使ってるがrunは使ってないぞ.
190デフォルトの名無しさん:2012/10/29(月) 15:09:31.48
>技術は身に付いても知識は身に付かないぞ

そういうひとはそれでいいんじゃないの?
技術は何かを成し得るが知識そのものは何事をも成し得ない。
191デフォルトの名無しさん:2012/10/29(月) 15:21:26.87
>>188
イベントループがあるかないかが問題。
192デフォルトの名無しさん:2012/10/29(月) 15:35:05.49
>>188
だからソース嫁って
ここはお前の学習帳か?
193デフォルトの名無しさん:2012/10/29(月) 16:00:39.17
>>188 もちつけ
http://doc.qt.digia.com/4.7/qobject.html#moveToThread
void QObject::moveToThread ( QThread * targetThread )
Changes the thread affinity for this object and its children.
The object cannot be moved if it has a parent. Event processing will continue in the targetThread.

To move an object to the main thread, use QApplication::instance() to retrieve a pointer to the current application,
and then use QApplication::thread() to retrieve the thread in which the application lives. For example:

 myObject->moveToThread(QApplication::instance()->thread());

If targetThread is zero, all event processing for this object and its children stops.

Note that all active timers for the object will be reset.
The timers are first stopped in the current thread and restarted (with the same interval) in the targetThread.
As a result, constantly moving an object between threads can postpone timer events indefinitely.

A QEvent::ThreadChange event is sent to this object just before the thread affinity is changed.
You can handle this event to perform any special processing.
Note that any new events that are posted to this object will be handled in the targetThread.

Warning: This function is not thread-safe; the current thread must be same as the current thread affinity.
In other words, this function can only "push" an object from the current thread to another thread,
it cannot "pull" an object from any arbitrary thread to the current thread.

See also thread().
194デフォルトの名無しさん:2012/10/29(月) 16:20:37.50
> http://vivi.dyndns.org/tech/Qt/QThread.html
> 長時間処理を行う場合、QThread 派生クラスを定義し、そこで処理をするのではなく、
> 処理を行う QObject 派生クラスを定義し、moveToThread() により
> 実行コンテキストを別スレッドに移すようにするのが本筋だぞ。

間違いではないが、QThreadの派生クラスを定義してはいけない訳ではない。
問題の本質は、run()(実質exec())以外の場所で長時間ループするために、
本来のイベントループ(exec())が実行出来なくなってしまうこと。
あるいは、QObjectの派生クラスを定義することで、run()(exec())自体がないこと。
要するに、QThreadを継承して、run()以外の場所でSLOTを定義すれば良いだけのこと。
195デフォルトの名無しさん:2012/10/29(月) 16:26:32.25
俗に言う無能な働き者ってやつか。
ゆっくり寝て頭冷やせ。
196デフォルトの名無しさん:2012/10/29(月) 16:29:34.63
二度と起きないでくれ。
197デフォルトの名無しさん:2012/10/29(月) 16:35:11.86
別スレッドのコンテキストで実行されるというのと
イベント処理が別スレッドで行われるというのを
読み違えてる気がするな
198デフォルトの名無しさん:2012/10/29(月) 18:26:18.67
>>121
QDirModelはobsoleteになってるよ。
QFileSystemModelを使った方が良いよ。
199デフォルトの名無しさん:2012/10/29(月) 18:59:52.22
C++ Qt 49 QFileSystemModel a simple file explorer example
ttp://www.youtube.com/watch?v=92biLZST6Vg
C++ Qt 48 QDirModel and QTreeView
ttp://www.youtube.com/watch?v=M0PZDrDwdHM
200デフォルトの名無しさん:2012/10/29(月) 19:02:33.13
>>171
>つべこべ言わず具体的な例を言ってください
君はスレッドを使うべきでない程度の技術力しかないということを言い切っている。
201デフォルトの名無しさん:2012/10/29(月) 19:05:12.81
>>172
>自分が判らないからと言って相手も判らないと思い込み
>論を語る基地害ってどこから湧いてくるんだろうな
>>170 の言っていることは正しい、マルチスレッドが分かっていれば、
>>173 のようにそれが美しくないというようないい加減なことは言わない。
202デフォルトの名無しさん:2012/10/29(月) 19:07:03.69
>>174
>メソッドを単にコールするとメインスレッドのコンテキストで実行されるので、
>結局moveToThred()するのは必須
違う、moveToThread()はどのQThreadのイベントループでイベントを受けるようにするというだけで、
コンテキストで実行されるというのではない。
203デフォルトの名無しさん:2012/10/29(月) 19:12:13.87
>>176
>QThread を継承したクラス側のコンストラクタで
>moveToThread(this); すれば綺麗なコードになると思います。
奇麗かどうかではない。moteToThread()をコンストラクタで呼ぶというのは、何をしているか分かっているのか。

>これを読んで、QThreadをstart()して、QObjectをmoveToThread()するのが正しく、 で問題なさそうです
moveToThread()を呼べば正しいのではない。

こんな程度の理解歯科で機内ら那波、スレッドを使ってはいけない。
204デフォルトの名無しさん:2012/10/29(月) 20:28:21.71
Threading Basics
http://doc.qt.digia.com/qt/thread-basics.html#qobject-and-threads

Most QThread methods are the thread's control interface and are meant to be called from the old thread.
Do not move this interface to the newly created thread using moveToThread();
i.e., calling moveToThread(this) is regarded as bad practice.
205デフォルトの名無しさん:2012/10/29(月) 20:33:35.95
void QObject::moveToThread ( QThread * targetThread )
Changes the thread affinity for this object and its children.
The object cannot be moved if it has a parent. Event processing will continue in the targetThread.

これで決定じゃね?
206デフォルトの名無しさん:2012/10/29(月) 20:37:19.48
>>194
>要するに、QThreadを継承して、run()以外の場所でSLOTを定義すれば良いだけのこと。

これやってみたらうまくいきました
ありがとうございました
207デフォルトの名無しさん:2012/10/29(月) 20:39:58.19
208デフォルトの名無しさん:2012/10/29(月) 20:42:29.34
209デフォルトの名無しさん:2012/10/29(月) 20:46:23.37
210デフォルトの名無しさん:2012/10/29(月) 20:48:51.88
http://vivi.dyndns.org/tech/Qt/QThread.html
m_myThread = new MyThread;
m_myThread->moveToThread(m_myThread); // 所有権を m_myThread スレッドに移動
connect(m_doWorkButton, SIGNAL(clicked()), m_myThread, SLOT(doWork()));
m_myThread->start();

このひとは何でこんな書き方したのかな?
211163:2012/10/29(月) 21:00:16.87
1. subclass QThread
2. add signals and slots to do work
3. test code, see that the slots aren’t called “from the right thread”
4. ask google, find moveToThread(this); and comments that “it seems to work when I add this” ←今ココ
ですね
解脱まであと少しです
212デフォルトの名無しさん:2012/10/29(月) 22:17:32.63
基本がわかってないんだろ
だからひたすらアホみたいな書き込みし続けてあげく逆ギレ
ガキは4bitのマシン語から勉強し直せ
213デフォルトの名無しさん:2012/10/29(月) 22:57:38.03
qmlのことも聞いていい?

workerscriptで通信を別スレッドにしたんだけど
QtCreatorから起動してウィンドウの×で終わらせると
ウィンドウ自体は居なくなるんだけど
タイミングに寄るのか、QtCreatorでは終了したことになってないことが多い
QtCreatorから終了させてあげると確実に終了する

×できっちり終わらせるにはどうすればいいんだろう?

Qt4.8.2
WinXP
です。
214デフォルトの名無しさん:2012/10/30(火) 21:34:54.76
>>163からの流れって前にもやったよな
>>165なんか全く同じ内容でレスしてるだろ
215デフォルトの名無しさん:2012/10/30(火) 21:45:27.62
結論が出ていないから同じネタが出る度に同じ人たちが同じ主張を繰り返して無限ループする
216デフォルトの名無しさん:2012/10/31(水) 01:53:01.26
過去ログ見てたかと一瞬思った…
全然詳しくないし勉強中なんだけど、
QObjectをmoveToThreadするのは、ボスワーカーモデル?みたいなのには便利なのかなと思いました

で、せっかく >>213 で新しい話題になったけど、
QML使ったこと無いから反応できない…
コード無いしなあ
217デフォルトの名無しさん:2012/10/31(水) 11:06:50.52
>>213
再現する最小限のコードを貼るとか、QtCreatorからではなくほかから起動するとどうなるか試すとか、
自分で動かんとレスはつかんよ。
218デフォルトの名無しさん:2012/10/31(水) 17:39:18.45
わろた〜〜〜〜


>Qt Japan(@qtjapan)
>Qt Labs Japan の中断に伴い、この Tweet も冬眠します。しばらくは、@qtproject @QtCommercial にて Qt の最新情報をフォローしてください。 #qtjp
219デフォルトの名無しさん:2012/10/31(水) 18:08:30.84
ワロタ、ワロタ...
220デフォルトの名無しさん:2012/10/31(水) 20:40:37.70
DigiaにはNokia時代みたく日本語でQtの情報発信できる社員いんのかな
221デフォルトの名無しさん:2012/10/31(水) 23:01:29.02
NokiaのQt関連の社員はTrolltech社から移動した人だったけど
Digiaには受け入れるだけの余裕は無いだろうしな。
日本ではSRAがどれだけフォローしてくれるか。
222デフォルトの名無しさん:2012/11/01(木) 09:55:27.90
SさんはDigiaに移るってツイートしてたような記憶がある
223デフォルトの名無しさん:2012/11/01(木) 11:02:45.26
>>Digia が Nokia より Qt の全事業を買収しました

ノキアとは一切関わりなくなったってこと?
224デフォルトの名無しさん:2012/11/01(木) 21:17:05.93
Nokiaが社長兼CEOにマイクロソフトの副社長を迎えた時から終りが始まってた
225デフォルトの名無しさん:2012/11/02(金) 03:28:04.06
>>220
OSSなGUIツール扱う層はマニュアルレベルの英語ぐらい難なく読めるだろ
226デフォルトの名無しさん:2012/11/02(金) 07:55:32.86
ノキアに買収されたおかげLGPLになったことは喜ばしい
ノキアの功績はそこ
227デフォルトの名無しさん:2012/11/03(土) 13:33:28.92
Windowsの場合、QtとMFCではどちらのほうが実行速度が速いですか?
228デフォルトの名無しさん:2012/11/03(土) 14:56:17.73
何をしたいか知らないけど
大差ないと思うよ
229227:2012/11/03(土) 16:50:19.88
>>228
ありがとうございました!
230デフォルトの名無しさん:2012/11/03(土) 19:44:12.68
>>226
NokiaがQtを潰した。
LGPLで喜んでいるのはタダで使えると思っている乞食。タダで使えるのは裏があるのだよ。
LGPLにしたのはNokiaがQtを利用するためで、Qtを広めようと言っていたのは嘘っぱちだったのは明らかだよね。
要らなくなったらさっさと切り捨てているだけさ。
231デフォルトの名無しさん:2012/11/03(土) 20:40:08.36
まあ自分で何も出来ない奴にはそうなんだろうな。
232デフォルトの名無しさん:2012/11/04(日) 03:04:51.94
自分になら何でも出来るなんて万能感は、大体、中学生ぐらいまでにしとくべき
233デフォルトの名無しさん:2012/11/04(日) 10:07:44.42
「何も出来ない」の反対が「何でも出来る」とか、中学以前の知識の人には
かける言葉もありませんわ (w
234デフォルトの名無しさん:2012/11/04(日) 10:10:31.17
将来性だけで終わっていく人間は多いからな。俺やおまえのように・・・
235デフォルトの名無しさん:2012/11/04(日) 10:41:37.95
>>233
Qt死んだ
236デフォルトの名無しさん:2012/11/04(日) 11:42:08.50
237デフォルトの名無しさん:2012/11/04(日) 11:44:52.66
238デフォルトの名無しさん:2012/11/04(日) 12:21:12.00
>>234
そもそも君は将来性すらなさそうだし…
239デフォルトの名無しさん:2012/11/04(日) 15:25:54.66
240デフォルトの名無しさん:2012/11/04(日) 18:49:20.30
とうりかかったので

QtのWebKitって、今後、更新頻度どんなかんじになりそう?
正直まったく追ってなかったんだが、
Safari for Windows がどうもディスコンになりそうな感じの中、
そういやQtからもWebKit呼んでたなと

Qtに関する知識は、trolltechの頃にちょっとさわって、以後遠巻きに見ていた程度
テンプレにあるとおり、近頃採用例はわりとみかけるようになったね。とは思ってる
241デフォルトの名無しさん:2012/11/04(日) 19:38:29.69
更新頻度は今まで通りだと思うよ
WebKit2のこともあるし止まっちゃうことはなさそうだけど、
本家WebKitに合わせてゴリゴリ更新するようになんてことはなさそう
242デフォルトの名無しさん:2012/11/05(月) 06:03:48.16
QtのWebKitといえばソースに何故か一か所だけマルチバイト文字が紛れ込んでて
修正忘れるとVisualStudioのビルドでコケるのが地味にうざい
243デフォルトの名無しさん:2012/11/05(月) 08:26:55.11
>>242
kwsk
244デフォルトの名無しさん:2012/11/05(月) 20:30:49.87
QTreeView に QFileSystemModel をセットして
setRootPath() するとめちゃくちゃ遅くなるんです
ネットワークドライブを見に行ってるのが原因なのです
ツリーからネットワークドライブは削除せずに
遅くならないようにする方法がありますか?
OS は Windows 7 です
245デフォルトの名無しさん:2012/11/06(火) 01:51:00.58
246デフォルトの名無しさん:2012/11/07(水) 12:50:17.63
>244
ありがとうございます!
あとで試してみます!!
247デフォルトの名無しさん:2012/11/07(水) 13:02:15.62
ブログ主の思考が謎
ttp://okayuclub.net/item/203
248デフォルトの名無しさん:2012/11/07(水) 17:50:42.59
test
249デフォルトの名無しさん:2012/11/08(木) 17:01:49.59
Qt Creator派?VS addin派?
250デフォルトの名無しさん:2012/11/08(木) 17:48:17.54
QtCreator派
251デフォルトの名無しさん:2012/11/08(木) 18:28:50.95
VS addin に一票
252デフォルトの名無しさん:2012/11/08(木) 18:51:22.65
なんでVisual Studio使ってるの?
今作ってるのちっちゃなだからCreatorでやっとる
253デフォルトの名無しさん:2012/11/08(木) 23:36:44.11
>>247
どのような理由でそうなっているかを考えずに、無駄に時間を費やしているだけだ。
254デフォルトの名無しさん:2012/11/08(木) 23:59:10.11
まあまあ
フレームワークに上手く乗れないとハマることもある
その都度あなたが無駄にならないように教えてあげれば良い
255デフォルトの名無しさん:2012/11/09(金) 01:02:26.98
完成度の高いライブラリって、アーキテクチャ考えずに使いたくなるよね
あるいは、自分の仮定してる内部設計にあわせて無理してみたり

自分が詰まるところは、他人も詰まるところだから、けっこう明快な解決があるんだが、
「探してみるか」に賭けられないというか。
256デフォルトの名無しさん:2012/11/09(金) 01:33:38.26
>>255
耳が痛い・・・w
Qt一応使ってるけど、肝のメタオブジェクトシステムをしっかり説明できる自信ない
まだこれこれやったらこれできる、ってレベル
なので、moc関連やドキュメント見て説明できるように勉強しようと思ってたとこ

詰まるところに関しては2通りあるって感じる。
1つは、その通り他人も詰まるところで、検索して解決法が分かる
もう1つは検索しても出ないことで、この場合は大抵自分の設計がおかしかったり…
257デフォルトの名無しさん:2012/11/09(金) 05:22:13.27
過疎スレ認定わろす
258デフォルトの名無しさん:2012/11/09(金) 05:49:59.76
このスレ見てるのかw
おーい(^o^)ノ
259デフォルトの名無しさん:2012/11/10(土) 00:12:23.56
>>243
詳しくも何も、普通にソースをビルドした時にエラーで止まるよ。
260デフォルトの名無しさん:2012/11/10(土) 00:25:00.17
どのソースだよってことだな
261デフォルトの名無しさん:2012/11/10(土) 11:20:28.52
>>260
横から失礼
たぶん webkit の DefaultLocalizationStrategy.cpp
にある全角のダブルクオーテーションじゃないですか?

4.8.3 や 5.x系では分からないですが、4.8.2をビルドするときに上記を直した気がします
262デフォルトの名無しさん:2012/11/10(土) 12:49:06.47
>>249
C++やるなら普通VisualStudio
あとQtのUIくらいぽとぺたせずにコードで書けよ
263デフォルトの名無しさん:2012/11/10(土) 13:05:59.97
正直、VisualBasic6.0以前(要するにVB.NETでない)とHTMLと同じくらいの
感覚でC++をでき、ネイティブでクロスプラットホームなexeファイルを作成できるんだから、
Oracleでも買ってくれりゃいいのに・・ Javaよりも良いAndroid開発ができますぜ?
264デフォルトの名無しさん:2012/11/10(土) 13:07:15.78
Googleも自分の会社の言語がないんだから、Qt買ってくれりゃいいのに。
265デフォルトの名無しさん:2012/11/10(土) 13:08:20.70
TTDCからオファーが来たけど、働きたいけど無理っぽい。オファーくれた
人の良さそうなつるっぱげの専務の人、すみません・・

オファーが北だけでも光栄です。
266デフォルトの名無しさん:2012/11/10(土) 13:29:26.24
>>262
mocやuicの設定方法が分かりません!
267デフォルトの名無しさん:2012/11/10(土) 13:59:06.97
馬鹿には、無理。
268デフォルトの名無しさん:2012/11/10(土) 14:03:11.36
>>261
4.8.1、4.8.2、4.8.3でも描き直しが必要。
つまり治っていないという事だな。
英語圏の連中にとってはどうでもいいことだからな。
269デフォルトの名無しさん:2012/11/10(土) 14:19:38.70
馬鹿って無駄なことに労力使うよね
UIなんてデザイナで作ったほうが圧倒的に早いのに
270デフォルトの名無しさん:2012/11/10(土) 14:25:50.04
無駄な時間とコストの使い方でも本人が幸せならいいんじゃね
271デフォルトの名無しさん:2012/11/10(土) 15:54:54.26
U r too foolish to do it.
272デフォルトの名無しさん:2012/11/10(土) 18:41:54.76
以前からいるんだよな、このスレに。
俺は手書きのほうが早いからデザイナなんかいらない、デザイナなんか馬鹿の使うもの
って上から目線ドヤ顔で言うヤツ。
273デフォルトの名無しさん:2012/11/10(土) 19:22:37.34
デザイナは一見簡単そうでも、慣れないと意外と難しいからなあ
MainWindowにコネクトできねーとか悩んだ時期が僕にもありました
274デフォルトの名無しさん:2012/11/10(土) 20:14:35.72
QtCreatorのデバッグ中にブレイクポイントが追加できなくて困ってたんだけど
治せたからメモっとくわ

環境
 64bit版Windowsで、VC++をツールチェインに指定して32bitアプリをビルド

原因
 64bit版CDBが使われていて32bitアプリが正しくデバッグできない状態らしい
 デバッガログに↓のように表示される
  Debugger: C:\Program Files\Debugging Tools for Windows (x64)\cdb.exe

対策
 32bit版CDBを使うように設定すれば治る。以下の手順。
 ・32bit版CDBのパスを確認(多分↓)
  C:\Program Files (x86)\Debugging Tools for Windows (x86)\cdb.exe
 ・Qt Creatorのオプション→ツールチェインを開く
 ・使用中のツールチェインをクローンする
 ・「ここにWindowsコンソールデバッガの実行ファイル(64bitバージョン)のパスを...」の欄に
  32bit版CDBのパスを入れてOKボタン。括弧内の注意書きの意図は分からんが無視する
 ・「プロジェクト」タブを開いて、デバッグビルド設定のツールチェインを変更
  「管理」ボタンを押さないと変更できない時があるので注意
275デフォルトの名無しさん:2012/11/10(土) 20:18:47.16
ブレークポイントと言えば、catch節にブレークポイント設定できないのは
何とかならんのか...
276デフォルトの名無しさん:2012/11/10(土) 20:31:54.37
>>275
試してみたがほんとだな。例外使わんから知らんかった
__debugbreak(); 入れたら止まったからとりあえず入れとけば?
277デフォルトの名無しさん:2012/11/10(土) 21:11:11.90
わしのちんこもキュキュットしてぇなぁ(;´д`)
278デフォルトの名無しさん:2012/11/10(土) 23:51:28.68
>>276
そんな手があるのか。知らなかった。サンクス。
279デフォルトの名無しさん:2012/11/11(日) 11:51:34.77
macで非lionフルスクリーン実行中、画面端にカーソルを持って行くと
メニューバーとDockが表示されるようにしたいのですがどうすればいいでしょうか?
cooViewerという画像ビューアで同じことが出来ます
280デフォルトの名無しさん:2012/11/11(日) 14:23:40.87
>>264
GoとかDartとか…
281デフォルトの名無しさん:2012/11/13(火) 08:19:15.36
いつになったらiOS対応するんですか?
282デフォルトの名無しさん:2012/11/13(火) 22:24:40.48
ソースがutf-8でもVC++でコンパイルしたら文字化けするのか
283デフォルトの名無しさん:2012/11/14(水) 02:41:15.20
>>281
来年の終わり。QtをNokiaに売り渡したTrolltechの経営者が対応を遅らせた。経営者失格。
284デフォルトの名無しさん:2012/11/14(水) 06:56:55.99
Bom を付ければ大丈夫だったと思う
285デフォルトの名無しさん:2012/11/14(水) 11:29:45.25
BOM付けるだけじゃだめだろ
Codecも正しく指定されてないといけない
286デフォルトの名無しさん:2012/11/15(木) 20:31:54.65
β2どうなの
287デフォルトの名無しさん:2012/11/15(木) 23:36:16.13
おもしろい、しかし使い物にはならない。
288デフォルトの名無しさん:2012/11/17(土) 12:43:36.43
杉田HAAAANNN!!!
289デフォルトの名無しさん:2012/11/17(土) 19:26:32.21
セントラルウィンドウ内でいろいろウィジェット使う場合それぞれ関数作ったほうがいいのかな?
290デフォルトの名無しさん:2012/11/18(日) 00:41:45.30
ノキアやべえじゃんとか思ってたらいつの間にかQt売却済みだったのねw
日本語ページとかもなくなっちゃったのね
291デフォルトの名無しさん:2012/11/18(日) 04:46:42.75
日本語ページって必要か?
292デフォルトの名無しさん:2012/11/18(日) 11:52:22.53
yeah, we need that
293デフォルトの名無しさん:2012/11/18(日) 12:28:04.00
>>290
Labs Japanは残っているよ。
294デフォルトの名無しさん:2012/11/18(日) 18:01:49.69
MSDNほどの翻訳のひどさはないから、
ないよりは有った方が良いな。
295デフォルトの名無しさん:2012/11/18(日) 19:34:49.21
Qt5、よくなると必至にアピールしている。百人以上も雇われている開発者が減って、今迄になく品質劣化が甚だしい。
296デフォルトの名無しさん:2012/11/18(日) 19:41:23.77
多ければ良いというもんでもない
少数精鋭なら結構
297デフォルトの名無しさん:2012/11/18(日) 19:45:12.11
Android SDK以外でのアプリ作成を全面禁止へ
http://toro.2ch.net/test/read.cgi/tech/1353033369/

これはQtアウトなんか
298デフォルトの名無しさん:2012/11/18(日) 19:49:31.12
そのスレタイが悪意ある誘導だから別に問題ないよ
299デフォルトの名無しさん:2012/11/18(日) 20:35:24.63
「Android OSの断片化に加担しないように」ってことなので、Qt は問題なさげ
300デフォルトの名無しさん:2012/11/18(日) 22:01:04.45
>>296
少数精鋭でできないほどに体制劣化している。
301デフォルトの名無しさん:2012/11/18(日) 22:48:32.75
Qtにたいして何の貢献もできない口だけの無価値な人間が何をえらそうに
302デフォルトの名無しさん:2012/11/18(日) 22:58:14.34
>>301
偉そうな君はどのようなことをしたのかな。
303デフォルトの名無しさん:2012/11/18(日) 23:04:57.38
Nokiaが自社の製品のためにTrollechを買収して、用なしとなったら放り出すような身勝手なことをして、
Qtをだめにしたというのが現実なんだよ。
304デフォルトの名無しさん:2012/11/18(日) 23:19:59.91
Qtは色々惜しいんだよな
305デフォルトの名無しさん:2012/11/18(日) 23:53:32.34
Nokia叩きの人に触っちゃだめだよ
荒らしと思って放置するのが一番
幸い周囲に溶け込めない子だからすぐ慣れるよ
306デフォルトの名無しさん:2012/11/19(月) 04:08:45.82
なあQt5いつでるん?
307デフォルトの名無しさん:2012/11/19(月) 06:08:45.13
詣で照る
308デフォルトの名無しさん:2012/11/19(月) 07:27:48.16
まあ、Qtで金儲けてるんなら口だけじゃなくて見返りぐらいしろよってこと
309デフォルトの名無しさん:2012/11/19(月) 08:23:10.11
儲からなかったから売り飛ばしたんだろ
310デフォルトの名無しさん:2012/11/19(月) 08:33:39.49
いかれてぶっとんだ思考回路が見てて面白い
311デフォルトの名無しさん:2012/11/19(月) 08:43:09.61
>304
kwsk
312デフォルトの名無しさん:2012/11/19(月) 13:07:03.25
>>307
Beta 2じゃないですか!やだー!!
313デフォルトの名無しさん:2012/11/20(火) 00:09:05.46
俺もQtは何かかゆいところに手が届かない感がある
正規表現とかodbc2とかcharset判定とか、
issuesで数年放置されてるのもあるし
ベースが使いやすいだけに非常に惜しい
314デフォルトの名無しさん:2012/11/20(火) 00:49:03.74
人員削減された上、QMLなんてゴミに資源を割いているからもう駄目ぽ
315デフォルトの名無しさん:2012/11/20(火) 07:05:19.10
文字コードまわりの実装は相当あほなことになってるでござる
316デフォルトの名無しさん:2012/11/20(火) 20:55:34.91
Qt終了か
317デフォルトの名無しさん:2012/11/20(火) 20:57:02.71
QtのほかはGtk位しか思いつかんけどほかに以降先何かあるかね
318デフォルトの名無しさん:2012/11/20(火) 20:59:16.16
wxWidgetsはそれなりに使える
319デフォルトの名無しさん:2012/11/21(水) 00:08:31.97
質問なんだけど、C++の標準ライブラリよりQtで用意された関数使ったほうがいいのかな?
320デフォルトの名無しさん:2012/11/21(水) 00:27:41.51
用途目的によりけりだろ
自分で判断できないならQtのクラス使っとけばいいんじゃね
321デフォルトの名無しさん:2012/11/21(水) 01:20:34.66
mocなしでも使えるようにして欲しいな
322デフォルトの名無しさん:2012/11/21(水) 01:54:22.53
>>317
現状Qt代替できるレベルの無料フレームワークはない気がするよ
細かいとこはぐずぐずだが、総合的にはQt使うのが楽なことが多い
323デフォルトの名無しさん:2012/11/21(水) 02:01:55.94
I love Qt.
QMLは除く
324デフォルトの名無しさん:2012/11/21(水) 16:55:58.97
>「つまり、これまでJavaScriptとHTML 5でWebアプリケーションを開発してきた方が、
>ネイティブ・アプリと同じ機能を備えたアプリを開発できるのです。Windowsランタイム
>の実行速度はどの言語からアクセスした場合でも同じなので、性能の面でも
>ネイティブ・アプリに引けを取りません」
325デフォルトの名無しさん:2012/11/21(水) 17:10:39.58
今までWebアプリケーションを開発してきた方は
これからもWebアプリケーションを開発するよ
326デフォルトの名無しさん:2012/11/21(水) 19:44:03.99
※ネイティブと同じ機能を実装するためにはネイティブ言語でQt用のプラグインを書く必要があります
327デフォルトの名無しさん:2012/11/21(水) 19:48:35.17
C++で直接アプリケーションを作るのではなく
QML?用の拡張機能を作ってQML?でプログラムを作るとかなんとか
328デフォルトの名無しさん:2012/11/21(水) 21:36:15.07
>>324
WinRTがストアアプリという檻の中じゃなく、従来のデスクトップ上で
WPFと同等のGUIフレームワークと共に提供されていれば
Qtからの乗り換えも正直考えたかもしれないのに…
329デフォルトの名無しさん:2012/11/22(木) 02:02:38.04
 Windowsストア アプリでは、別のアプリが起動されると、
それまで起動していたアプリの処理が一時中断されます。
これはマシンがバッテリーで駆動しているときに余計な
CPUリソースやネットワーク・リソースを消費しないようにするためです。
330デフォルトの名無しさん:2012/11/22(木) 21:26:03.90
WPFって流行ってんのか? Formのほうが主流だと思うんだが
331デフォルトの名無しさん:2012/11/22(木) 22:01:09.29
前 Qt is dead と WPF is dead を検索してみたけど後者のほうが多かった
332デフォルトの名無しさん:2012/11/22(木) 22:42:40.83
WPFってどこで使われてるんだろうな。
個人でも企業でもデモ的なものしか見たこと無いぞ
333デフォルトの名無しさん:2012/11/23(金) 01:36:59.24
最近のだとGitHub for WindowsとかIntelグラフィックのコンパネとかUDKとか
知らんうちに使ってたりすることは割とある
「あれなんか起動がもっさりだな」というアプリがあったらそれは怪しい

少し前にはEvernoteのクライアントアプリがWPFを止めて大きな改善を見せ、好評を博した
334デフォルトの名無しさん:2012/11/23(金) 10:55:30.70
WPFはXP切るつもりじゃないと使いにくいんじゃないの
WPF on XPって本当にただ重いだけのゴミ
335デフォルトの名無しさん:2012/11/23(金) 15:55:17.99
フォルダーのアイコンとか使いたいんだけどQT側で用意されてないの?
336デフォルトの名無しさん:2012/11/23(金) 16:05:12.02
ある夜
337デフォルトの名無しさん:2012/11/23(金) 16:33:48.12
アイコンのパスおしえてくり〜
338デフォルトの名無しさん:2012/11/23(金) 17:42:28.27
images
339デフォルトの名無しさん:2012/11/23(金) 19:32:55.57
デモのアイコンしかないけど
340デフォルトの名無しさん:2012/11/24(土) 04:50:50.48
今現在、デスクトップ向け(Windows 64bit offline, Linux 64bit offline)オープンソース版のQt SDKって、どこからダウンロードできるんでしょうか。
Qt Project -> 1.Get Started -> SDK Downloadを見ても分からなかったので、教えて頂けると助かります。
341デフォルトの名無しさん:2012/11/24(土) 11:56:55.89
Where is the SDK?
http://qt-project.org/forums/viewthread/21666

Qt5リリース前で、今は公式では個別のダウンロードしか無いけど、まだここに残っているらしい
http://www.developer.nokia.com/info/sw.nokia.com/id/da8df288-e615-443d-be5c-00c8a72435f8/Qt_SDK.html

最近Qtのフォーラム見てる。勉強になるね
342340:2012/11/24(土) 14:31:25.10
>>341
ありがとうございます。.勉強になりました。
343デフォルトの名無しさん:2012/11/24(土) 16:23:11.48
普通に行けない?
http://qt-project.org/
344デフォルトの名無しさん:2012/11/24(土) 16:24:22.53
あ、勘違いか
忘れて下さい
345デフォルトの名無しさん:2012/11/24(土) 16:28:00.74
   ( ̄| ̄ ̄ ̄ ̄ ̄ ̄)
   \_|_____○/
  / //ノノノ人ヽ   ヽ
  | /  -‐'  'ー-' \ヽ |
  ||  (●), 、(●:ヽ /
   |  ,,ノ(、_, )ヽ、,,   |   あーさーくーらー
   \  .`ニニ´  .:::/
   /`ー‐--‐‐ー´´\
346デフォルトの名無しさん:2012/11/24(土) 18:50:33.48
Qt5に今までどおりのLGPL版が出るのか気になっているんですが
この件について何かアナウンスされてますか?
347デフォルトの名無しさん:2012/11/24(土) 19:58:40.46
QTreeWidgetについて聞きたいんだけど、例えばこういうツリーがあったとして、
SubItemがクリックされた時だけスロットを呼ぶことってできる?
QTreeWidgetのシグナルにitemClicked()があったから使えると思ったけど、これだと
Itemがクリックした時もスロットが呼ばれるんだよね。
分かる人いたら教えてください。

▼Item
   SubItem
   SubItem
▼Item
   SubItem
   SubItem
348デフォルトの名無しさん:2012/11/24(土) 20:21:41.26
itemClicked()の中でSubItemがクリックされたか判定して
SubItemがクリックされてたならシグナルを吐けばいいじゃん
349デフォルトの名無しさん:2012/11/24(土) 21:31:55.07
>>348
ごめんよくわかんない・・・
ちょっとサンプルプログラム書いてみたからどうしたらいいのか教えてください。
現時点でのコードはItemとSubItemがクリックされた時に標準出力にClick!と表示するようになってるから、
SubItemの時だけにClick!と表示されるようにしたい。

http://u8.getuploader.com/vipprog/download/868/sample_tree.zip
パス: qtprogramming
350デフォルトの名無しさん:2012/11/24(土) 21:50:47.68
おことわりします
351デフォルトの名無しさん:2012/11/24(土) 22:00:47.31
おなしゃす!
352デフォルトの名無しさん:2012/11/24(土) 22:04:02.21
受け取ったitemのparentがrootかどうか確認すればいい
353Qt初心者です:2012/11/24(土) 22:26:46.46
QTreeWidget はまだ使ったこと無いけど、
http://doc.qt.digia.com/qt/qtreewidgetitem.html
を見る限り末端ノードを判定するのは無さそう?

>>352 の言うように、末端ノードの条件を満たしているかで判断する他に、
SubItem を作る時にコンストラクタ QTreeWidgetItem( int type = Type ) で 引数を QTreeWidgetItem::UserType+1(数字は任意)
みたいにするのはどうだろ?
それで、スロットの中の item->type() で SubItem かどうかを判断する感じで
354デフォルトの名無しさん:2012/11/24(土) 23:12:53.57
>>352-353
出来た!ありがとうございます
355デフォルトの名無しさん:2012/11/25(日) 00:43:56.14
>>354
本筋と関係ないけど
・L15: QTreeWidgetItem *itemをメンバ変数にした方がいいと思う
(AddItemとAddSubItemの実装が微妙…コード片だから?)
・pro.userは消してアップした方が良いと思う
356デフォルトの名無しさん:2012/11/25(日) 01:40:45.58
>>355
アドバイス有難うございます。

>>・L15: QTreeWidgetItem *itemをメンバ変数にした方がいいと思う
for文の前にあるやつでしょうか?
C++もQtもやり始めて日が浅いので綺麗な実装方法がよくわからんのです・・・
なんか参考になるサイトあったら教えて欲しいです。

>>・pro.userは消してアップした方が良いと思う
え・・・なにかまずかったでしょうか?
357デフォルトの名無しさん:2012/11/25(日) 12:17:58.32
>>356
pro.userの中身見たこと無いの?
358デフォルトの名無しさん:2012/11/25(日) 12:31:09.66
>>356
綺麗じゃないけど、自分ならこうしたいな
ttp://www.dotup.org/uploda/www.dotup.org3662346.zip.html
でもこれでも2階層でしか使えないので、複雑なツリーとかだと設計を変えるほうがいいかも。
綺麗な実装方法は、自分も勉強中なのでよく分からんです。

pro.userは無くても良いファイルだし、中身にファイルパスとかも入ってて気持ち悪いから、それだけ
359デフォルトの名無しさん:2012/11/25(日) 13:18:34.93
>>358
ありがとうございます。すごく参考になります!

pro.userは以後気をつけます。
360デフォルトの名無しさん:2012/11/25(日) 15:36:52.53
元の実装の方がいいと思います。
あと、もしやりたいことがこれだけだったなら、AddItemは不要です。
AddSubItemの第一引数にinvisibleRootItemを指定してやってください。
361デフォルトの名無しさん:2012/11/25(日) 16:47:55.48
>>360
すいませんイマイチ理解できません・・・
出来ればコードを・・・
362デフォルトの名無しさん:2012/11/25(日) 17:15:35.67
馬鹿には無理
363358:2012/11/25(日) 22:30:46.05
ごめん・・・後から見直したらウンコードでしたorz
>>360 のやり方はこういうことかな?
ttp://www.dotup.org/uploda/www.dotup.org3664825.cpp.html
364デフォルトの名無しさん:2012/11/25(日) 23:13:47.49
>>363
ありがとうございます!

invisibleRootItemで非表示のルートアイテムが返されるってことは
QTreeWidgetはデフォでルートアイテムを持ってるって認識でいいのかな・・・?
365デフォルトの名無しさん:2012/11/29(木) 19:42:26.29
だれか、Mac版でOpenGL3.2 Core Profile使えた人いる?
4.8.3で試したんだけど、ダメだった……。

QGLFormat fmt;
fmt.setProfile(QGLFormat::CoreProfile);
fmt.setVersion(3,2);
fmt.setSampleBuffers(true);
fmt.setSamples(4);
QGLFormat::setDefaultFormat(fmt);

とかしてQGLWidgetに渡したんだが……ダメ。まだサポートされてないのかな?
366デフォルトの名無しさん:2012/11/30(金) 00:24:57.26
Macわからんけどグラボは対応してるんだよね?GREW併用したらどうかな
367デフォルトの名無しさん:2012/11/30(金) 08:00:41.41
>>366
コメありがとう。グラボは対応してます。
GLEWじゃないんだけど、現在gl3wというライブラリを使ってトライ中。
苦戦してます……orz
368デフォルトの名無しさん:2012/12/02(日) 02:05:13.64
QMainWindowのセントラルウィジェットに複数ウィジェットを登録したい時って、
複数ウィジェットをまとめたクラスを新たに作って
setCentralWidget(まとめたクラス);
みたいにやるのが普通ですかね?
369デフォルトの名無しさん:2012/12/02(日) 04:51:41.69
ほいほいほー
370デフォルトの名無しさん:2012/12/02(日) 13:46:09.64
>>368
単にウィジェットをたくさん置きたいって話ならわざわざクラス作らないで
Vertical/Horizontal Layout使う人が多いんじゃないかな
371デフォルトの名無しさん:2012/12/02(日) 14:49:50.28
>>370
ありがとうございます。
しかし、QMainWindowのコンストラクタで
QHBoxLayout *layout = new QHBoxLayout(this);
とすると
QLayout: Attempting to add QLayout "" to MainWindow "", which already has a layout
と言われうまくいきませんでした。
372デフォルトの名無しさん:2012/12/02(日) 14:52:04.69
>>370
続き

なのでQtCreaterが吐くフォームのヘッダファイルを見て参考にしました。
QWidget *widget = new QWidget(this);
QHBoxLayout *layout = new QHBoxLayout(widget);
layout->addWidget(ウィジェット1);
layout->addWidget(ウィジェット2);
setCentralWidget(widget);
みたいにやるといいみたいです。
373デフォルトの名無しさん:2012/12/02(日) 15:01:41.17
解決したってことでいいのかな
あとはレイアウトを入れ子にしたりスペーサとサイズポリシーの使い方に慣れれば
配置がかなり工夫できるようになるよ
まあデザイナ使った方が楽だと思う
374デフォルトの名無しさん:2012/12/02(日) 16:05:55.66
>>373
なんかデザイナってちょっとした物を作るときに使うものってイメージなんだけど
どうなんだろ
375デフォルトの名無しさん:2012/12/02(日) 16:13:07.10
逆だと思うけど?
376デフォルトの名無しさん:2012/12/02(日) 16:38:46.53
逆だと思うねえ
スタイルシートとか凝りだすとデザイナで確認できなきゃきついと思う
377デフォルトの名無しさん:2012/12/02(日) 16:45:42.29
>>375-376
まじかthx
378デフォルトの名無しさん:2012/12/02(日) 16:48:03.73
そうそう、ウィンドウリサイズのときにどこが伸びるか調整するのはデザイナで確認できないとしんどい。
379デフォルトの名無しさん:2012/12/02(日) 19:08:26.42
デザイナ使ってGUI作ったんだけど、どうやってファイル分割したらいいのかわからん・・
前はウィジェットごとにファイル作って、そこに関数とか書いてたんだけど。
プロジェクト.cppに関数とか全部書いていいの?
380デフォルトの名無しさん:2012/12/02(日) 20:26:19.49
>>379
長くても気にならないなら別にいいと思うけど
新規作成でQt Designerフォームクラス選んでウィジェットMyFormクラスとかを作っておいて
メインウインドウのデザイナにWidgetを置いた後MyFormに格上げしたら多分慣れたやり方になると思う
381デフォルトの名無しさん:2012/12/02(日) 20:29:08.35
>>379
> 前はウィジェットごとにファイル作って、そこに関数とか書いてたんだけど。

ウィジットごとっつーか、フォームごとにするのが普通だと思うけど。
ウィジットをサブクラス化する場合は別として。

Qt Designerじゃなくて素直にQt Creator使えば?
382デフォルトの名無しさん:2012/12/02(日) 20:40:08.62
>>380-381
フォームごとが一般的なのか、ありがとう。
こういう一般的なやり方?とか調べてもあまりないから助かりますm(__)m
383デフォルトの名無しさん:2012/12/02(日) 20:52:10.00
384デフォルトの名無しさん:2012/12/02(日) 21:01:57.29
こっちに移動したっぽいよそれ過去記事は消えたようだが
http://qt-labs.jp/
385デフォルトの名無しさん:2012/12/02(日) 23:31:00.50
QTreeWidgetItemについて教えて下さい。
下ツリー構造のような、ルートA、B複数の親(index)がある場合

├ルートA
│ ├─A
│ │ └─A
│ └─B
│... ├─A
│... └─B ★
└ルートB
... ├─A
... └─B

★の場所のQTreeWidgetItemからルートAの配下のデータか
ルートB配下のデータかを簡単に判別する方法はありますでしょうか?
→QTreeWidgetItem.parent() で親のQTreeWidgetItemまでたどらないと駄目でしょうか?
386デフォルトの名無しさん:2012/12/02(日) 23:44:38.56
あらかじめアイテムにsetDataしておくとか
387デフォルトの名無しさん:2012/12/03(月) 00:20:29.26
あの・・・もしかしてDigiaのQt SDKって有料ですか?
nokiaの時は無料で落とせたと思うのですが
388デフォルトの名無しさん:2012/12/03(月) 00:23:06.72
無料
389デフォルトの名無しさん:2012/12/03(月) 00:40:49.07
え、でも
Please fill out the information below, so you can receive your 30-day free evaluation and start developing with Qt.
って書いてあるんだけど

qt.digia.com/Try-Qt-Now/Qt-commercial-evaluation/?platform=windows-cpp
390デフォルトの名無しさん:2012/12/03(月) 01:05:18.77
通りかかったので
意図的なのかわからないけどちょっとわかりにくいんだよね
Try Now→Open Source VersionsのQt Project site→SDK Download
URLで言うと↓
http://qt-project.org/downloads
391デフォルトの名無しさん:2012/12/03(月) 01:17:59.57
>>390
あ、やっぱこれしかないのね。ありがとう
392デフォルトの名無しさん:2012/12/03(月) 01:18:12.43
馬鹿には無理
393デフォルトの名無しさん:2012/12/03(月) 01:30:54.11
>>386
ありがとうございます。setDataで考えてみます。
394デフォルトの名無しさん:2012/12/03(月) 03:40:05.62
出来なくなってからその都度聞くんじゃなくて
ドキュメント読んで何が出来るかの目星を付けて作っていく方がいいと思います
395デフォルトの名無しさん:2012/12/05(水) 21:52:27.41
qt4.8をビルドしようと思うのですが
ttp://qt-project.org/faq/answer/how_can_i_set_up_my_environment_for_building_qt_qt_applications_with_mingw
このとおりやればおkですかね?
396デフォルトの名無しさん:2012/12/05(水) 22:23:14.50
397デフォルトの名無しさん:2012/12/08(土) 04:41:35.95
5.0RC1出たねー。
398デフォルトの名無しさん:2012/12/08(土) 09:22:45.59
でたねー
んで、出来はどうなの?
399デフォルトの名無しさん:2012/12/08(土) 21:22:00.68
iOS用Qtが次期バージョンに向けて開発中で、
開発版が既に使えるようになってるけど
試してみた人居る?
400デフォルトの名無しさん:2012/12/09(日) 06:37:25.74
アポーはObjective-cでの開発しか認めてないんじゃないの?
C++からObjective-cに翻訳される?
401デフォルトの名無しさん:2012/12/09(日) 06:51:48.90
C++併用できるよobjectivec++でぐぐるといいよ
402デフォルトの名無しさん:2012/12/09(日) 10:29:37.65
併用できるけど結局めんどくさいよ
403デフォルトの名無しさん:2012/12/09(日) 16:48:25.70
最初からC系統での開発は認められてる
最近になってC系統以外の制限もなくなった
404デフォルトの名無しさん:2012/12/09(日) 16:51:26.82
>>401
別にC++のオブジェクトコードとObjective-Cのオブジェクトコードを
リンクするだけで十分だけどな
405デフォルトの名無しさん:2012/12/15(土) 09:12:43.39
先日のRC2に特に問題なければ、今年中に正式版になるらしいな
そしたら久しぶりに触ってみるか
406デフォルトの名無しさん:2012/12/15(土) 11:03:39.55
GTK+って息してんの?
407デフォルトの名無しさん:2012/12/15(土) 11:10:23.64
むしろC++が息してない
408デフォルトの名無しさん:2012/12/16(日) 05:58:01.19
Qt libraries 4.8.4 for Windows (minGW)をインストールしてQt 4.8.4 (Build DebugLibraries)を実行したのですが、
mingw32-make: *** No rule to make target 'src_tools_idc-sub_Debug', needed by 'sub-activeqt-sub_Debug'.
と表示されます。
どうしたら良いのでしょうか・・・?
409デフォルトの名無しさん:2012/12/16(日) 07:52:14.54
馬には無理
諦メロン
410デフォルトの名無しさん:2012/12/16(日) 13:15:41.49
>>409
わからないなら書かないでください^^
411デフォルトの名無しさん:2012/12/16(日) 13:21:42.40
まあそう堅いこと言うな
こんな糞レスでも連続書き込みアク禁の解除には役に立っている
412デフォルトの名無しさん:2012/12/16(日) 13:22:23.53
何が足りませんよって親切にメッセージ出してるのに、馬の耳に念仏ってこのことだな
413デフォルトの名無しさん:2012/12/16(日) 16:01:39.17
ヒヒーン
414デフォルトの名無しさん:2012/12/16(日) 18:37:30.26
そうやって情報を共有しないから海外に仕事取られていくんだよクソジジイども
415デフォルトの名無しさん:2012/12/16(日) 22:22:15.51
かと言って
408の解決法があったとしても
役に立ちそうもない
416デフォルトの名無しさん:2012/12/16(日) 22:49:53.75
ググるのが仕事だと思ってるゆとりはまだマシなほうで、
掲示板で聞くしか脳の無い馬鹿とかマジで死んで欲しいわ
なんで自分で解決出来ないの?
ソース読めないの?英語理解出来ないの?
417デフォルトの名無しさん:2012/12/16(日) 22:54:08.12
ぐだぐだ文句だけ言うお前や俺が死んだほうがいいんじゃね?
418デフォルトの名無しさん:2012/12/16(日) 22:59:26.28
うっせーな
いままでNokiaのQt SDK使ってたから環境構築のやり方がわかんねーんだよks
一応NokiaにQt SDK残ってるみたいだけど古いし、今後アップデート無さそうだし。
DigiaのQt SDKは有料だし 死ね
つかググってわからんかったから聞いてんだろボケが
エラーメッセージはわかるが解決法が分かんねーんだよ糞が死ね
419デフォルトの名無しさん:2012/12/16(日) 23:05:32.85
そのレベルじゃC++は無理なんでHTMLとJavaScriptでもやっててください
420デフォルトの名無しさん:2012/12/16(日) 23:06:41.59
ていうかお前らそんな事言うなら今後一切ネットで質問するなよ?
421デフォルトの名無しさん:2012/12/16(日) 23:11:34.93
いいからおもしろいことを書けよてめーら
仲間割れしてる暇があったらボケろ
422デフォルトの名無しさん:2012/12/16(日) 23:12:35.24
>>419
そのレベルの問題も解決できないお前には向いてるだろうね
423デフォルトの名無しさん:2012/12/16(日) 23:13:27.57
>>421
黙ってろクソが
424デフォルトの名無しさん:2012/12/16(日) 23:18:55.47
だいたいInstalling Qt for WindowsでVCのやり方しか書いてないのが悪い
http://doc-snapshot.qt-project.org/4.8/install-win.html
425デフォルトの名無しさん:2012/12/16(日) 23:41:00.41
親切になにか書く雰囲気じゃなさそうだな
この過疎スレにしては珍しい
426デフォルトの名無しさん:2012/12/16(日) 23:45:18.69
>>425
黙ってろクソが
427デフォルトの名無しさん:2012/12/17(月) 01:27:18.51
ボケと言ったら天丼という容易な風潮はやめろ
428デフォルトの名無しさん:2012/12/17(月) 10:14:14.45
QtでPhononVideoPlayerを使用する際、URLから読み込むとシークが効かないのですが、シークさせる方法はありますでしょうか?
一度ファイルをダウンロードしてから再生するなどの方法が必要でしょうか?
ローカルファイルでシークできるのは確認済みです
429デフォルトの名無しさん:2012/12/17(月) 21:46:08.17
相手がseekできなきゃseekなんて出来るわけないだろクズ
430デフォルトの名無しさん:2012/12/17(月) 22:02:29.60
GETする位置を自前で調整するとかかな
431デフォルトの名無しさん:2012/12/18(火) 01:00:44.44
遅くなりました。>>428です
>>429,>>430
レスありがとうございます
VLCのようにシークバーを動かすとその地点から新たにバッファを始め、再生できればなーと思っていたのですが
調整する方法が載っているサイト、もしくはPhononVideoPlayer以外に可能なものはないですか?

対象ファイルが.3gp で環境はUbuntu12.04です
432デフォルトの名無しさん:2012/12/18(火) 01:17:02.85
mp4コンテナなら
フレームの開始時間とか
デコードすべきデータが先頭から何バイト目から何バイト目までに格納されてるとか
そんな感じの情報が入ってるんじゃないかな
433デフォルトの名無しさん:2012/12/18(火) 08:57:34.34
VLCってオプソだし、コード見てみたら?
俺も気になるから後で調べて見よ
434デフォルトの名無しさん:2012/12/18(火) 17:48:16.78
サーバがレジューム可能な設定になってれば、途中からGETできるんじゃないかな
435デフォルトの名無しさん:2012/12/19(水) 23:06:15.84
436デフォルトの名無しさん:2012/12/20(木) 07:48:48.38
クリスマスプレゼントありがとう
一方Rubyは・・・
437デフォルトの名無しさん:2012/12/21(金) 02:53:07.19
あれ?
有料のしかないの?
438デフォルトの名無しさん:2012/12/21(金) 08:04:12.13
>>437
オープンソース版はこっちみたい:
http://qt-project.org/downloads
439デフォルトの名無しさん:2012/12/21(金) 08:18:58.52
thx!
440デフォルトの名無しさん:2012/12/21(金) 18:16:05.61
youtubeビューアは動画見られないしbrowserは落ちるし挫けそう
441デフォルトの名無しさん:2012/12/21(金) 18:17:36.04
5に手を出すのは5.1くらいからが良い?
442デフォルトの名無しさん:2012/12/21(金) 20:08:25.97
いずれ手を出すつもりなら待たずにさっさと手を出した方がいい
手を出すか迷ってる人は待った方がいいかもしれないね
443デフォルトの名無しさん:2012/12/22(土) 10:26:49.01
Qt libraries 5.0.0 for Windows (VS 2010 406 MB) をインストールしたら、
ビルドターゲットに Necessitas (Android for Qt) が選択出来たので、大喜びしたのだが、
ビルドしてみると、コンパイラが設定されてないというエラーが出た。

ツール>オプション>ビルドと実行>キット を見ると、たしかにアンドロイド用コンパイラが設定されてない。
で、キットの設定を行うにはどうしたらいいのでしょうか?
444デフォルトの名無しさん:2012/12/22(土) 10:47:16.14
馬鹿には無理
445デフォルトの名無しさん:2012/12/22(土) 12:45:12.78
設定されてないなら設定すればいいだろカス
コンパイラすら自分で用意できないの?
446デフォルトの名無しさん:2012/12/22(土) 12:49:22.17
Makefileすら書けないウンコでもIDE使えば一人前のプログラマ気取りだからな最近は
447デフォルトの名無しさん:2012/12/22(土) 13:13:37.40
結果が出せれば一人前だよ
手段はどうでもいい
448デフォルトの名無しさん:2012/12/22(土) 13:31:37.67
いい加減なもん作られて尻拭いさせられるんですねわかります
449デフォルトの名無しさん:2012/12/22(土) 13:47:33.84
癖でCmakeしか使ってない
450デフォルトの名無しさん:2012/12/22(土) 14:06:01.27
一人前のプログラマはビルドができましぇ〜ん、なんて泣きついてこないぞ
451デフォルトの名無しさん:2012/12/22(土) 14:45:21.25
それ結果出せてないってことじゃん
452デフォルトの名無しさん:2012/12/22(土) 17:14:29.25
世の中には俺よりもクズがたくさん居るんだナ〜と思いました
453デフォルトの名無しさん:2012/12/22(土) 23:05:06.31
老害共しね
454デフォルトの名無しさん:2012/12/22(土) 23:40:36.65
ゆとりが暴れてると思ったら
そうかもう冬休みか
455デフォルトの名無しさん:2012/12/23(日) 22:22:37.10
もうこの流れはいいよ
456デフォルトの名無しさん:2012/12/24(月) 17:59:25.62
じゃあ流れを変えてみよう。

これってもしかして既出かな?
QtアプリをWeb上で動かすとかいう動画を見つけたんだけど。
http://www.youtube.com/watch?v=ttlaK_OT6pQ

どういう仕組みで動いてるんだろこれ。
457デフォルトの名無しさん:2012/12/24(月) 21:56:28.27
qtcreatorのデザイナでqtabwidgetを選択すると勝手にtab1とtab2がついてくるんだけど、こいつらどうやって消すんだ?
いろいろ試したけどわからん。
ui->tabwidget->clear()するしかないかな?
458デフォルトの名無しさん:2012/12/24(月) 23:03:46.42
オブジェクト右クリック→xページ中のyページ目→削除
459デフォルトの名無しさん:2012/12/24(月) 23:06:47.69
>>458
thx!
460デフォルトの名無しさん:2012/12/25(火) 12:31:08.72
今までQt4使ってたんだけどQt5を試しに入れてみたら
デザイナからWebviewなくなってるんだがこれなんか設定しなきゃならんの?
461デフォルトの名無しさん:2012/12/26(水) 00:01:04.45
「入門QT4プログラミング」の4ページに
QLabelオブジェクトをdeleteしていない点に注意してください。このサンプルのように※小さなアプリケーションでは、
この程度のメモリリークはさほど問題にはなりません。
というのも、プログラムが終了すると、その時点でOSが自動的にメモリを開放してくれるのです。

って書いてあるんだが、これ本当なの?

ソースコード
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QLabel *label = new QLabel("Hello QT");
label->show();
return app.exec();
}
462デフォルトの名無しさん:2012/12/26(水) 00:55:42.79
win32の場合で純粋にメモリだけの話しであればプロセス空間
そのものが無くなるから必ずしも嘘では無い
463デフォルトの名無しさん:2012/12/26(水) 00:56:22.56
"これ"って何をさしている?
メモリーリークなのかアプリ終了時に解放されることなのか

まあどっちにしろ本当だ
464461:2012/12/26(水) 01:13:01.18
あ、ごめんメモリリークを勘違いしてたみたい。
メモリリークってプログラム実行状態で起こる現象なのか
プロセスが終了してもメモリが開放されないことだと思ってた
465デフォルトの名無しさん:2012/12/26(水) 07:51:01.44
プロセスが終了してもプロセスが使ってたメモリが開放されないとしたら、それはOSのバグだろ
466デフォルトの名無しさん:2012/12/26(水) 07:58:21.13
bug ではなく仕様です、というがかつてあって、今もトラウマ
467デフォルトの名無しさん:2012/12/26(水) 08:40:13.54
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QLabel label("Hello QT");
label.show();
return app.exec();
}

これじゃ駄目なんか?
入門書でdelete放置を薦めるとは
468デフォルトの名無しさん:2012/12/26(水) 09:03:20.29
メモリリークはさほど問題にはなりません。
はウソ
プログラムが終了すると、その時点でOSが自動的にメモリを開放
は本当
469デフォルトの名無しさん:2012/12/26(水) 09:06:35.49
>>467
問題ない。アプリ終了時にOSが全てのメモリを解放する。
470デフォルトの名無しさん:2012/12/26(水) 12:44:38.35
>>461 の場合 label のデストラクタはコールされずに終わってしまう。app はそこまで面倒見てはくれない。
newでない生成(スタック上に生成)ならブロック(この場合はmainブロック)を抜ける前にデストラクタが自動的にコールされる。(C++言語仕様)

トップレベルWidgetがエディタアプリ画面で、デストラクタで自動保存とかやってたら等々...
最終的にメモリ解放されるならそれでOKとは限らないケースはいくらでもある。
mainブロックでの delete放置は後々問題の元になるので止めた方がよい。
471デフォルトの名無しさん:2012/12/26(水) 12:54:22.05
>>470
その通りだね。

それとは別に,QObjectの派生クラスでコンストラクタの引数に親のQObject*を指定して生成した
場合はまた話が違ってくる。親が破棄されれば自動的に破棄される仕組みになってるので明示的に
deleteしなくていい。

この辺の違いをちゃんと認識している必要があると思う。
472デフォルトの名無しさん:2012/12/26(水) 12:58:42.54
トップレベルWidgetはmainスタック上に生成か、newなら後でちゃんとdeleteする事
子Widget場合、その破壊は親Widgetの管轄になるので、スタック上に生成するべきではない
473デフォルトの名無しさん:2012/12/26(水) 13:13:48.34
>親が破棄されれば自動的に破棄される仕組みになってるので明示的にdeleteしなくていい。

むしろ、自分でdeleteしてはいけない。
くらいに思っておかないと。
474デフォルトの名無しさん:2012/12/26(水) 14:21:05.12
以下のURLに書かれているように
http://relog.xii.jp/archives/2012/09/qt5raspberry_pi.html
raspbian 向けにクロスビルドしたQt5をRasberryPi上で使用する際に

画面上に漢字を表示しようとした場合、どのようにすればよいのでしょうか?

qt5がインストールされているディレクトリのlib/fontsにipaフォントをコピーしている状態です。
475デフォルトの名無しさん:2012/12/27(木) 00:59:38.43
>>474
Raspberry Piってニッチすぎる質問だな・・・

X11で日本語フォント使えるならQtでも漢字使えるんじゃないの?
とりあえず↓やってみたら?
$ sudo apt-get install ttf-kochi-gothic xfonts-intl-japanese
476デフォルトの名無しさん:2012/12/27(木) 20:29:52.57
>>470
デストラクタにセーブとかみたいに確実に終わらない処理を書かせること自体はナンセンスだ。
誰かがexitを呼んでmainがreturnしないかもしれないから、そういうのは終了イベントか、atexitに書かないと駄目だね。
477デフォルトの名無しさん:2012/12/27(木) 23:57:45.31
Qt5でQTextCodec::setCodecForCStrings()が無いみたいなんですが代わりになるようなもの無いですか?
478デフォルトの名無しさん:2012/12/28(金) 04:30:12.40
無いです
479デフォルトの名無しさん:2012/12/28(金) 11:26:47.84
マジかYO!?
480デフォルトの名無しさん:2012/12/28(金) 12:50:22.05
じゃあ文字化けどうするんですか?
481デフォルトの名無しさん:2012/12/30(日) 20:35:03.59
よく分からんけどUTF-8使えよってことじゃないの?
482デフォルトの名無しさん:2012/12/31(月) 02:26:28.59
UTF-8でもだめだった、BOM付きでもダメ
QString::fromLocal8bit();使ったらちゃんと表示された
483デフォルトの名無しさん:2013/01/01(火) 14:25:58.05
fromLocal8bit() はいらない。BOM なし UTF-8 で表示されるよ。
484デフォルトの名無しさん:2013/01/01(火) 14:50:15.92
BOM 付き UTF-8 でも表示された。
485482:2013/01/01(火) 15:41:54.65
>>483-484
環境はなんですか?
自分はQt5とVC++なのですが文字化けしちゃいます
486デフォルトの名無しさん:2013/01/01(火) 16:25:27.44
馬鹿には無理
487デフォルトの名無しさん:2013/01/01(火) 16:51:01.64
>>486
バカは引っ込んでろよカスww
488デフォルトの名無しさん:2013/01/01(火) 17:06:58.95
489デフォルトの名無しさん:2013/01/01(火) 17:17:30.25
>>488
いや、ちゃんと>>147のレスにも目を通してるんだが。

結局こういうのやらんと無理なん?
490デフォルトの名無しさん:2013/01/01(火) 17:20:28.06
バカは死ぬまで SJIS 使ってろ
491デフォルトの名無しさん:2013/01/01(火) 17:30:08.82
>>489
んにゃ、wstring使うかはともかく、VC++の場合は文字列はSJISエンコーディングになるから
fromLocal8bitで表示できるんだろうし、特におかしくないんじゃないかなってことね

setCodecForCStrings() の代わりがあるかは
Qt5に手を出してないし帰省中だしでちょっとわかんないわすまん
492デフォルトの名無しさん:2013/01/01(火) 20:17:47.41
>>490
池沼は死んでろ
493デフォルトの名無しさん:2013/01/01(火) 21:22:09.00
>>485
英語Windowsにすれば表示されるはずだが、ASCIIにして翻訳した方がいい。
VC++2005から日本語WindowsではコンパイルするとSJISになってしまうという仕様になった。
コンパイラへのオプションで変えることはできない。

>>491
setCodecForCStrings()の代わりはない。
494デフォルトの名無しさん:2013/01/01(火) 22:09:49.15
横から質問だけど、SJISで表現出来ない文字が含まれていたらどうなりますか?
495デフォルトの名無しさん:2013/01/02(水) 04:47:10.36
>> 493
>VC++2005から日本語WindowsではコンパイルするとSJISになってしまうという仕様になった。

へ?
496デフォルトの名無しさん:2013/01/02(水) 09:25:42.01
>>495
ソースコードで"UTF-8"と書いてコンパイルするとバイナリは"SJIS"になってしまうということだよ。
英語Windowsでコンパイルすればバイナリは"UTF-8"のままで"SJIS"への変換はされない。
497デフォルトの名無しさん:2013/01/02(水) 09:26:34.40
MSのVC++のダメ仕様。
498デフォルトの名無しさん:2013/01/02(水) 09:44:27.80
ダメというかキチガイ仕様
499デフォルトの名無しさん:2013/01/02(水) 16:00:56.69
まあ、今時入出力のコードぐらい指定できるようにしろよとは思うわな。
500デフォルトの名無しさん:2013/01/02(水) 17:55:41.83
エディタじゃなくてコンパイラレベルで変換されるの?
501デフォルトの名無しさん:2013/01/02(水) 18:39:37.02
>>500
そうだよ。

gcc でも -finput-charset と -fexec-charset で変換することが出来る。
VC++ の凶悪なところは、,勝手に UTF-8 ⇒ SJIS に変換してしまうところ。
502デフォルトの名無しさん:2013/01/02(水) 19:45:53.36
#define UNICODE
503デフォルトの名無しさん:2013/01/02(水) 20:21:09.91
wchar_tじゃだめなの?
504デフォルトの名無しさん:2013/01/02(水) 22:09:02.88
今後はこれでやろうと思う
QtextCodec *codec = QtextCodex::codecForLocale();
QString str = codec->toUnicode("日本語");
505デフォルトの名無しさん:2013/01/04(金) 11:32:58.54
>>147

嘘が蔓延る2ちゃんぬる
506デフォルトの名無しさん:2013/01/04(金) 12:08:18.11
反論ははっきり書いた方がいい
507デフォルトの名無しさん:2013/01/04(金) 13:48:20.51
MeeGo→Ubuntu
508デフォルトの名無しさん:2013/01/04(金) 21:57:32.81
初歩的な質問でしたらすみません。
PushButtonの上にカーソルが乗った(MouseHover)時に処理をしたいのですが、どのように書けばいいんでしょうか?
MouseHoverのSignalが無いようなのでボタンのRectで判別しようとしたのですが
レイアウトに入れてるせいかx,y値が0のままになってしまい使えませんでした
509デフォルトの名無しさん:2013/01/05(土) 03:53:40.35
>>508
setMouseTracking(true) してるの?
510デフォルトの名無しさん:2013/01/05(土) 07:05:39.61
http://stackoverflow.com/questions/9261175/how-to-do-that-when-the-mouse-pointer-hovor-qpushbutton-then-the-button-emit-a
みたいに、QPushButtonを継承したクラスを作って QWidget::enterEvent () をオーバーライド

GUIデザイナ使ってるならQPushButtonから、作ったクラスに格上げする
http://doc.qt.digia.com/qt/designer-using-custom-widgets.html

でどうだろ?
511デフォルトの名無しさん:2013/01/05(土) 20:19:58.09
>>509
>>510
ありがとうございました。求めていた処理ができました
書き忘れてたのですがデザイナだったので大変助かりました
MouseTrackingは変更済みだったのですが、肝心のボタン上のカーソルを取得する方法がわからず・・
デザイナで選択できるシグナルの種類が増えればもっと楽でいいですね
512デフォルトの名無しさん:2013/01/05(土) 22:12:22.04
proファイルってBOM付きだとエラー出るのかよ・・・
513デフォルトの名無しさん:2013/01/07(月) 11:47:37.19
Windows7+MingGWでQt Creatorの2.4.1を使ってるが
コンパイルしたexeで日本語の"ソ"を正しく表示するにはどこを設定したらいいんだ?
プロジェクトの辺りに見当たらない
514デフォルトの名無しさん:2013/01/07(月) 15:01:55.74
>>513
>>3 は読んだ?
515デフォルトの名無しさん:2013/01/07(月) 16:48:27.22
>>514
上手くいかないです
ttp://www.07ch.net/up2/src/lena8520.png
516デフォルトの名無しさん:2013/01/07(月) 17:04:01.43
ごめんなさい。
setWindowTitle ( QString::fromLocal8Bit("ソフトウェアのタイトル") );
ここからfromLocal8Bit()を取り除いたら上手くいきました。
ありがとうございます。
517デフォルトの名無しさん:2013/01/07(月) 18:32:18.56
てかQt5が来たのになんでこんなに盛り上がってないんだ?
Wikipediaでも日本語での最新版は4.8.3のままだし
518デフォルトの名無しさん:2013/01/07(月) 18:55:17.46
Qt4愛用者にとっては特別嬉しいことがないからね
Qt5が成功すれば新規が増えて盛り上がっていくんじゃないかな
519デフォルトの名無しさん:2013/01/07(月) 19:34:46.69
Qt5.1あたりが出て、英語でもいいから書籍が出たりすれば
盛り上がるかも。
520デフォルトの名無しさん:2013/01/07(月) 20:26:00.11
Ubuntu phone キター
Qt5でアプリ作って公開出来るで
521デフォルトの名無しさん:2013/01/07(月) 23:01:03.55
KDE5マダー
522デフォルトの名無しさん:2013/01/10(木) 10:59:26.35
Windowsメインで Macも対応する(Linuxは必須ではない)
ソフトの内容はグラフィックツール
Boostや C++0xの機能もある程度使いたい
使い慣れたVisualStudio使うのが希望なんだけど
実際に開発された方、Win Mac用の開発に
どの環境がオススメとかありますか?
523デフォルトの名無しさん:2013/01/10(木) 11:02:02.49
wxWidgets
524デフォルトの名無しさん:2013/01/10(木) 13:20:29.32
AdobeCS2祭やQt製アプリのFireAlpacaがある今
どうしてそんなことをしたいのだ
まあFireAlpacaの作者に聞いてみたら?経験者だろうし
525デフォルトの名無しさん:2013/01/10(木) 14:40:17.73
>>524
OpenGL使った3Dのツールなんだ。
ゲーム制作に使うユーティリティーで 独自仕様になる
(マップ作ったり当たり判定入れたりの)
WinとMacがメンバーにいるので両対応させたい。
LGPLで開発しようと思ってて VisualStudioプラグイン使えるとか使えないとか・・・?
526デフォルトの名無しさん:2013/01/10(木) 14:40:35.88
誤爆?
527デフォルトの名無しさん:2013/01/10(木) 14:42:19.05
どうして馬鹿はいつも情報小出しにするのはなぜ?
528デフォルトの名無しさん:2013/01/10(木) 14:59:02.41
どんな情報を出せば必要十分かを判断できないから
529デフォルトの名無しさん:2013/01/10(木) 15:37:04.18
このスレに来た以上、Qt以外の選択肢はなかろうものを。

取り敢えず、WinのQtCreatorで作ったOpenGLアプリを
Linuxで動かせることは確認済み。Macは現在Qtインストール中w
530デフォルトの名無しさん:2013/01/10(木) 15:38:43.52
>>529
そう Qtにする予定だけど WinMac両対応するのに
VisualStudioで作って簡単にMACに移植できるのか
QtCreatorで作るべきなのか
そういうのを聞きたかった
531デフォルトの名無しさん:2013/01/10(木) 15:41:42.69
他人の話を聞いてどんどんどんどん最初に言ったこととは違う「実は」が出てくる
532デフォルトの名無しさん:2013/01/10(木) 16:19:53.65
Cmake使えよ
533デフォルトの名無しさん:2013/01/10(木) 17:47:25.41
>>530
Qtだから、開発環境がなんでっても、コード自体は共通化できるはず。
でもVisual StudioとXCode(Macの標準開発環境)両方でプロジェクトメンテするのは、
プロジェクト規模が大きくなってくるとちょっとめんどいから、
Qt Creator使えばいいんじゃないかな。
Qt Creatorって使い方簡単だし、覚えるの難しくないよ。
534デフォルトの名無しさん:2013/01/10(木) 18:18:33.29
>VisualStudioで作って簡単にMACに移植できるのか
>QtCreatorで作るべきなのか
>そういうのを聞きたかった

最初からそう聞けば良いと思うの
535529:2013/01/10(木) 18:26:46.47
おーし、Macでも無事QtCreateでビルドできたよ。
準備がちょっと面倒だった。
536デフォルトの名無しさん:2013/01/10(木) 18:39:54.64
こういうのは小出ししてるんじゃなくて、自分でもよく分かってないんだよ
分からないところが分からないから自分で問題を解決できない
だから人から色々ヒントを貰って次第に何が分からなかったのかが分かってきて、「実は」と切り出してくる

一番たちが悪いのは分からないところが分からないことを分かってないタイプで、
このタイプは手取り足取り問題を解決してやっても、最後の回答以外は全部的外れの馬鹿回答だと思ってる
537デフォルトの名無しさん:2013/01/10(木) 18:51:22.36
なにこれ
538デフォルトの名無しさん:2013/01/10(木) 18:51:31.29
ちらしは日記の裏で
539デフォルトの名無しさん:2013/01/10(木) 19:00:20.27
チラシ裏返したら知らん人の日記が書いてあるとか面白すぎる
540デフォルトの名無しさん:2013/01/10(木) 19:02:33.43
えっと
馬鹿には無理
こうですか?
わかりません
541デフォルトの名無しさん:2013/01/10(木) 19:06:51.36
解る人だけレスしてください。うざいだけです。
542デフォルトの名無しさん:2013/01/10(木) 19:40:37.95
相手が分かってないことを分かってないのだと分からせるのが、コミュ力の高い人
543デフォルトの名無しさん:2013/01/10(木) 19:56:02.14
意地悪しないで、質問来たら答えてあげりゃいいじゃん。
まぁ、質問者も礼儀は必要だけど。
544デフォルトの名無しさん:2013/01/10(木) 21:27:46.97
そうは言っても礼儀正しければ何やっても許されると思ってる訳じゃないだろう
やっていいことと悪いことの境界が人によって違うだけ
問題の本質を見極めてから出直して来いって人も居るさ
545デフォルトの名無しさん:2013/01/10(木) 22:36:49.16
馬鹿は有害
546デフォルトの名無しさん:2013/01/10(木) 23:08:30.90
>>543
>意地悪しないで、質問来たら答えてあげりゃいいじゃん。
>まぁ、質問者も礼儀は必要だけど。

その手の質問者は「そんな答えは求めてない」とか言い出すからなぁ。
547デフォルトの名無しさん:2013/01/10(木) 23:29:07.76
はてなとかに入り浸ってるとそういう感性になってくるよな
あそこは質問者のほうが立場上だから
548デフォルトの名無しさん:2013/01/11(金) 08:11:08.68
eNprdGhEhnH6XMi8RgcFfQj71L1t6+FS
Cvr6jXc0G/c3BgLhfriwvl5No4NejUJz
LpIZQVwwPY0OQOkaBSBnDlRujgKYC4ZQ
ZfoKYGVzkkEcDYX4xjnxmo0OzXUKU/L6
1jadbDo7bfP0uVwwA8FqG4MgjH01YAMa
A7kgNND1LQtgroC6Kb4xDiyr1BiAAjP1
9JpzFQBRXmeP
549デフォルトの名無しさん:2013/01/12(土) 07:03:42.13
タイーホ
550デフォルトの名無しさん:2013/01/12(土) 10:25:36.48
>>548
なんなのこれ?
551デフォルトの名無しさん:2013/01/12(土) 10:28:30.83
>>550
わかる奴にはわかる
552デフォルトの名無しさん:2013/01/12(土) 23:37:30.06
>>550
遠隔操作ウイルスの指令コード in base64
かもしれない。
553552:2013/01/12(土) 23:39:28.05
に見せかけたただの荒らし
同じようなのがあちこちに貼られている
554デフォルトの名無しさん:2013/01/13(日) 00:57:42.00
だれかデコードプリーズ
こっちは現在もしもしなんでできん
555デフォルトの名無しさん:2013/01/13(日) 02:01:50.95
base64で16進デコード。意味のある内容なのかは知らね

78da6b7468448671fa5cc8bc4607057d
08fbd4bd6debe1520afafa8d77341bf7
370602e17eb8b0be5e4da3835e8d4273
2e9219415c303d8d0e40e91a0520670e
546e8e02980b865065fa0a6065739241
1c0d85f8c639f19a8d0ecd750a53f2fa
d6369d6c3a3b6df3f4b95c3003c16a1b
83208c7d3560031a03b92034d0f52d0b
60ae80ba29be310e2cabd418800233f5
f49a731500515e678f
556デフォルトの名無しさん:2013/01/13(日) 11:22:25.01
どうせ暗号化されてんだろ。
557デフォルトの名無しさん:2013/01/13(日) 11:35:41.43
P2Pのファイルハッシュか何かじゃね
558デフォルトの名無しさん:2013/01/13(日) 11:39:09.81
いつまでスレ違いやってんだボケが
>>553 の言う通りじゃまいか
559デフォルトの名無しさん:2013/01/13(日) 22:27:13.64
78daでぐぐると色々出て来るな。
560デフォルトの名無しさん:2013/01/13(日) 23:11:23.73
zlibで展開するとしょうもないAA
561デフォルトの名無しさん:2013/01/16(水) 18:44:12.90
ubuntuphoneが念願のQtスマホだな
562デフォルトの名無しさん:2013/01/17(木) 19:57:08.09
どのみち、QMLみたいなjavascriptの親戚でUI弄るんだろ
563デフォルトの名無しさん:2013/01/18(金) 19:13:16.48
アプリ終了時にiniファイルにgeometryを書き込んで、起動時にsetgeometryで復元してるのですが、
ウィンドウを最大化して終了して再起動すると、ウィンドウの上の部分がちょっとずれます。
解決方法があったら教えて下さい。
564デフォルトの名無しさん:2013/01/18(金) 19:26:27.72
うちはならんな
565デフォルトの名無しさん:2013/01/18(金) 19:32:25.89
俺の環境だけかな?
・・・
566デフォルトの名無しさん:2013/01/18(金) 19:32:35.88
ならぬことはならぬものです
567デフォルトの名無しさん:2013/01/18(金) 19:43:48.86
とりあえずサンプルコードです
http://u8.getuploader.com/vipprog/download/878/sample.zip

自分だけなのか知りたいので試していただけると嬉しいです
568デフォルトの名無しさん:2013/01/18(金) 19:46:29.75
GUI環境によりけりじゃね?
569デフォルトの名無しさん:2013/01/18(金) 20:21:02.18
環境に寄るだろうね
うちはWin7だけどそうなる

原因は一部の環境ではウィンドウを最大化するとウィンドウのposが負値になるから
ユーザが最大化したまま終了したなら、ちゃんと最大化した状態で再起動してあげましょう
570デフォルトの名無しさん:2013/01/18(金) 20:30:14.49
>>568-569
ありがとうございます
571デフォルトの名無しさん:2013/01/21(月) 08:56:57.11
趣味でGUIを作りたてqtの勉強を始めようと思うんですが
WindowsのGUIアプリを作るのにはJavaScriptの知識が必須なんでしょうか?
572デフォルトの名無しさん:2013/01/21(月) 09:03:21.90
JavaScriptの知識があっても良いし無くても良い
Qtやりたいならもちろん無関係
573デフォルトの名無しさん:2013/01/21(月) 09:05:13.83
日本語で ok
574デフォルトの名無しさん:2013/01/22(火) 21:22:53.75
575デフォルトの名無しさん:2013/01/23(水) 00:29:14.35
Qtのコード自体を修正して使うって良くあるの?

組込向けで少し気になる挙動があったから、ちょこっといじる事になった
576デフォルトの名無しさん:2013/01/23(水) 00:35:55.33
改変したら公開しないといけないんじゃないっけ
577デフォルトの名無しさん:2013/01/23(水) 00:40:39.94
>>574
なかなか面白そうだけど、こっちの方も俺興味あるね。
http://www.youtube.com/watch?v=ttlaK_OT6pQ

QtをWeb上で動かしているらしい。
QtでクライアントWeb開発できたらかなりイイよなぁ。
578デフォルトの名無しさん:2013/01/23(水) 00:41:59.74
さすがに商用版っしょ
579デフォルトの名無しさん:2013/01/23(水) 02:23:04.22
web業界が普及すると組み込み辺りは何だか修羅道に見える
580デフォルトの名無しさん:2013/01/23(水) 05:12:04.12
>>577
見覚えある
TypeScriptがモドキじゃなく本来の意味で型安全になったら使いたい
581デフォルトの名無しさん:2013/01/23(水) 06:46:10.93
ダウンキャストやRTTI使ったら、c++だって安全じゃないだろ
582デフォルトの名無しさん:2013/01/23(水) 17:32:35.13
>>580
結局現在のJavaScriptに変換されるなら、モドキの域を抜け出すのって無理そうだよね。
JavaScript自体が完全な型安全に進化しないかぎり。
583デフォルトの名無しさん:2013/01/24(木) 01:14:42.03
質問です。


VirtualScrollBarを使用した状態で、アイテムが30行あるQTableWidgetを配置したとき、
常に10行分だけ表示範囲領域に表示する、というふうにするには
どうすればよろしいでしょうか。

setResizeModeと何かを組み合わせればなんとかなる???のか…?
584デフォルトの名無しさん:2013/01/24(木) 07:34:45.52
>>577
これすげえな、実用レベルになるまで時間かかりそうだけども
585デフォルトの名無しさん:2013/01/24(木) 11:18:55.51
ついでにこれも
Qt を Web ブラウザで動かす | Qt のあれこれ (仮)
http://qt-labs.jp/2012/12/qt-on-web-browser.html
586デフォルトの名無しさん:2013/01/24(木) 14:48:21.70
ネイティブコード吐くから意味があるのに
こんなことしてパフォーマンス落として
何が嬉しいの
587デフォルトの名無しさん:2013/01/24(木) 15:28:59.62
作ったネイティブアプリがボタン一発でブラウザでも動くようになるなら
俺は普通に嬉しいけど
588デフォルトの名無しさん:2013/01/24(木) 18:42:47.19
なんで?
ネイティブで動いてんのに
589デフォルトの名無しさん:2013/01/24(木) 19:59:44.29
>>583
VirtualScrollBarが何のことか分からんけど、
Widgetの大きさを指定したいならQWidget::setFixedSizeがオススメ
大きさは変えずに指定した10行だけ表示させたいならQTableView::setRowHiddenが便利
590デフォルトの名無しさん:2013/01/24(木) 20:36:55.98
最近のJavaScriptは、しっかりチューニングすればネイティブ並の速度が出せますし。ブラウザのレンダリングが追いつかないけど
591デフォルトの名無しさん:2013/01/24(木) 20:53:28.90
>最近のJavaScriptは、しっかりチューニングすればネイティブ並の速度が出せますし

はいはい、お馬鹿さん
自分の無知をさらけ出さなくていいよ
592デフォルトの名無しさん:2013/01/24(木) 21:53:33.04
>>590
いやいや、せいぜい数十分の1がせいぜいだろ。
それでもスクリプト言語としては十分速いとは思うけどね。
593デフォルトの名無しさん:2013/01/24(木) 22:46:22.56
>>592
単純な計算処理なら2〜3倍だぞ。
実際にC++とjavascriptで同じコード書いて確かめた。
ちなみにV8だけど、想像以上に速いよ。
594デフォルトの名無しさん:2013/01/24(木) 23:09:21.32
確かにV8は爆速だねV8は
でも世界中のみんながチョロメ使ってるとでも思ってるの?
火狐やIE()の方がシェア高い
595デフォルトの名無しさん:2013/01/24(木) 23:50:15.48
で?
596デフォルトの名無しさん:2013/01/25(金) 00:05:18.00
すいません質問です。
QString str;に "test (100)"という文字列が入っているのですが"(100)"の部分を削除するために
str.remove(QRegularExpression("\(.*\)"));というコードを書いたのですがうまくいきません。
Qtで"(100)"にマッチする正規表現のパターンはどう書けばいいのでしょうか?
597デフォルトの名無しさん:2013/01/25(金) 00:22:24.41
QRegularExpression("\\(.*\\)")
QRegExpのドキュメントを一度じっくり読もう
598デフォルトの名無しさん:2013/01/25(金) 00:33:42.38
>>597
ありがとうございます。無事出来ました
599デフォルトの名無しさん:2013/01/25(金) 00:48:40.42
>>595
そこまで言ったら何が言いたいかわかるでしょアスペでない限り
みんなが高速なブラウザ使ってるわけじゃないから
一部のブラウザでネイティブに近い速さでWeb版Qtが動いたとしても大部分のブラウザではそうでないから普及の観点からいうとあまり意味ない
600デフォルトの名無しさん:2013/01/25(金) 01:05:34.22
ブラウザで動作する場合の問題は速度よりサンドボックスだろ
JavaScriptベースだと制限多すぎる
601デフォルトの名無しさん:2013/01/25(金) 01:15:41.18
Webアプリケーションから砂場の外をいじりたくなることってある?
602デフォルトの名無しさん:2013/01/25(金) 03:30:11.95
>>599
ブラウザの競争上、JavaScriptエンジンの高速化は至上命題だから、
解決は時間の問題だとも思うけどね。
603デフォルトの名無しさん:2013/01/25(金) 07:48:07.36
>>596はマルチです

正規表現 Part10
http://toro.2ch.net/test/read.cgi/tech/1340383120/526
604デフォルトの名無しさん:2013/01/25(金) 08:15:35.15
こっちにもいるな
605デフォルトの名無しさん:2013/01/25(金) 08:28:20.25
>>601
最初からWebアプリとして作ってたらあまりないけど
ネイティブの移植ってことだとありすぎるんじゃないかなあ
606デフォルトの名無しさん:2013/01/25(金) 09:38:05.58
ネイティブを移植ってどこへ?
607デフォルトの名無しさん:2013/01/25(金) 11:47:26.20
>>603
本来の質問とこっちで質問したほうがいいかという質問両方スルーされたからこっちで聞いたのだが
まぁあっちのスレで質問取下げなかったのも悪かったけど
608デフォルトの名無しさん:2013/01/25(金) 12:37:19.22
>>607
がたがた言い訳する前に、「質問を取り下げずにすまん」位のことは言えないのかな?
つーか、高々半時間も待てないなんて早漏でどうするんだよ。
609デフォルトの名無しさん:2013/01/25(金) 13:16:34.94
>>608
お前何様だよwww
なんで質問スルーしてマルチマルチ言ってるだけの馬鹿に謝らなくちゃいけないんだよwww
610デフォルトの名無しさん:2013/01/25(金) 13:56:05.71
また面倒なやつが紛れ込んできたな……。
611デフォルトの名無しさん:2013/01/25(金) 14:30:27.76
ここまで漏れの自演
612デフォルトの名無しさん:2013/01/25(金) 14:44:12.72
正規表現が作れない上にヘルプも読めない馬鹿がなんか言ってるな。
613デフォルトの名無しさん:2013/01/25(金) 17:43:15.41
>>612
自演乙
614デフォルトの名無しさん:2013/01/25(金) 19:41:01.72
そういやQMLってV8 coreになったんだっけ?
615デフォルトの名無しさん:2013/01/25(金) 22:58:04.97
V8だろうが遅いものは遅い
C++の10分の1程度の速度しか出ないよ
最適化オプションつけ忘れたんだろ
616デフォルトの名無しさん:2013/01/26(土) 02:04:11.41
>>588
用途によっては、ウェブ上でデプロイできると楽
さらにウエブ上で動作させたあと、ボタン一発でクライアントのネイティブアプリに戻してDLできればもっと楽
617デフォルトの名無しさん:2013/01/26(土) 07:59:12.20
いまだにネイティブ云々言ってる奴は技術者としては終わってる
618デフォルトの名無しさん:2013/01/26(土) 08:11:11.46
みんなそう言うんだよ…そしていつのまにかはしごを外されて消えていく
619デフォルトの名無しさん:2013/01/26(土) 11:02:55.02
誰でも使えるオープンソース使ってたんじゃ誰でも作れるもんしかできねえ
620デフォルトの名無しさん:2013/01/26(土) 11:20:58.75
必要であれば使う
それ以上でもそれ以下でもない
621デフォルトの名無しさん:2013/01/26(土) 15:36:35.35
車輪の再発明すら出来ない奴が偉そうだなw
なにか新しいモノ産み出したことあるのか?
622デフォルトの名無しさん:2013/01/26(土) 20:47:44.13
安全で小さくて速いのがいいのだ。そういうのにカネをだす
623デフォルトの名無しさん:2013/01/26(土) 21:14:50.79
新しいバグを日々作り出しています
624デフォルトの名無しさん:2013/01/26(土) 21:35:47.98
創造性のない奴にはオープンソースを活用するのは無理。
625デフォルトの名無しさん:2013/01/26(土) 22:07:36.22
おぷそに求められてるのは、既存商用製品のコピーの類似度を上げて、それをタダでばらまくことだから
イノベーションとかまったく不要だよ。創造はプロプライエタリなものを作ってる連中がやる。
626デフォルトの名無しさん:2013/01/26(土) 22:14:41.45
プロプラのコピーなんか氷山の一角
627デフォルトの名無しさん:2013/01/27(日) 06:14:12.92
一般的に一般人はプロプラのコピーかP2Pクライアントしか使わない
628デフォルトの名無しさん:2013/01/27(日) 09:12:24.07
zipもいまは久美子済だしな
629デフォルトの名無しさん:2013/01/27(日) 14:24:14.65
cppcheckで自分のプログラムのソースコードを調べたら、
QListのiteratorでポストインクリメントではなくプリインクリメントを使った方が効率的と言われたんだが
大抵、前の値がコピーされて、少し余分なコードが追加されるとも言われた

そんな違うの?
630デフォルトの名無しさん:2013/01/27(日) 14:28:15.18
うん
631デフォルトの名無しさん:2013/01/27(日) 14:32:56.13
どれくらい?
632デフォルトの名無しさん:2013/01/27(日) 15:03:44.97
前の値をコピーして、少し余分なコードを実行する分
633デフォルトの名無しさん:2013/01/27(日) 15:27:12.37
>>629
C++についての基本的な知識が欠けていると思われます
ここで質問する前にもう少し自分で勉強しましょう
634デフォルトの名無しさん:2013/01/27(日) 17:02:48.33
>>632
STLでもソースを読むとそんな感じになってたわ。
635デフォルトの名無しさん:2013/01/27(日) 17:21:00.16
>>629
程度は重要じゃないでしょ
重要なのは、言語レベルにおいて、プリは必ずポストより効率的にできると言う事実でしょ
どちらでも選べるなら、わざわざ不利かもしれない方を選択する必要はないわけで
636デフォルトの名無しさん:2013/01/27(日) 18:48:18.08
程度は重要だよ?
充分に小さいなら、わざわざ考慮する必要がない。
637デフォルトの名無しさん:2013/01/27(日) 19:06:30.42
グダグダ言わずにコンパイラから吐き出されるオブジェクトコード読んでみれば?
638デフォルトの名無しさん:2013/01/27(日) 19:19:15.63
>>636
そう、程度なんて考える必要がないの
同程度の手間で、同程度の記法で書けるるんだから、わざわざ不利な方を選ぶ必要ないでしょ
それは非最適化だよ
639デフォルトの名無しさん:2013/01/27(日) 19:20:48.11
程度を考える必要があるのは、トレードオフがある場合のみな
640デフォルトの名無しさん:2013/01/27(日) 19:54:49.09
++i の書き方しかしねーわ。後置する場面なんてほとんどないし
まあC++って言語名が失敗だったよね++C言語にするべきだった
641デフォルトの名無しさん:2013/01/27(日) 20:04:15.87
C+1
642デフォルトの名無しさん:2013/01/27(日) 20:35:43.99
必ず前置しておけば何も気にすることは無い
使い分けなど不要
643デフォルトの名無しさん:2013/01/27(日) 20:53:45.92
意味がちがうやん
644デフォルトの名無しさん:2013/01/27(日) 20:57:37.79
普通に必要に応じて i++ と ++i 使い分けるだけ。

中でも、副作用だけ必要なら ++i の方が前の値を保存する必要がないから効率が
よくなる可能性があると言うだけのことだろ。

今時のコンパイラでそんな最適化もしないような奴があるかどうかは知らないけど。
645デフォルトの名無しさん:2013/01/27(日) 21:02:41.88
オーバーロードされてる場合は勝手に後置を前置に変えたりしないよw
646デフォルトの名無しさん:2013/01/27(日) 21:40:42.41
Effective C++すら読んでない奴がQt使ってるとか…
世も末だな
647デフォルトの名無しさん:2013/01/27(日) 21:42:25.64
>>641
馬鹿は巣に帰れ
648デフォルトの名無しさん:2013/01/27(日) 22:47:32.44
>>644
使い分けが必要な状況は無くした方がいいな
インクリメント/デクリメントは常に単独で使う
こすれば前置だけ使えばいい
649デフォルトの名無しさん:2013/01/27(日) 23:31:12.41
値をインクリメントしつつ前の値をコピーして返して欲しいときにポストインクリメントより綺麗なコードはない
機能さえちゃんと理解していればそんな危険な代物じゃないよ
650デフォルトの名無しさん:2013/01/27(日) 23:44:18.77
おっけーおっけー
スタイル議論になりそうだからこの辺にしとこーぜ
651デフォルトの名無しさん:2013/01/28(月) 00:03:19.23
こんな基礎的なことでスタイルとか言わんでくれ
652デフォルトの名無しさん:2013/01/28(月) 00:45:40.05
>>649
綺麗に見えるけど、オーバーロード時には複製が行われる
653デフォルトの名無しさん:2013/01/28(月) 02:21:10.16
>>652
その複製が必要な時はって話だろう

ちなみに一応誤解が無いように補足しとくと、
QList::iteratorの後置は値のコピーじゃなくてポインタのコピーしかしません
Qtはそんな残念設計じゃないから安心してね
654デフォルトの名無しさん:2013/01/28(月) 07:36:44.84
Qtかどうかで細かく前置後置を切り替えるとかありえなーい
655デフォルトの名無しさん:2013/01/28(月) 08:32:21.07
>>649
そんな当たり前の事は誰も議論してないだろ
656デフォルトの名無しさん:2013/01/28(月) 09:26:50.95
>>615
もちろん最適化オプションつけてだよ。
単純な計算処理っていってんだから試してみればいいだろ。
657デフォルトの名無しさん:2013/01/28(月) 14:40:28.16
QListをiteratorで使わなければいい
indexベースのAPIでiteratorは互換性の為に付けてるにすぎない
前置後置以前にQListはiteratorよりdirect indexのほうが速い
658デフォルトの名無しさん:2013/01/29(火) 06:30:43.86
indexにしたってインクリメントはするわけだが
前置か後置かの話をしてるのに…
659デフォルトの名無しさん:2013/01/29(火) 07:20:27.90
インデックスの前置後置は最適化されるだろ
イテレータは無理だが

って話だよ
660デフォルトの名無しさん:2013/01/29(火) 07:21:41.78
まあどちらにしろ前置を使えば何も気にする必要ないじゃんって話だけどな
なんで頑に前置を使いたくないんだろう?
661デフォルトの名無しさん:2013/01/29(火) 07:30:36.90
>>660
FAだな
前後どちらでも良い文脈なら、
反射運動で前置
662デフォルトの名無しさん:2013/01/29(火) 07:34:10.84
まあ、後置の方が、多くの場合において直感的な気がするがな
慣れるまで前置は若干違和感がある気もする
いずれにせよ、慣れの問題だな
663デフォルトの名無しさん:2013/01/29(火) 07:35:17.73
単項演算子はむしろ前置の方が普通では?
マイナスにしろsizeofにしろnewにしろdeleteにしろキャスト演算子にしろ
664デフォルトの名無しさん:2013/01/29(火) 08:02:20.26
>>663
そうなんだが、+=1 の糖衣構文って考えちゃうと、後置の方が違和感無くね?
665デフォルトの名無しさん:2013/01/29(火) 10:55:35.14
えっ?
666デフォルトの名無しさん:2013/01/29(火) 12:09:49.06
>>660
俺には頑に後置を使いたくない人達が居るように思えるんだが。
使い分ければいいという当たり前の話が出ているのに、何故前置を使えばいいという結論にしたがるのか。
とりあえず○○を使っておけばいいって発想は、結局別の問題を引き起こすのがオチだろう。
667デフォルトの名無しさん:2013/01/29(火) 13:49:24.60
あ〜、分かった〜
本当は後置を使うのが怖いんでしょ〜?
668デフォルトの名無しさん:2013/01/29(火) 18:42:08.88
Qtはじめて触るんだが 5.0 LGPL使おうと思ってる
開発環境が色々あって ちょっと悩んでる。
出来れば Win&Macでどちらでも開発出来るようにしたいが
不可能ならMacで開発できるようにしたい
開発環境それぞれ メリットデメリット教えてほしい

Qt-eclipse使えば Win&Mac出来るとおもったが メンテされてない?
QtCreatorは使いにくそう? Win版インストールしたが キットが無いと怒られた←調査中
VS pluginは ちゃんと動いたが Macで(rt
XCODE pluginあるの?

よろしくおねがいします。
669デフォルトの名無しさん:2013/01/29(火) 18:58:49.19
エディタ使えばどんな環境でもいけるよ。
670デフォルトの名無しさん:2013/01/29(火) 20:33:45.97
>>664
ネタですよね?
671デフォルトの名無しさん:2013/01/29(火) 22:01:35.05
PCゲームのGUIコンフィグソフトにQt使ってみたいんだけど、
ゲームの方までGPL適用になる?
コンフィグソフトはどうでもいいからオープンソースでいいんだけど

↓こんな感じで同梱
game.exe (config.iniを読み込む)
config.exe (config.iniを書き出す)
672デフォルトの名無しさん:2013/01/29(火) 22:06:04.49
>>669
デバッガ使いたい。
673デフォルトの名無しさん:2013/01/29(火) 22:09:08.26
>>671
ならないよ。
674デフォルトの名無しさん:2013/01/29(火) 22:12:19.59
スタティックリンクだったらなっちゃう
675デフォルトの名無しさん:2013/01/29(火) 22:27:23.21
ならないよ
676デフォルトの名無しさん:2013/01/29(火) 22:29:55.46
商用ライセンス勧めろや
開発が安定してみんなハッピーだろ?
677デフォルトの名無しさん:2013/01/29(火) 22:53:32.66
1ライセンス1開発者1プラットフォームで1400ユーロぐらいかかるって話もあるし、
企業じゃなければ難しいだろ。
678デフォルトの名無しさん:2013/01/29(火) 23:27:40.76
個人開発者向けの安め設定プランとかあれば買うのに。
679デフォルトの名無しさん:2013/01/29(火) 23:41:14.19
Qt5 Windows インストール出来た人おらん?
どうやったら 64ビット使えるの?
680デフォルトの名無しさん:2013/01/29(火) 23:50:02.47
みんなチャレンジャーだなぁ...
俺は当分4.8でいいや。5じゃなきゃならない理由は特に無いな。
4.8はまだバグFixリリースが予定されてるみたいだし。

最低でも一年くらい経って安定してからでもよさそう。
681デフォルトの名無しさん:2013/01/29(火) 23:50:34.44
普通にインスコしてそのまま使えるけど
682デフォルトの名無しさん:2013/01/29(火) 23:53:34.62
>>681
ダウンロードサイトで 32ビット版しかなかったんだが・・
683デフォルトの名無しさん:2013/01/29(火) 23:54:39.38
いや64ビットでも動くから
684デフォルトの名無しさん:2013/01/30(水) 00:20:14.04
>>662
値が必要なときは、後置の方が多いからじゃね?
685デフォルトの名無しさん:2013/01/30(水) 00:21:53.29
条件判定する時は前置が多い
686デフォルトの名無しさん:2013/01/30(水) 01:05:28.28
>>679
整理して質問して〜ね
(1) OSは32bit版か64bit版か
(2) Qtライブラリは32bit版か64bit版か
(3) Qt Creator は32bit版か64bit版か
(4) ビルドしたいのは32bitアプリか64bitアプリか
687679:2013/01/30(水) 02:10:47.96
>>686 テンプレさんくす
1、OSはWin7 64ビット & VisualStudio2010
2、Qtライブラリは 32ビット版しかDLサイトになかった
3、QtCreatorは、VisualStudioで動くなら使わない予定
4、ビルドしたいのは 32ビット、64ビット 両方。

とりあえず 32ビット版のライブラリってかいてたが、64ビットでもコンパイル出来てるきがする
688デフォルトの名無しさん:2013/01/30(水) 03:00:02.61
64bit版のQtライブラリは自分でビルドする必要があったはず
ビルドは時間かかって面倒だし、32bit版Qtライブラリに比べると多分デバッグも甘いと思うよ
Qt5でしかも64bitとなると自分が人柱になる覚悟がいるかも
Qt4なら「qt 64bit build」とかでググればいいんだけどね
689679:2013/01/30(水) 11:18:40.16
>>688
なるほど、やっぱ人柱ならないとだめか。
Qt4はコンパイルした事あるから やってみっか・・
690デフォルトの名無しさん:2013/01/30(水) 13:22:42.17
QTのGLとWebKit対応は5からなんでしょうか・・・。

各デスクトップOSや携帯端末OSの対応状況表とかどこかにござますでしょうか。
ご紹介していただけましたら幸いです。
691デフォルトの名無しさん:2013/01/30(水) 13:27:49.63
>>690
QtCreatorでQtOpenGL使ってます。QtCreatorは2.4.1、QtSDKは4.7.4です。
692デフォルトの名無しさん:2013/01/30(水) 14:59:20.10
>>691
ありがとうございます。
参考になりました!
693デフォルトの名無しさん:2013/01/30(水) 15:16:03.02
あ、忘れてた。>691はWindows7での話。
MacOSXの方はQtCreator2.6.1, Qt4.8.3(64bit)でした。
694デフォルトの名無しさん:2013/02/01(金) 02:39:30.42
Designerで作ったuiをCreatorで読み込むことは出来ますでしょうか?
せっかく作ったのにイチから作り直すのが勿体無くて…
695デフォルトの名無しさん:2013/02/01(金) 05:30:53.26
win64はqtwebkitのビルドが面倒。かなりいろいろなlibとexeを要求してきてる。たちなみに5.0.1のビルドね。
696デフォルトの名無しさん:2013/02/01(金) 08:39:04.91
>>694
大丈夫だと思った。やってみそ。
697デフォルトの名無しさん:2013/02/01(金) 15:56:58.66
いや駄目でした。規定のコンストラクターが無いとか言われて。
諦めてイチから作り直します…
698デフォルトの名無しさん:2013/02/01(金) 18:42:10.86
win、macで実行ファイルを作りたい場合は、Qt Creatorで
プロジェクトを作って双方でコンパイルってのが一番手軽なのかな?
699デフォルトの名無しさん:2013/02/01(金) 21:50:41.19
普段はdesignerで*.ui書いて、editorで*.pro書いてある程度完成してから
debugの時にcreatorで読み込ませることが多いけど、ui含めて一度も問題に
なったこと無いな
Linuxのdesignerで作ってWindowsのcreatorで読ませたりしてるが
700デフォルトの名無しさん:2013/02/02(土) 16:44:00.39
>>697
普通に考えてダメな理由はないでしょ? 何かが間違ってる。
701デフォルトの名無しさん:2013/02/02(土) 16:53:51.72
規定のコンストラクターが無いってんだから引数の問題じゃないのか
702デフォルトの名無しさん:2013/02/02(土) 17:28:44.69
それ、Designerの問題なんだろうか。
703デフォルトの名無しさん:2013/02/06(水) 21:14:20.61
ネット上の動画ファイルを再生したいのですがPhonon以外にありますか?
Phononだと、動画再生後にフリーズしたりマウスカーソルが消えてしまったりで・・
704デフォルトの名無しさん:2013/02/07(木) 07:07:45.58
すいません質問です。
下記のコードはインターネットからファイルを取得し、それを表示するというものなのですが、
get_file()は非同期で行われるため、ファイルがまだ取得できていない状態でdisplay_file()が呼ばれエラーになってしまいます。
ここでget_file()の終了を待つための良い方法があればご教授願います。

void func() {
 get_file();
 display_file();
}
705デフォルトの名無しさん:2013/02/07(木) 07:14:14.42
なんでここで聞く?
get_fikeが成功したらsignal発行してdisplay_file実行するようにすれば?
ってこと聞きたかたの?
706デフォルトの名無しさん:2013/02/07(木) 08:13:52.47
QNetworkAccessManager
707デフォルトの名無しさん:2013/02/10(日) 23:21:15.95
VCコンパイラでqt creatorを使ってますが、compile output を英語にするにはどうすればいいのでしょうか?
708デフォルトの名無しさん:2013/02/11(月) 11:24:01.87
chcp 437
709デフォルトの名無しさん:2013/02/17(日) 02:23:22.34
Qt5を使ったソースのビルドをCMakeを使ってやりたいのですが、
FindQt5Widgets.cmakeなどのファイルはどこでDLできるでしょうか。

http://www.kdab.com/using-cmake-with-qt-5/
ここに使い方は書かれているのですが、DL先が見当たりません。
710デフォルトの名無しさん:2013/02/17(日) 11:24:59.62
>>709
やりたいことがQt5をソースからビルドしたいということなら、cmakeを
インストールしたら、Qt5ソース付属のINSTALL読めばいい
711デフォルトの名無しさん:2013/02/17(日) 11:49:18.99
>>710
Qt5を使った「自分の」プログラムソースを、
CMakeを使ってビルドしたい、という事です。

言葉が足りず、すいませんでした。
712デフォルトの名無しさん:2013/02/17(日) 12:38:36.46
>>711
そういうことか。
そういえば、Qtのビルドにcmakeは使わないね。最近Qtとcmake使うライブラリ
ビルドしたので、勘違いした。すまん。
713デフォルトの名無しさん:2013/02/17(日) 13:29:46.53
*.cmakeファイルってのはcmakeが自動的に作成するものじゃないの?
qt4ならcmake-qt-guiとかいうパッケージを入れておけば(@debian)、普通にビルドできると思うけど
qt5は知らん
714デフォルトの名無しさん:2013/02/17(日) 14:21:49.16
>>713
すいません、Windows です。

[CMakeのインストールディレクトリ]\share\cmake-2.8\Modules 内に、
Find***.cmake というファイルが色々あります。

自分のプロジェクトの CMakeLists.txt で例えば find_package (OpenGL)
と書いておくと、OPENGL_INCLUDE_DIR に OpenGL のインクルードパスが書き込まれ、
OPENGL_LIBRARIES に OpenGL のライブラリパスが書き込まれます。
あとは、それらを include_directories や target_link_libraries に指定すれば、
インクルードパスやライブラリパスがメイクファイルに書き込まれます。
非常に便利です。
(もちろん、include_directories などに直にパスを書き込んでもいいですが、
環境が変わればそのパスもその都度書き直しになって不便です)

これができるのは上記のディレクトリに FindOpenGL.cmake ファイルがあるからです。
CMake は find_package を処理する時に Find***.cmake を探すのです。
FindQt.cmake や FindQt3.cmake、FindQt4.cmake もありますね。
Cmake の作者が予め作っておいてくれたからです。

他にも色々なライブラリ用の Find***.cmake が予め作られていますが、
無いものは自分で作るか、ネットからDLしてくるかします。
私も例えば GLEW 用のものは他の Find***.cmake の記述を参考に自作しました。
比較的簡単でしたから。

ただ、Qt 用のは大きすぎて(複雑で)、とても自分では作れません。
なのでネットで探したのですが、使い方マニュアルはあるのに、
肝心の Find***.cmake ファイルのありかが分かりません。

使い方から推測するに、FindQt5Widgets.cmake や FindQt5Declarative.cmake など、
モジュール毎に Find**.cmake ファイルが分かれている形だと思うのですが・・・
715デフォルトの名無しさん:2013/02/17(日) 14:28:05.89
こちらの環境も書いておきます。

Windows7 64bit
MinGW (tdm64-gcc-4.7.1-3)

Qt5 は http://qt-project.org/wiki/MinGW-64-bit
ここの下の方に Qt-builds の Binary builds へのパスがあり、
そこから Qt-5.0.1-x64.7z をDLして展開し、
bin へのパスを環境変数 PATH に追加しました。

そして、bin ディレクトリにある qt.conf ファイル内の prefix を
展開したパスへと修正しました。
716デフォルトの名無しさん:2013/02/17(日) 17:17:25.66
>>714
http://doc-snapshot.qt-project.org/5.0/qtdoc/cmake-manual.html
> In order for find_package to be successful, Qt 5 must be found below the CMAKE_PREFIX_PATH,
> or the Qt5<Module>_DIR must be set in the CMake cache to the location of the Qt5WidgetsConfig.cmake file.
> The easiest way to use CMake is to set the CMAKE_PREFIX_PATH environment variable to the install prefix of Qt 5.
この通りにしてもだめなんですか?
717デフォルトの名無しさん:2013/02/17(日) 17:35:30.81
>>716
できました。

cmake 関係のいろんなページで Find**.cmake ファイルと
find_package コマンドとの関係を学んでいたので、
Find**.cmake ファイルが無ければ find_package コマンドは使えないと
思い込んでいました。

ありがとうございました。
718デフォルトの名無しさん:2013/02/17(日) 17:39:55.94
http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries
> The find_package() command will look in the module path for Find<name>.cmake,
> which is the typical way for finding libraries. First CMake checks all directories in ${CMAKE_MODULE_PATH},
> then it looks in its own module directory <CMAKE_ROOT>/share/cmake-x.y/Modules/.
>
> If no such file is found, it looks for <Name>Config.cmake or <lower-case-name>-config.cmake,
> which are supposed to be installed by libraries (but there are currently not yet many libraries which install them)
> and that don't do detection, but rather just contain hardcoded values for the installed library.
これの後半ですね

http://www.kdab.com/kdab-contributions-to-qt-5-0-part-1/
> ‘CMake Config files’ are now generated as part of the build-process of Qt itself and shipped in packages
とあるように、Qtで用意するようになったっぽいので
cmakeのmodulesでFind***.cmakeを使うのではなく、
パスを追加して、Qtの***Config.cmakeを参照するようになったという感じ?
719デフォルトの名無しさん:2013/02/17(日) 18:15:48.25
Qtとcmakeの力関係の変化が如実に現れた変更…
720デフォルトの名無しさん:2013/02/17(日) 23:33:39.33
QtCreator2.6.2、Qt4.8.4、Visual Studio 2010です

コンソールアプリケーションを閉じた後
もう一度ビルドして実行しようとしたら
:-1: エラー: LNK1104: ファイル 'debug\hoge.exe' を開くことができません。
となってビルドに失敗する事があります

エクスプローラーからexeを削除すると、消えたように見えますがリロードするとまだ有ります。
コマンドプロンプトからexeファイルの削除を試みても「アクセスが拒否されました。」と出てきてしまいます。
それでもしばらく待つと、exeファイルが消えている事があります。

ちゃんとコンソールのウィンドウは閉じているのに、何故だろう
721720:2013/02/17(日) 23:58:57.63
Application Experience無効にするとビルドに影響が出るという情報を今見つけました
多分私のせいです
VSの問題のようだし最初からスレチだったか
722デフォルトの名無しさん:2013/02/23(土) 17:25:55.63
どうもどうも
昨晩から使い始めて、サンプルのNotepadを動かしているのですが

utf8のtxtファイルを読むと文字化けしてしまいます。
どうもQtがファイルをshift-jisと解釈して表示している挙動です。
Qtはデフォルトのエンコーディングがutf8になったと聞いていたので
鼻水が出そうになったわけです。

確かに、Notepadに適当に日本語を打ち込んで保存したらshift-jisのtxtファイルができたわけですが。

これは、ひょっとして内部ではutf8のつもりでstringを引き回して
shift-jis時代のwindowsAPI(TextOutA等)にそのまま渡していると言う奴なのでしょうか?
自分のアプリでshift-jisをサポートするつもりはないので
ちゃんとunicodeで動作するようにしたいのですがなんか方法はあるのでしょうか?
先達の教えをいただけたらと思います。

とりあえず、setCodecForCStringsがQt5で無くなったと言うことは把握しています。

環境は
win7日本語
QtCreator2.6.2
Qt 5.0.1 for Windows 32-bit (MinGW 4.7)
です。

よろしくお願いします。
723デフォルトの名無しさん:2013/02/23(土) 18:48:46.28
>>722
>3
724デフォルトの名無しさん:2013/02/23(土) 19:52:11.64
馬鹿には無理
725デフォルトの名無しさん:2013/02/23(土) 20:54:41.34
>>722
QTextStream::setCodecのドキュメントを見て自分で考えろ!!

QTextStream Class Reference | Documentation | Qt Project
http://qt-project.org/doc/qt-4.8/qtextstream.html#setCodec
726デフォルトの名無しさん:2013/02/23(土) 21:09:12.73
デフォルトではUnicode検出オンになっているそうだから
BOMが付いているUTF8テキストならフツーに読めると思うけど
BOMがついていなかったらShift-JISとして読み込む

Qt3にはBOMがなくてもエンコードを自動検出する機能があったらしいが
信頼出来ない精度なので削除されたようだ

自動検出は実装が難しい機能ってことだから
エンコードは手動で設定するようにした方が良いと思うよ!
デコードに失敗したかどうかを検出する方法は分からない

Qt-interest Archive - How to detect a file's encoding and safely convert?
http://lists.trolltech.com/qt-interest/2007-11/thread00270-0.html
727722:2013/02/23(土) 21:23:20.31
>723
すまんが>3は把握している。

>725
>726
トンクス
ファイル開く度にutf-8を指定しないといけないのね。

>BOMが付いているUTF8テキストならフツーに読めると思うけど
>BOMがついていなかったらShift-JISとして読み込む
初めて見る仕様だわ。
新しいパターンだったから戸惑った。
自動検出なしでデフォルトutf-8で開く仕様なのかと思ったわ

一応

QTextStream in(&file);
in.setCodec("UTF-8");
ui->textEdit->setText(in.readAll());

で解決。トンクス
728デフォルトの名無しさん:2013/02/23(土) 21:41:01.19
BOMが付いていれば確実にUTF-8って分かるけど、他は確実に判別する方法がないよな。
日本だってShift-JIS?で書かれた文書が未だに多いのだから
分からなかったらロケールのエンコーディングを使うこの仕様は別に変じゃないでしょ。
一応ロケールに使うエンコーディングもutf-8に設定してしまう事もQtでは可能。
729デフォルトの名無しさん:2013/02/23(土) 23:25:06.78
親切に解説ありがとん。

>分からなかったらロケールのエンコーディングを使うこの仕様
アリはアリだと思いますよ。

今までMFCや昔のrubyのように内部がユニコードになっていないシステムだと
ロケールのエンコーディングでしたしね。

それでutf8化されたあとのシステムは大体デフォルトutf-8になので
驚いたわけよ。

確かに最近はマ界隈ではUTF-8にしておけって感じだけど
ちまたではshift-jisもまだまだ多かったしね。

> 一応ロケールに使うエンコーディングもutf-8に設定してしまう事もQtでは可能。
調べてみた。これでいいかな

QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));


にしても久々にC++でUI作りますわ。
730デフォルトの名無しさん:2013/02/24(日) 05:51:57.91
Windowsのシステムロケールをutf-8にすりゃ解決するんでね?
731デフォルトの名無しさん:2013/02/24(日) 08:01:30.19
>>724
馬鹿には適切なアドバイスは無理
732デフォルトの名無しさん:2013/02/24(日) 19:03:23.43
自演乙。
誰も相手にしてくれなかったからって、
そこまで卑屈にならんでもええのに。
733デフォルトの名無しさん:2013/02/25(月) 01:05:18.15
LGPL の商用利用に関してですが、これは
- アプリを社内で開発し、社内で利用
に該当しますかね。。。

また、仮に該当するにしても、動的リンク
- winでdllを実行ファイルと同じフォルダにいれる
- mac で frame-work をパッケージにいれる
をすれば例外条項を守る限りは勝手に開発して使っても
OKって認識で問題ないですか?
SDK などに手をいれる予定はなく、あくまでも Qt4 を
ライブラリとして使って開発するだけです。

>>1 のライセンスの話や 本家の ライセンスページ見る限り問題ないようですが、
念の為にお聞きしたいです。
734デフォルトの名無しさん:2013/02/25(月) 06:32:59.29
ここで聞いたこと信用するのかカス?
問題あったら2chでそう言ってたって言い訳するのか池沼
ライセンス問題なんて法律の専門家ですら意見別れるのに
どこの誰かも知らない奴の書き込みなんて参考にすることすら危険

そういうことがわからないからゆとりって言われんだよウマシカ野郎
735デフォルトの名無しさん:2013/02/25(月) 09:43:57.39
>>733
> LGPL の商用利用に関してですが、これは
> - アプリを社内で開発し、社内で利用
> に該当しますかね。。。

日本語が変じゃないか?
「アプリを社内で開発し、社内で利用するのは商用利用に該当しますか?」って
聞きたいの?
736デフォルトの名無しさん:2013/02/25(月) 17:14:26.62
目的の如何に関わらずオープンソース版は自由に使えると考えていい

https://www.sra.co.jp/qt/faq/index.html
https://www.sra.co.jp/qt/faq/licenses.html#n002-10
737デフォルトの名無しさん:2013/02/25(月) 17:31:14.29
LGPLは守れよ?

Qtの派生版を作ったら、Qtのオブジェクトファイルを公開する必要があるそうだが
普通はQtを改造したりしないからダイジョーブ
738デフォルトの名無しさん:2013/02/25(月) 17:43:08.30
いやいや、LGPL版では
スタティックリンクしたらアプリケーションのオブジェクトファイル(かソースコード)も公開しないとダメってわけか。
ダイナミックリンクで使うならアプリケーションのソースコードもオブジェクトファイルも公開義務なし、と。

Qtの改造はQtのソースコードを公開する必要があるね

・Qt LGPL 版をスタティックリンクした際には、独自開発部分のソースコードを配布するか、
独自開発部分のオブジェクトを配布する必要があります。

http://www.sra.co.jp/qt/licence/index.html#n002
739デフォルトの名無しさん:2013/02/26(火) 01:39:40.36
レスありがとうございます。
すいません、LGPL に関して途中で書き足したので、ちょっと日本語が変になっていましたね。。。

認識に間違いなさそうで、よかったです。
問題なく開発を継続できます。
ありがとうございました。
740デフォルトの名無しさん:2013/02/26(火) 10:29:56.88
分割ボタンじゃなくて、ボタンのどこを押してもメニューが表示されるボタンってどうやったら作れますか?
Qt5でツールバー上のボタンです
741740:2013/02/26(火) 11:27:21.42
QPushButtonのsetMenuでできました
失礼しました
742デフォルトの名無しさん:2013/02/27(水) 00:35:29.97
>>738
ん?
そんな事は無いはずだが。
だとしたらglibcとか使うだけで、全ソース公開になってしまうぞ。
743デフォルトの名無しさん:2013/02/27(水) 00:46:22.28
そうだよ
gccは例外条項でセーフだけどLGPLスタティックリンクは完全アウト
744デフォルトの名無しさん:2013/02/27(水) 03:38:26.60
あ、 >>738 にオブジェクトでも良いと書いてあるね。
ソースコードだけに反応して先走った。
スマソ。
745デフォルトの名無しさん:2013/02/27(水) 07:01:42.59
オブジェクトって、gcc なら -c オプションで吐く奴だよね。

ソースなら分かるけど、公開されたオブジェクトを活用する人ってどんな人?
746デフォルトの名無しさん:2013/02/27(水) 08:15:00.57
オブジェクトがあればリンクできるのが普通のOS。
747デフォルトの名無しさん:2013/02/27(水) 08:22:54.19
実際問題としては、オブジェクトだけじゃなくもソース出さないと発狂されるだろうね
無視すりゃいいんだろうけど
748デフォルトの名無しさん:2013/02/27(水) 12:45:19.15
>>746
リンクして実行ファイルを作るのが目的なら、
普通に実行ファイルを手に入れるだけでよくね?
749デフォルトの名無しさん:2013/02/27(水) 12:52:43.07
>>748
実際の例だと、インストーラーでディストリごとのライブラリや
PlugInみたいなオプション機能のライブラリを本体のオブジェクトとリンクするのがあった。
バージョンアップや機能追加するたびにリンクし直しになるんだよね。
750デフォルトの名無しさん:2013/02/27(水) 18:44:15.89
Qt CreatorってGitにも対応しているけど
コミット予定に追加が1つずつしか出来ないじゃねーかこれ
コミット時はステージされていない変更もコミットできるので良いのだが
スタッシュで退避時には使えない
面倒だからTortoiseGitやGitBashを使うことになる
751デフォルトの名無しさん:2013/02/27(水) 22:41:22.90
Git利用は計画的に
752デフォルトの名無しさん:2013/02/28(木) 01:22:52.37
git使うならWindowsならcygwin
LinuxとMacならオリジナルのコンソール版を使うことだ
それが幸せになる近道
753デフォルトの名無しさん:2013/02/28(木) 05:01:11.56
WindowsでmsysGit(UTF8)版とtortoiseGit(UTF8)版使用
充分幸せ
754デフォルトの名無しさん:2013/02/28(木) 19:11:15.67
msysgitは既に公式版でもUTF8でファイル名を扱うようになっているだろ?
TortoiseGitも日本語ファイル名で問題はなかった

Mercurialはいつまで経っても対応しないしfixutf8は正常に動かなかったりするし
Windowsではその辺がクソ
755デフォルトの名無しさん:2013/02/28(木) 19:19:09.72
bitbucketがgit対応したから、いちいちmercurialを使う理由ももうないな
756デフォルトの名無しさん:2013/02/28(木) 21:20:51.83
以前はどっちかというとMercurial派だったMSもVSでGitをサポートするらしいね
757デフォルトの名無しさん:2013/03/06(水) 17:22:18.27
necessitas入れてみた。
Qtでゴリゴリ書いて実機ぶっ刺すだけでAndroidで
プログラム動かせるなんて面白すぎ。
758デフォルトの名無しさん:2013/03/06(水) 18:31:40.34
>>757
> プログラム動かせるなんて面白すぎ。
だよなー
759デフォルトの名無しさん:2013/03/06(水) 23:58:26.27
EmscriptenでQtのデモがブラウザで動くんだけど
読み込み長すぎだった
日本語は入力できない
760デフォルトの名無しさん:2013/03/07(木) 00:07:23.90
qt-iphoneなんてのもあるみたいだけど
これライセンス的に実機で動かせないよなw
761デフォルトの名無しさん:2013/03/08(金) 05:31:15.35
Qt5.01 mingwインストールできない
vcredistってとこでとまってしまう
762デフォルトの名無しさん:2013/03/08(金) 22:30:34.18
>>760
商用ライセンスなら大丈夫
763デフォルトの名無しさん:2013/03/08(金) 22:47:03.29
それおいくら万円するんです?
764デフォルトの名無しさん:2013/03/08(金) 23:58:54.37
apple側が許してないんじゃなかったっけ?
765デフォルトの名無しさん:2013/03/09(土) 03:42:02.51
Appleの規約がどうとかUnityでなんか揉めてたよね
766デフォルトの名無しさん:2013/03/09(土) 06:03:20.39
AppleのライセンスってObjectC以外じゃ開発しちゃだめってやつ
あれはとっくに撤回されただろ
767デフォルトの名無しさん:2013/03/10(日) 13:37:49.43
QThreadを継承したクラスを作って、そのrun()メソッドを

void MyThread::run(){
// webからデータ取得
getData();

// トークン分割
token();

exec();
}

と記述したんだけど、このオブジェクトを250こくらい作って同時にstartでスレッドを走らせると、いくつかのスレッドが途中までは進行するが、途中で停止して
応答が無くなっているみたいです。

全てのスレッドが終了するのを待っているんだけど、毎回いくつのスレッドか終了せず、mainスレッドが待機のままになってしまいます。

この問題の回避方法や、そもそもの間違えが有ったら教えてください。
768デフォルトの名無しさん:2013/03/10(日) 13:57:21.61
×間違え
○間違い
769デフォルトの名無しさん:2013/03/10(日) 13:58:27.90
>>767
webからでなく、ディスクか何かからで試してみた?
770デフォルトの名無しさん:2013/03/10(日) 14:32:25.55
QThreadは継承禁止
771デフォルトの名無しさん:2013/03/10(日) 14:46:11.84
ログを取ったりデバッグ実行したりして何処で止まっているか見たらいいじゃん。
772デフォルトの名無しさん:2013/03/10(日) 14:57:13.32
250個同時実行ってそれなんか意味あんの?
CPUのコア数といっしょにするのが普通じゃないの
QtはQThread::idealThreadCountで理想的なスレッド数(普通はCPUコア数と同じ)が分かる

QThreadを直接使う他に
QThreadPoolとQRunnableを使う方法もある
QThreadPoolはデフォルトで最大スレッド数にidealThreadCountを使う
773デフォルトの名無しさん:2013/03/10(日) 15:03:33.20
webから250個のデータを一斉に取得とか危険な香りがするな
774デフォルトの名無しさん:2013/03/10(日) 15:05:22.00
>>770
禁止?誰が決めたの?
775デフォルトの名無しさん:2013/03/10(日) 15:07:35.97
>>772
ヒント
IO
776デフォルトの名無しさん:2013/03/10(日) 15:11:18.98
>>767
なんでexec読んでるの?
イベントループ使うならQThread継承する必要無いだろ
777デフォルトの名無しさん:2013/03/10(日) 15:28:23.66
QThreadのヘルプにも最後にexec()でイベントループに入るコードあるね
終わったかどうか知りたいだけなら
finished()のシグナルを使うかisFinished()を呼べば分かるからあまり要らなそう
778デフォルトの名無しさん:2013/03/10(日) 15:50:03.55
MyThread::run()の中で
exec()を呼んでイベントループに入ることで

例えばQTextEdit::textChanged()のシグナルと
MyThread::doSomething()のスロットを
MyThread::run()の中でexec()する前にconnect()しておいて

QTextEditのテキストが変わった時に何かバックグラウンドで処理を行うとか
そういう事が出来るのかも
779デフォルトの名無しさん:2013/03/10(日) 16:15:14.68
またこの流れか…
780デフォルトの名無しさん:2013/03/10(日) 16:28:43.57
>>778
それならQThreadを継承する必要ないじゃん
781デフォルトの名無しさん:2013/03/10(日) 17:48:09.96
きっとmoveThread()呼んでないんだろうなぁ
782デフォルトの名無しさん:2013/03/10(日) 18:01:20.83
moveToThreadだろ
783デフォルトの名無しさん:2013/03/10(日) 18:08:09.42
>>780
時間がかかる処理はメインスレッドでやっちゃいけないだろ
784デフォルトの名無しさん:2013/03/10(日) 18:13:56.48
>>783
>>778みたいなのはQObjectと>>782でやるんだよ
785デフォルトの名無しさん:2013/03/10(日) 18:17:16.51
つまりどういうことです?
786デフォルトの名無しさん:2013/03/10(日) 18:31:49.91
あー本物か

馬鹿には無理
787デフォルトの名無しさん:2013/03/10(日) 18:39:13.51
どちらでもお好きな方法でどうぞ
>>767は別なところに問題ある気がす

QThreadを継承するのは間違いではない
Mandelbrot ExampleやQThreadのドキュメントで使ってる

QObject::moveToThreadは親オブジェクトの設定されていないオブジェクトの所属するスレッドを(カレントスレッドから別のスレッドに)変えるメソッド
これを使って別スレッドで処理を行うことも可能

QObjectのタイマーを使っていると暫く停止した後別スレッドで再開するそうなので一緒に使う時は注意
同じオブジェクトのスレッドを断続的に変えていたら永遠に時が止まるということも有り得る
788デフォルトの名無しさん:2013/03/10(日) 18:44:32.99
QThreadを継承するのもmoveToThreadを使うのもそれぞれ使い所があるが
QThreadを継承しつつexec()呼ぶのは何がしたいのかわからない
789デフォルトの名無しさん:2013/03/10(日) 18:58:19.68
それ公式ドキュメントでもやっている方法だろ
シグナルとスロットはスレッドを超えて接続できるが
イベントループはスレッド毎に作る必要がある
別スレッドで起きたイベントの処理に必要なんじゃないか
QThread::exec()はProtectedだから派生クラスからしか呼べない

moveToThread法?でシグナル使う場合は別スレッドで動き続けるQEventLoopがあればいいんじゃね
790デフォルトの名無しさん:2013/03/10(日) 19:03:30.55
きっと本人も何がしたいのかわからないはず
791デフォルトの名無しさん:2013/03/10(日) 19:04:27.54
792デフォルトの名無しさん:2013/03/10(日) 19:05:21.78
イベントループ別に持ちたいだけならmoveToThreadでいいじゃん
公式のサンプルは悪い例だから真似してはいけない
793デフォルトの名無しさん:2013/03/10(日) 19:07:20.32
どのへんが?
794デフォルトの名無しさん:2013/03/10(日) 19:13:55.42
わからないのならまだまだ初心者だな
仕事で何年か設計や変更した経験があればわかりそうなものだが
795デフォルトの名無しさん:2013/03/10(日) 19:14:53.02
またこの流れかよ

結論:どっちでもOK
参考:
You’re doing it wrong
http://blog.qt.digia.com/blog/2010/06/17/youre-doing-it-wrong/
You were not doing so wrong.
http://woboq.com/blog/qthread-you-were-not-doing-so-wrong.html
796デフォルトの名無しさん:2013/03/10(日) 19:14:59.97
前回のQThreadの時もまともな答えは出せずに逃げたな
797デフォルトの名無しさん:2013/03/10(日) 19:23:44.46
>>767の場合は単にexecいらないだけ
798デフォルトの名無しさん:2013/03/10(日) 20:45:21.49
QThreadはスレッド操作用のクラスだから、
継承したクラスにそれとは関係ないコードを突っ込むのはよろしくない
例のmoveToThreadを使う方法はこれを簡単に分離できるので推奨されている

でもスレッド機能そのものを拡張したい場合はQThreadを継承するのが定石で、
この場合継承したクラスでexecを呼ぶのはごく自然なこと

イベントループを使わない場合は上のように綺麗に分離することはできないので、
余計なことせずに継承したクラスのrunにゴリゴリ書いてしまえばいい
799デフォルトの名無しさん:2013/03/10(日) 21:10:12.98
きゃりーぱみゅぱみゅのように100%
自分のやりたいようにやれ
800デフォルトの名無しさん:2013/03/10(日) 21:39:27.63
800
801デフォルトの名無しさん:2013/03/10(日) 22:15:18.34
スレッド機能そのものの拡張なんてする?
例えばどんな?
802デフォルトの名無しさん:2013/03/10(日) 22:19:41.02
moveToThreadを使う方法の方がややこしくてオーバーヘッドが大きいのは間違いない
803デフォルトの名無しさん:2013/03/10(日) 22:47:48.32
Qt5のドキュメントで問題とされていたのは、QThreadの所属するスレッドがそれを作ったクラスだから?
QThreadを作ったスレッドがメインスレッドなら、QThreadの子オブジェクトも何もしないとメインスレッドの所属になるな
804デフォルトの名無しさん:2013/03/10(日) 23:18:45.18
おまえら質問する前にまずは>>795を読めよ
805デフォルトの名無しさん:2013/03/13(水) 05:47:34.50
なんでWindows64bit配らないの?
806デフォルトの名無しさん:2013/03/13(水) 07:25:42.20
自分でビルドすれば済むからな
807デフォルトの名無しさん:2013/03/13(水) 11:11:52.70
ビルドに糞長い時間がかかる上、途中でエラーで止まるんだけど
808デフォルトの名無しさん:2013/03/13(水) 11:13:28.94
オープンソースでQt使うと、Qtのビルドの時点でみんな帰っちゃうんだよ
809デフォルトの名無しさん:2013/03/13(水) 11:51:51.01
>>807
バイナリパッケージ出るまで我慢しる
810デフォルトの名無しさん:2013/03/13(水) 15:17:30.00
自分がやるとエラーで止まるんだけど
公式で配っているのはどうやってビルドしているわけ?
811デフォルトの名無しさん:2013/03/13(水) 16:19:47.35
64bitOSでbuild
812デフォルトの名無しさん:2013/03/13(水) 23:04:16.26
>>810はまさか32bitOSでビルドしようとしていたのか
813デフォルトの名無しさん:2013/03/14(木) 15:17:28.10
Qt5.0.1でOpenGLを使いたくて
https://sites.google.com/site/prithivirajkmuthumanickam/home/knowledge-repository/qt-opengl-visual-studio
http://cumadeer.matrix.jp/?p=47
http://www10.atwiki.jp/bambooflow/pages/312.html
↑この辺りを参考にして進めてるんですが、
glLoadIdentityやglBeginといった関数が識別子が見つかりませんとエラーが出ます。
QGLWidget以外にも何かインクルードしないといけないのでしょうか?
VisualStudio2010とQtCreatorどちらで試しても同じ場所でエラーが出ます。
814813:2013/03/14(木) 16:05:33.33
連投すみません
Qt4.8.4で試してみたらできました。
取りあえずこちらでやっていこうと思います。
815デフォルトの名無しさん:2013/03/14(木) 23:05:37.10
Qt5はOpenGL ESに移行しちゃったから
今のところ固定機能やGLEW拡張とか使う方法はないんじゃないかな
816デフォルトの名無しさん:2013/03/15(金) 00:48:36.17
なるほど
dd
817813:2013/03/15(金) 01:14:48.94
>>815
それは見落としてました…
Qt5以降でやろうと思ったらまずESを使えるようにならないとダメなんですか…
やはり4でやっていきます。
ありがとうございました。
818デフォルトの名無しさん:2013/03/15(金) 08:02:17.13
>>817
LinuxとMacならこうすれば使えます。

ソースに追加
#if defined(Q_OS_MAC)
#include <GLUT/glut.h>
#elif defined(Q_OS_LINUX)
#include <GL/glu.h>
#endif

.proに追加
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
unix:!macx:LIBS += -lGLU

デスクトップならESを使えるようになる必要はありませんよ。
819デフォルトの名無しさん:2013/03/15(金) 08:16:32.78
4系はもう脆弱性とかあっても、LGPL版のほうは
オプソなんだからてめえらで自己解決しろやって感じでもうサポート無いんだろうか
820813:2013/03/15(金) 19:27:04.96
>>818
残念ながらWinなのです
一応試してみましたがダメですよね
GLUTに慣れてるので使えたら助かるんですが
821デフォルトの名無しさん:2013/03/15(金) 21:31:02.87
>>820
ソースの#includeと.proのLIBSをWindows用に修正すればできるはずですよ。
GLUTは以前はインクルードされリンクもされていたのに、されなくなったから自分でやればできるはずなんです。
試してみてうまく行ったら教えてください。
822デフォルトの名無しさん:2013/03/15(金) 21:34:01.82
>>819
LGPLは、ただなのだから自己解決か何かコントリビューションするのが当たり前。
Qt5はまだ未完成でQt4から移れない。
823デフォルトの名無しさん:2013/03/16(土) 19:13:16.61
コンテナを使う場合、STLのコンテナを使わずに
Qtのコンテナを使うメリットってなんだろう?
824デフォルトの名無しさん:2013/03/16(土) 19:18:15.31
デストラクタん
825813:2013/03/16(土) 21:01:14.45
>>821
試した限りでは、
QGLWidgetとglut.hのインクルードでGLdouble等の再定義のエラー、
かといってQGLWidgetのインクルードをやめると
QGLWidgetを継承することができなくなりますし。
現状ではこの辺りで手詰まりになってます。
826デフォルトの名無しさん:2013/03/16(土) 21:15:57.41
827デフォルトの名無しさん:2013/03/16(土) 23:18:44.87
4.8からだっけ?GLUT外されたの
前試した時は何か簡単に対処できた気がするんだけど
どうやったっけな
828デフォルトの名無しさん:2013/03/16(土) 23:31:17.26
Qt5って別に今から移っても良いよね
互換性も大体維持されていて
新バージョンのQt Creatorでは既にQt5を使っている
829デフォルトの名無しさん:2013/03/16(土) 23:33:40.45
>>826
つまりOpenGL ES 2.xではなく
通常のOpenGLを使いたいなら自分でビルドしろと・・・何という事だ!
830デフォルトの名無しさん:2013/03/17(日) 00:59:10.81
>>828
完成度はどうなのかな?
一年くらい生暖かく見守ってからにしようと思うんだが。
4.8のバグ修正もまだ続いてるようだし。
831デフォルトの名無しさん:2013/03/17(日) 08:47:17.33
>>830
5.0の日本語の書籍が出てくるまで使うの待とうと
思っている軟弱なオレが通りますよ。
832デフォルトの名無しさん:2013/03/17(日) 08:54:38.74
>>830
一年くらい生暖かく見守ってから、完成度を質問すれば良いのでは?
833デフォルトの名無しさん:2013/03/17(日) 10:36:53.54
5.0の日本語の書籍を書くのは吝かではないからオファーが来るまで待とうと
思っている能天気な私が通りますよ。
834デフォルトの名無しさん:2013/03/17(日) 10:57:53.09
あれだけ充実したwikiやフォーラムがあるのに本なんて必要?
835デフォルトの名無しさん:2013/03/17(日) 11:03:58.33
一人の人間がちゃんと一貫したストーリーを考えて解説した紙の本の利便性も捨てがたい。

(ここで言うストーリーというのは、章立てや、解説する内容や順番のこと)
836デフォルトの名無しさん:2013/03/17(日) 11:12:06.11
>>828
Qt Creatorで使う機能はそこそこ動くようにしている。
でもよく落ちるので使うのを止めて、Q5で作るときもQt4のQt Creatorを使っている。
Qt5のexamplesを一通り動かすとおかしいのがぼろぼろある。
837デフォルトの名無しさん:2013/03/17(日) 11:22:07.20
>>823
QtはSTLよりメモリ使用量が少ない。速度はSTLがQtより速い。機能はSTLがQtより豊富。
ただし、QtのQListはSTLのstd::listより速い。
838デフォルトの名無しさん:2013/03/17(日) 11:25:06.34
>>833
QMLもよろしく、特にC++で拡張する部分とパフォーマンスチューニング。それとドキュメントがないQPAも。
839デフォルトの名無しさん:2013/03/17(日) 12:22:25.90
>>837
> ただし、QtのQListはSTLのstd::listより速い。
QList と std::list は対応するクラスではないと思うぞ

QLinkedList が std::list に対応するクラス
840デフォルトの名無しさん:2013/03/17(日) 12:50:13.01
QtQuick2ってiOSで使えないの?
841デフォルトの名無しさん:2013/03/17(日) 13:09:42.29
QPAって何ができるの?
842デフォルトの名無しさん:2013/03/17(日) 16:12:27.42
>>840
Qt Quick1のみで、Qt4のと違う動作をしたりバグも多いよ。
843デフォルトの名無しさん:2013/03/17(日) 16:33:35.44
>>841
くぱぁ
844デフォルトの名無しさん:2013/03/17(日) 17:04:30.47
>>841
OpenGL/OpenGL ESを利用して描画を速くできる。いろいろなプラットフォームに移植しやすい。
まだこなれていない。Qt Quick2はましだが、ウィジェットはQt4と比べてデグレとバグが多くまともにアプリはまだ作れない。
ウィンドウシステムは数年前にやっつけで作ったものはあるが、ウィンドウシステムはない。

http://qt-project.org/wiki/Qt-Platform-Abstraction
ドキュメントはわずか、ソースを読めと書かれている。
845デフォルトの名無しさん:2013/03/17(日) 18:20:21.13
ソース読めなんて書いてなくね?
ブログ読めって書いてあるように見えるが
846デフォルトの名無しさん:2013/03/17(日) 19:06:20.73
>>845
書いてあるよlook at the other plugins、The minimal [qt.gitorious.net] plugin is a good starting point.
ブログ読めとも書いてある。
847デフォルトの名無しさん:2013/03/17(日) 21:12:59.54
導入難しすぎワロエナイ
848デフォルトの名無しさん:2013/03/20(水) 05:13:08.85
VS2010とQtDesignerでやってるんだけど、
2つ以上のQDockWidgetを最初からタブ状態にしておくのって、
Designer上では設定できない?

あと起動時はDockWidgetは無くて、
ボタンを押すとDockWidgetが表示される
って感じにしたいときDockWidgetの中身はDesigner上でなく
自分でコードを書くしかないんだろうか
849デフォルトの名無しさん:2013/03/20(水) 22:42:18.50
俺はどっちもソースでやってる
たくさんドック作るとメインウインドウにずらっと並んで邪魔だよーなんか方法あるのかな
850デフォルトの名無しさん:2013/03/21(木) 05:29:21.69
MDIには無理
851デフォルトの名無しさん:2013/03/21(木) 06:20:36.18
>>849
やっぱソースでやるのが基本か
良い方法あったら良いんだけどなー
852デフォルトの名無しさん:2013/03/22(金) 07:26:16.34
ウィジットの縦横比の固定ってdesignerじゃ無理?
853デフォルトの名無しさん:2013/03/22(金) 23:36:44.09
細かな操作はコードを直接書いた方がいい。
854デフォルトの名無しさん:2013/03/23(土) 13:57:01.33
http://itpro.nikkeibp.co.jp/article/NEWS/20130321/464905/

Qtは、C++で記述されたGUI向けアプリケーションフレームワーク。Windows、Linux、Mac OSなどクロスプラットフォームで動作することが特徴だ。

Android用も提供されており、この3月には、iOSのプレビュー版が公開された。スマートフォン向けアプリケーション開発環境としても注目されている。
855デフォルトの名無しさん:2013/03/23(土) 14:13:02.94
>>854
Qtユーザー会ができたん?
前にも似たようなのなかったっけ・・と思ったがあれはQtユーザーフォーラムか
ダウンロードページが本家より断然見やすいのがいいね

個人的に、デザイナの使い方はビデオで説明されないと理解できない部分があると思うんだよね
YouTubeの外人のビデオもイマイチだし時間があれば自分でビデオ作ろうかとも思ってるんだけど
なんか見た目のセンスいいからユーザー会で作ってくれないかにゃあ
856デフォルトの名無しさん:2013/03/23(土) 14:24:00.65
いま勉強会やってる時間なのかwww
857デフォルトの名無しさん:2013/03/24(日) 15:02:49.09
デバッグするとき、VisualStudioだと配列の中身を見る時に

変数名, 要素数

って入力すれば、変数がポインタでも中身が見れたけど、QtCreatorの場合はどうすればいいの?
858デフォルトの名無しさん:2013/03/24(日) 17:20:50.86
は?
意味がわからんのだが、
普通のポインタの扱いと一緒でしょ?
859デフォルトの名無しさん:2013/03/24(日) 19:29:10.84
連中は結局「ファイル」→「書式」→「フォント」のように暗記してるだけだから
どんなUIだろうとあまり関係ないんだよ
リボンは覚える手数が少なくなるけどアイコンだけのコマンドが多くて暗記しにくいからどっちもどっちだな
860859:2013/03/24(日) 19:29:42.22
すまん誤爆
861デフォルトの名無しさん:2013/03/24(日) 19:30:58.64
どのスレだ
862デフォルトの名無しさん:2013/03/24(日) 23:24:07.89
Windows64bit版も公開してくれ
コンパイル途中でエラーで止まるんだよ
863デフォルトの名無しさん:2013/03/24(日) 23:39:31.74
馬鹿には無理
864デフォルトの名無しさん:2013/03/24(日) 23:46:35.46
トライアーゲィン♪トライアーゲィン♪トライアァーゲィン♪
865デフォルトの名無しさん:2013/03/25(月) 00:00:11.97
馬鹿だから無理なんで
ビルド済のを配ってくれ
866デフォルトの名無しさん:2013/03/25(月) 01:51:57.59
>>865
確かビルド済みのバイナリ(qmakeなど)には、パス情報が埋め込まれてしまって、フォルダ構成が完全に一致してないと
そのまま配るだけでは動かなかったと思う。
以前にそれでqmakeが動かなくてはまった。
エラーはググれば回避方法が出てたと思う。フォーラムの情報だったかな?
867デフォルトの名無しさん:2013/03/25(月) 07:06:59.61
古いバージョンはビルドできたから
そっち使うわ
868デフォルトの名無しさん:2013/03/25(月) 07:15:45.76
Qt4.8.xについてくるmingwのバージョンを上げて
869デフォルトの名無しさん:2013/03/26(火) 12:39:13.15
「キットを管理」からMinGWのコンパイラバージョン選べるっぽいけど
試してないが4.4と4.7どっちも選択肢にでてる
870デフォルトの名無しさん:2013/03/29(金) 00:24:24.66
誰かQtで2ch専ブラ作ってよ
871デフォルトの名無しさん:2013/03/29(金) 00:38:55.04
Javaアプリから簡単に移植する方法ないの?
872デフォルトの名無しさん:2013/03/29(金) 01:29:39.04
だからJavaはやめておけと
873デフォルトの名無しさん:2013/03/29(金) 08:08:56.70
Qt Jambi・・・
874デフォルトの名無しさん:2013/03/29(金) 14:18:11.52
Qt Jambiってどうなの?
875デフォルトの名無しさん:2013/03/29(金) 15:10:19.03
とっくに開発放棄されてるんじゃなかったっけ
876デフォルトの名無しさん:2013/03/29(金) 15:20:50.54
オープンソース化されてて開発は続いてるんじゃないっけ
877デフォルトの名無しさん:2013/03/29(金) 15:37:18.15
Qtで2chブラウザ作ることで実現出来る機能。結構魅力的だと思うけど

QtScriptで機能拡張
dbusでコマンドラインから制御。情報取得。外部アプリ連携
QMLでUI変更可能
QtSqlで複数マシンでのログ、状態共有

マルチプラットフォーム
・linux
・windows
・osx
・blackberry10
878デフォルトの名無しさん:2013/03/29(金) 15:40:59.51
QtScriptというか
JavaScriptも使えるよな
879デフォルトの名無しさん:2013/03/29(金) 22:27:45.35
>>876
オープンソースベースで開発するってことは永遠にLGPLから逃れられないってことだぞ
企業が支援してくれることもないだろうし、労力をドブに捨てるようなもん
880デフォルトの名無しさん:2013/03/29(金) 22:37:34.74
趣味だけでは難しいか
やはり金が絡まないと開発も進まないってことだぬ
881デフォルトの名無しさん:2013/03/29(金) 22:47:44.21
オプソっていってもでかいのは
資本主義的な企業からの金や人材の支援でなりたってるからなあ
882デフォルトの名無しさん:2013/03/29(金) 22:51:49.13
オープンソースベースで開発するのとオープンソースとしてリリースするのは全く別だ
Linuxみたいな極端な例外を除き、Qt含め企業が関わるOSSのほとんどは後者
883デフォルトの名無しさん:2013/03/30(土) 08:38:14.73
>>877
> Qtで2chブラウザ作ることで実現出来る機能。結構魅力的だと思うけど
実はおいらもそれ考えてた。
まじめに作り始めてみようかな・・・
884デフォルトの名無しさん:2013/03/30(土) 08:58:04.61
>>877
おまえがやれよ
885デフォルトの名無しさん:2013/03/30(土) 09:11:01.02
2chブラウザって機能アホみたいに多くて、あんまりQtだからどうのっていうもんじゃないからなあ
どうせコードのほとんどは特にQtと関係ないんで
886デフォルトの名無しさん:2013/03/30(土) 09:59:49.41
まあWinMacLinuxで別々の使うのだるいから
同じUIで各OSで使えるならいいかもね
設定ファイルはdropboxとかで共有できるようにしてほしい
887デフォルトの名無しさん:2013/03/30(土) 10:03:08.89
それJavaで(ry
888デフォルトの名無しさん:2013/03/30(土) 10:26:43.03
こんなのはあるけどな
http://sourceforge.jp/projects/kita/
889デフォルトの名無しさん:2013/03/30(土) 10:27:02.13
21世紀にもなってJavaはないだろ・・・インストールしないし
890デフォルトの名無しさん:2013/03/30(土) 11:09:56.93
つv2c
891デフォルトの名無しさん:2013/03/30(土) 11:15:23.20
Javaでさえなければ…と言われまくってる一番の例じゃないかw
892デフォルトの名無しさん:2013/03/30(土) 12:26:17.10
ただ使ってみるとぶっちゃけ速度とか重さは気にならない
Qtももっさり具合もMFC製とくらべるとかなり目立つし
今のSwing知ってると、どうもC++で書ける以外はアピールしづらいんだよな
893デフォルトの名無しさん:2013/03/30(土) 12:31:41.25
たしか、Swingもオワコンじゃなかったっけ。今はJavaFX?
Javaの世界も最近ついていけへんわ。
894デフォルトの名無しさん:2013/03/30(土) 12:31:41.81
Linuxで使うとQtの方が遥かに高品質だよ
さらに
・Swingは開発終了。終わった技術である。
・Javaはセキュリティ面で危険!
後者は詐欺に近いがネットの情報に踊らされてるだけのバカは騙せるだろ
895デフォルトの名無しさん:2013/03/30(土) 14:52:35.88
Swingの開発終了ってどこ情報よ?
ソースはよ
896デフォルトの名無しさん:2013/03/30(土) 17:15:06.26
JavaFXってなに?
897デフォルトの名無しさん:2013/03/30(土) 18:53:17.99
>>892
MFCはフレームワークというより、ただのラッパーだからなぁ
Qtならではの機能というと877を実装することだと思う
898デフォルトの名無しさん:2013/03/31(日) 11:48:15.50
Qt5を昨日セットアップしました。

このスレッドを一通り眺めてみました。

OpenGLを使いたいのですが、
GLES2.0が標準対応されているAPIでよいのでしょうか?
899デフォルトの名無しさん:2013/03/31(日) 11:51:58.13
はい
900デフォルトの名無しさん:2013/03/31(日) 12:13:38.87
お返事ありがとうございます。

GLES2.0の方を勉強してみます。
ありがとうございました。
901デフォルトの名無しさん:2013/03/31(日) 21:01:33.55
Qt5から始める場合、スレの冒頭にある
Qt4関連の入門書は利用可能でしょうか?

かなり勝手が違いようでしたら購入は控えておこうかと思っておりいます。
902デフォルトの名無しさん:2013/03/31(日) 21:10:33.48
現時点でQt5はまだ使い物にならない
903デフォルトの名無しさん:2013/03/31(日) 21:11:40.84
Qt5のまともな本はあと数年は出ない
904デフォルトの名無しさん:2013/04/01(月) 00:43:01.26
>>901
俺はせめて「入門 Qt 4 プログラミング」だけは読んだ方がいいと思うけど、Qt5だとどうなんだろうな
Qt4でも5でもほとんど違わない内容のはずだが、サンプルがエラー無しでビルドできるかは知らない

原著は全文が公開されてるから、英語いけるなら斜め読みしてみるといいかと
http://www.cuteqt.com/blog/wp-content/uploads/2009/06/c-gui-programming-with-qt-4-2ndedition.pdf
サンプルコードは↓から全てダウンロードできる
http://www.informit.com/store/c-plus-plus-gui-programming-with-qt4-9780132354165
905デフォルトの名無しさん:2013/04/01(月) 06:14:01.39
ウィジットの見た目は好きに変えられる?
906デフォルトの名無しさん:2013/04/01(月) 09:45:53.34
はい
907デフォルトの名無しさん:2013/04/01(月) 11:08:10.32
>>902-904
レスありがとうございます。

入門Qt4を本屋で眺めてみたいと思います。

英語はAPIマニュアルをさらっと読む事くらいしか出来ないので、
日本語版の本にあたってみたいと思います。
908デフォルトの名無しさん:2013/04/02(火) 01:20:38.85
>>897
開発効率を考えたらMFCはないなあ。
ただ速さを求めるならMFCを使った方がいいけど。
909デフォルトの名無しさん:2013/04/02(火) 07:15:14.33
MFCに対するQtの遅さというのは、どこら辺に現れてくるの?

サブメニューを開く時にワンテンポ遅れるわけでもないし、
今まで特に遅いと感じたこと無いんだけど
910デフォルトの名無しさん:2013/04/02(火) 07:58:40.56
アプリのロード時間とかじゃないの。QtのDLL結構でかいし
まあMFC製アプリなんて最近見かけないから比べようがないが・・・
911デフォルトの名無しさん:2013/04/02(火) 08:39:52.27
MS Officeとか未だにMFCっぽい気がするけどね。
そういえば、Mayaって今はQtなんだよなぁ。
あれくらい大規模なソフトでQt使ってるのはそれくらいかな。
912デフォルトの名無しさん:2013/04/02(火) 09:41:21.15
起動はやっぱりもっさりしてるな。MFCとJava系や.NETの中間くらい
バイナリやらテキストエディタみたいな起動速度も重視されるものはちょっと作りにくい
逆に言えばそういうの以外はどうでもいいんだけど
913デフォルトの名無しさん:2013/04/02(火) 10:04:14.75
Widgetのアスペクト比を固定したいんだが
resizeEventをオーバーライドしてサイズ変更されるたびに書き換えるのが普通?
Qt::KeepAspectRatioなんてあるし固定するための設定とかあるんだろうか
914デフォルトの名無しさん:2013/04/02(火) 10:20:20.93
>>911
大規模アプリならKINGSOFT Officeがあるアルよ
あとそこそこ知られてるのだとこの辺とか
MotionBuilder、RealFlow、Nuke、LuxRender
Mathematica、Kindle、VirtualBox
915デフォルトの名無しさん:2013/04/02(火) 10:20:36.59
ディレクトリのTreeViewをネットワークドライブで開いてると
タイムアウトが異常に長くてfreezeしたように見えることが多い
気がするかもしれない
916デフォルトの名無しさん:2013/04/02(火) 10:53:17.00
917デフォルトの名無しさん:2013/04/02(火) 10:55:45.13
テキストボックス(QPlainTextEdit)が二つあるウインドウのうち
アクティブな方を見分けるにはどうすればいいんでしょーか。
アクティブってのは要するにキャレット(カーソル)が点滅してる方ってことです。
focus関係のsignalがあるのかと思ったらなんか違うっぽい。
918デフォルトの名無しさん:2013/04/02(火) 11:39:36.68
hasFocus()とかqApp->focusWidget()で見分けられそうだけどなんでシグナル?
919デフォルトの名無しさん:2013/04/02(火) 15:24:09.87
>>909
たとえばフォルダ内に大量なファイルやフォルダを検索した時とか結構遅いね。
あと、コンテナ関係も大量にデータがあると、Qtは弱い感じがする。
920デフォルトの名無しさん:2013/04/02(火) 15:25:49.61
と言う事は2ch専用ブラウザを作成したときに
datファイルが大量にある場合動作が遅くなるのかな
921デフォルトの名無しさん:2013/04/02(火) 15:29:51.33
となると、これは試してみるしかないなw
922デフォルトの名無しさん:2013/04/02(火) 16:11:11.34
>>919
qvector使わずにqlist使ってるとかコストの高いクラスやメソッドを間違えて使ってるパターンな気がする
923デフォルトの名無しさん:2013/04/02(火) 16:25:46.15
QDirModelってそんなコスト高いんか
924デフォルトの名無しさん:2013/04/02(火) 16:44:42.81
QVectorはよく使うけど、QListはあんまり使わないな。
925デフォルトの名無しさん:2013/04/02(火) 16:54:02.96
926デフォルトの名無しさん:2013/04/02(火) 17:25:17.83
>>918
あーごめんなさい。自分でもよく理解できてなかった。
順序立てて言うと、いくつものQPlaineTextで編集してる状態で
たとえマウスで他のどこをつついていても、
セーブとなると最後にフォーカスのあったQPlainTextEditの内容をセーブできるようにしたいと。
なので、QPlainTextEditにフォーカスが来るたびにそのIDをどこぞに記録しときたかったんです。
なのでSIGNALとかが出て来る。
今フォーカスのあるWidgetは調べられるけど、移ってしまってれば意味ないし
かといって常に記録しておくのはアレなので
フォーカスが来た!というイベントをきっかけにしたかったのですが、
それっぽかったQFocusEventのreferenceには
Focus events are sent to widgets when the keyboard input focus changes.
とかあって、キーボード(ていうかTab?)のeventっぽい。

書いててまたよくわからなくなってきたんですが、なんか思い当たるヒントだけでもあったら
おながいします。
927デフォルトの名無しさん:2013/04/02(火) 17:52:39.07
今現在フォーカスがあるQPlainTextEditの状態を保存したいんじゃなくて、
フォーカスが移ったタイミングで直前までフォーカスがあったQPlainTextEditの状態をセーブしたいってこと?
そうならQWidget::focusOutEventを使うのが一番簡単じゃないかな
928デフォルトの名無しさん:2013/04/02(火) 18:12:42.53
929デフォルトの名無しさん:2013/04/02(火) 18:16:22.30
>>926
まさかconnectしてないだけというオチ?
930デフォルトの名無しさん:2013/04/03(水) 07:36:27.35
>>919
> あと、コンテナ関係も大量にデータがあると、Qtは弱い感じがする。
QVector が遅いなら std::vector 使えばいいんじゃないか
931デフォルトの名無しさん:2013/04/03(水) 08:45:33.96
tableの任意の1行だけコンテキストメニューが出るようにしたいがどうしたものか…
932926:2013/04/03(水) 13:59:34.81
できました!ありがとう。
933デフォルトの名無しさん:2013/04/03(水) 18:07:41.08
データが大量だとコンテナが遅いってのはdeep copyの話だよね
[ ]演算子しか使ってないとかじゃないの
同じコードなら遅くなる可能性はあるけど、
Qt用に最適化すればGUIレベルにまで影響は出ないと思うんだけど
934デフォルトの名無しさん:2013/04/03(水) 21:01:40.34
インストールするときにminGWのとこでg++ not foundってでるんだけどコレ誰でも出るものなの?
935デフォルトの名無しさん:2013/04/04(木) 02:08:13.34
出ないよ
936デフォルトの名無しさん:2013/04/04(木) 03:06:48.88
ありがとうございます
937デフォルトの名無しさん:2013/04/04(木) 03:58:53.04
>>916
そんなのがあったのかサンクス
取りあえず上のサイトの例をやってみたらこれではダメみたいだな
色々試してみる
938デフォルトの名無しさん:2013/04/04(木) 20:38:38.59
普通QListだろ
QVectorを使ったほうが速いケースのほうが限られている
QVectorを使った方が早いケースは予め配列のサイズが決まっている時ぐらいのものだ。
(連続した領域に1回でメモリを確保できるので)

リストの中央に挿入することを頻繁にするならQListよりQLinkedListを使え

Container Classes | Documentation | Qt Project
http://qt-project.org/doc/qt-4.8/containers.html
939デフォルトの名無しさん:2013/04/05(金) 23:09:31.65
>Qt5から始める場合、スレの冒頭にある
>Qt4関連の入門書は利用可能でしょうか?
オライリーの入門 Qt 4 プログラミングの例題プログラムはほとんどがわずかな修正で動きます。
その第5刷の付録には、Qt4からQt5への書き換えやQt4とQt5の両方で動かす方法が簡単に説明されていて、
両方で動かせるように書き換えたコードがダウンロードできるようになっています。
MDIの説明で使われているクラスが削除されてしまっているけれど、
英語の改訂版の方はQt5にもあるクラスで書き直してありますね。
940デフォルトの名無しさん:2013/04/07(日) 20:10:11.70
じぇじぇじぇ

Qt-project.org experienced a severe crash starting on April 4th 19:30 UTC.
The site has now been restored, but unfortunately we are having some issues restoring backup data between April 4th 04:02 UTC and April 5th 07:59 UTC.
We are deeply sorry for any lost content.
941デフォルトの名無しさん:2013/04/08(月) 06:34:59.75
あうあうあう…
942デフォルトの名無しさん:2013/04/08(月) 11:39:07.26
クラッシュしたんか。フォーラムやWikiの記事とかなくなったのかね
まあリポジトリが無事ならそんなに気にしないけど
943デフォルトの名無しさん:2013/04/08(月) 23:22:44.05
Qt Createの左側ってうざいね
944デフォルトの名無しさん:2013/04/08(月) 23:26:40.86
Qt便利すぎワロタ
945デフォルトの名無しさん:2013/04/08(月) 23:28:28.89
Qt最高やw
946デフォルトの名無しさん:2013/04/09(火) 00:16:10.35
Qt Creater便利やwww
947デフォルトの名無しさん:2013/04/09(火) 00:17:47.30
Qt様〜
948デフォルトの名無しさん:2013/04/09(火) 02:41:31.04
ウィンドウの外枠(タイトルや最大化のボタンがあるとこ)はどうやって消せる?
949デフォルトの名無しさん:2013/04/09(火) 04:41:01.27
setwindowflags
950デフォルトの名無しさん:2013/04/09(火) 08:03:02.48
framelesswindowhint
951デフォルトの名無しさん:2013/04/10(水) 01:32:34.70
>>946
本当のファンなら名前を間違えたらイカン
952デフォルトの名無しさん:2013/04/10(水) 01:53:08.02
Qt Creature
953デフォルトの名無しさん:2013/04/10(水) 19:55:11.89
次スレのテンプレ直してほしい俺的リスト

>>1のNokia社をDigia社に
>>1のソフト例に、Mayaと>>914のソフト追加
>>2のNokiaへのリンクをQt Projectに変える http://qt-project.org/
>>2にQtユーザー会を入れる http://planet.qt-users.jp/
>>2のSRA社のリンクは全然更新されてないから削る
>>3の日本語のソースコードは、MinGW版もVC版もUTF8 BOM推奨で統一する
>>4のQt 解説書は入門Qt4を先頭にする
 原著第二版の公開リンク(英語PDF)も貼っておく
 http://www.cuteqt.com/blog/wp-content/uploads/2009/06/c-gui-programming-with-qt-4-2ndedition.pdf
954デフォルトの名無しさん:2013/04/10(水) 21:50:36.94
Qt 5.0.2
955デフォルトの名無しさん:2013/04/10(水) 23:38:23.37
BOMなんかつけんな
956デフォルトの名無しさん:2013/04/11(木) 07:29:04.25
分かってつけない人は別にいいよ。Windowsで初心者が混乱しないための話だから
957デフォルトの名無しさん:2013/04/11(木) 07:50:44.62
Qt5.0.2のWindows版バイナリめちゃ増えてる
GL ES版、フルGL版、あと64bit版もある
このスレで困ってた人には朗報だな
958デフォルトの名無しさん:2013/04/11(木) 11:48:50.57
openGLがきたなら俺も乗り換えよう。
もしQt4で作ったプログラムをQt5に変えたい場合なにか注意することってある?
どのファイルを持って行けば良いんだろ。
.uiファイルってそのまま使える?
959デフォルトの名無しさん:2013/04/11(木) 14:45:52.38
5.0.2, VS2010の64bitがないとか微妙な感じ。
5.0系列になってからビルドが通るようになったから別にいらないけどね。

>>958
既出とは思うが、glu*などのglutを排除すれば動くんでねーの。
4.7.2で動いたprojectを5.0.1にインポートしてもそのまま動いた。
一部、intを表示するwidegtがつぶれるとかあるんだけど。
960デフォルトの名無しさん:2013/04/11(木) 15:29:33.26
2010のExpressは、SDKいれないとx64作ることができないから無いのかな
961デフォルトの名無しさん:2013/04/13(土) 02:44:56.99
>>949
>>950
ありがとう
962デフォルトの名無しさん:2013/04/13(土) 03:13:57.59
Qt CreatorでLinuxのパッケージみたいな感じでboostとかのライブラリを簡単にインストールできるようにして欲しい
963デフォルトの名無しさん:2013/04/13(土) 07:41:34.22
ゆとりもプログラム作る時代か
964デフォルトの名無しさん:2013/04/13(土) 16:13:04.12
>>957
Oh, vs2008版が無くなってる。。。
965デフォルトの名無しさん:2013/04/13(土) 17:45:58.06
>>964
VS2010より2008の方が軽くて使いやすいと思うけど
QtCreatorからコンパイラ呼び出すだけなら2010の方がよくね?
VSアドオンでやってるならご愁傷様だが
966デフォルトの名無しさん:2013/04/14(日) 20:43:40.23
QNetworkAccessManagerで取得したデータをqDebug()で表示したいのですが、何も表示されないです
なんででしょ?


void Text::hellow(QNetworkReply* nr){
const QByteArray ba = nr->readAll();
QTextStream ts(ba);

ts.setCodec(QTextCodec::codecForName("Shift-JIS"));
QString text = ts.readAll();
qDebug() << text;
967デフォルトの名無しさん:2013/04/14(日) 20:54:22.94
デバッガ使えゆとり
968デフォルトの名無しさん:2013/04/14(日) 20:56:12.78
>>967
普通にF5でデバッグしてますが
969966:2013/04/14(日) 21:21:22.44
すまん
やっぱり、質問アホすぎるんで取り下げる
970デフォルトの名無しさん:2013/04/14(日) 21:28:14.12
おい勝手に俺に成り代わってレスするなカス
さっさと答えろよ低能ども
971デフォルトの名無しさん:2013/04/14(日) 22:35:49.13
2点確認してからもう一回聞いて
・ネットワーク応答の内容をファイルに書き出して正常に読める
・自分で作ったQByteArrayをqDebug()に正常に表示できる
972デフォルトの名無しさん:2013/04/14(日) 22:45:32.03
qDebug()にデバッグ出力できないバグをデバッグ中ってことは
本来やりたいプログラミングからどれだけ乖離してるかを一度は検討するべき
973デフォルトの名無しさん:2013/04/15(月) 23:08:30.40
プログラミングする時間が少ないorz
974デフォルトの名無しさん:2013/04/16(火) 00:46:40.47
昨日、やっと5.0.2のwin64のvs2010のビルドが終わったよ。おれのハコだと一日かかるよ。とくにwebkitがヤバい。
975デフォルトの名無しさん:2013/04/16(火) 17:33:48.83
C:ドライブにVS2010置いたマシンでは簡単に5.0.2をビルドできたのに
D:ドライブにVS2010置いたマシンではconfigすら通らない (´・ω・`)
976デフォルトの名無しさん:2013/04/16(火) 19:30:03.71
WindowsでビルドしたQtを別のPCにフォルダコピーでそのまま持っていくと
Qt Creatorとかで正しくインストールされていないのでmake installしろと言われますけど
パスがバイナリか何かに埋め込まれてるんですかね?それとも何か動かすのに必要な設定ファイルがあるんでしょうか?
977デフォルトの名無しさん:2013/04/16(火) 22:51:39.31
よくわからんけど、QtCreatorの設定ならこのへんじゃない?
http://qt-project.org/doc/qtcreator-2.6/creator-build-settings.html
978デフォルトの名無しさん:2013/04/17(水) 01:19:40.14
qtをapacheが面倒みる時代とか来るかな?
というか、javaみたく各企業が参加して開発するGUIがないの不思議
979デフォルトの名無しさん:2013/04/17(水) 06:24:29.34
KDE…
980デフォルトの名無しさん:2013/04/17(水) 13:32:04.94
KDEとは別に、今までGTKべったりだったubuntuの次世代UIのUnity NextはQt5ベース
モバイル版(スマホ・タブレット)は10月のリリースで移行
デスクトップ版は来年4月の予定
981デフォルトの名無しさん:2013/04/17(水) 20:28:59.97
質問させて下さい。
色々省略していますが、以下の様なプログラムがあったとしたとき
class Player {
playMudic() {
// (すでにGUIは起動している)
//音声再生。終わるまでに10秒かかるとする
boost::thread thread_(boost::bind(&Player::play_pool, this));
thread_.join();
// 終了 (GUIは起動したまま)
}
}
10秒かかるplay_poolを実行中、GUIを操作できるようにしたいのですが、
終了のところに行くまで全く操作できなくなるのです。
(windwos7の、◯型のアイコンが回転している待ち状態になってしまいます)
スレッドを分ければバックグランドで再生処理を実行しつつ、
プログラムが終了のところまでplay_poolの実行終了を待たずに
一気に行ってGUIを操作できるようになるのではと思って
boost::threadを使ってみたのですが、駄目でした。
どのように実装すれば音声再生中もGUIを操作できるようになるでしょうか??
教えていただけると嬉しいです。
982デフォルトの名無しさん:2013/04/17(水) 21:31:20.64
join()呼ばない
983デフォルトの名無しさん:2013/04/17(水) 22:09:11.08
便乗だけど、QThread使った方良いことはあったりする?
984981
自己解決しました。
Qthreadというクラスがあるのですね。

ありがとうございました