[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2chのread.cgiへ]
Update time : 06/15 14:02 / Filesize : 170 KB / Number-of Response : 630
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん [2012/02/18(土) 11:01:17.97 ]
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 総合スレ 12 【Win/Mac/Linux】
toro.2ch.net/test/read.cgi/tech/1313727889/

2 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 11:02:08.68 ]
■リンク

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

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

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


■ライセンス関連まとめ

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

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

*: LGPLは動的リンク時

実際には他にも条件(リバースエンジニアリング関係とか)あるので、
きちんとライセンスの条文を読むこと。

3 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 11:02:51.00 ]
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 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 11:03:14.36 ]
■インストール方法:MinGW版Qt & Qt Creator

(1)「Qt SDK for Windows」をインストール
 qt.nokia.com/downloads/sdk-windows-cpp

■インストール方法:VisualC++版Qt & Qt Creator

MinGW版との違い:Phononが利用可能。VC版の方が速いらしい

(1)「Microsoft Visual C++ 2008」(Express Edition 以上) をインストール
(2)「Microsoft Debugging Tools」をインストール
 www.microsoft.com/japan/whdc/devtools/debugging/installx86.mspx
(3)「Qt libraries for WIndows(VS 2008)」をインストール
 qt.nokia.com/downloads/windows-cpp-vs2008
(4)「Qt Creator Binary for Windows」をインストール
 qt.nokia.com/downloads/qt-creator-binary-for-windows
(5)環境変数PATHを設定(もともと入ってたパス;Qtインストールパス\bin)
(6)Qt Creator を起動して、「ツール」→「オプション」
 「Qt4」→「Qt Versions」を開いて自動検出された「PATH に含まれる Qt」をクリックし「MSVC バージョン」を 9.0 にする
 「デバッグヘルパ」が×印になっていれば「リビルド」ボタンをクリックしてリビルド
 もし失敗したら「プロジェクト」→「ビルドして実行」→「nmake の代わりに jom を使用する」のチェックを外してリビルド

5 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 11:03:38.09 ]
■Qt Creator 日本語化プロジェクト

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


■Python バインディング

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

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

ごちゃごちゃ言わず、QtQuickも使ってみてください(><;)

では、どうぞ!

6 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 12:10:37.82 ]
>>1おつ

7 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 08:47:03.65 ]
QDialog内でのQTextbrowserを使って、テキストデータを表示しているんだけど、すごく表示が遅い。
別にコードを書く必要もないと思うけど、こんな感じで、ただテキストファイルを読んで
表示させてるだけ。

QTextBrowser b;
QFile f(filename);
f.open(QIODevice.ReadOnly);
QString text = f.readAll();
f.close();
b.setText(text);

ファイルはまあそれなりに大きいといえば大きんだけど、1Mbyte程度。
だけど、ダイアログの移動さえ遅くなる。

QTextBrowserが遅いのか、ファイルの読み込み方が悪いのか、QDialog自体に問題があるのか
よくわからなくて困っています。処理を速くするにはどうしたら良いんでしょうか?
Qtって小さいシステムでしか使えないんじゃないかと疑っているんですが、そんなことはない?


8 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 09:36:08.76 ]
コピーが3回

9 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 09:37:31.39 ]
QString &text = f.readAll();

10 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 09:41:20.86 ]
1MB位のコピーなんてたいしたことないだろ
それよりsetPlainTextにしたほうがいいんじゃね?



11 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 14:16:25.92 ]
>>8
QStringはimplicit sharedなので、QStringの文字列データ部分のコピーは0回です。
>>9
同じ理由で、&の有無は影響しません。

12 名前:デフォルトの名無しさん mailto:sage [2012/02/20(月) 03:43:40.73 ]
1Mバイト程度のテキストファイルを表示させるのが遅いのか。
Qtには速度、メモリ消費に決定的な欠点があるのかもな

13 名前:デフォルトの名無しさん mailto:sage [2012/02/20(月) 04:02:40.41 ]
QWebView使ったら?

14 名前:デフォルトの名無しさん [2012/02/20(月) 07:42:58.56 ]
>>7
まず、プロファイルを取って、どこで時間がかかっているかを特定する。

>>12
憶測で判断しない。

15 名前:デフォルトの名無しさん mailto:sage [2012/02/20(月) 08:10:16.27 ]
Qt 解説書

■ 入門 Qt 4 プログラミング
www.amazon.co.jp/%E5%85%A5%E9%96%80-Qt-%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-Jasmin-Blanchette/dp/487311344X

■ Qtプログラミング入門―使いやすいフレームワークを基礎から解説
www.amazon.co.jp/gp/product/4777516504/ref=pd_lpo_k2_dp_sr_2?pf_rd_p=466449256&pf_rd_s=lpo-top-stripe&pf_rd_t=201&pf_rd_i=487311344X&pf_rd_m=AN1VRQENFRJN5&pf_rd_r=1A9G2JCJYMD8FS57MBAC

■ Qtで簡単 GUIプログラミング―Qt入門書を読む前に読む「入門書」
www.amazon.co.jp/gp/product/4877832211/ref=pd_lpo_k2_dp_sr_1?pf_rd_p=466449256&pf_rd_s=lpo-top-stripe&pf_rd_t=201&pf_rd_i=487311344X&pf_rd_m=AN1VRQENFRJN5&pf_rd_r=1A9G2JCJYMD8FS57MBAC


16 名前:デフォルトの名無しさん mailto:sage [2012/02/20(月) 10:37:19.01 ]
>>7
環境とソース(全部)を貼れ
大抵は素人が関係ないと思ってるところに原因がある

17 名前:デフォルトの名無しさん mailto:sage [2012/02/20(月) 10:38:26.33 ]
まちがえた

x 素人
o 本人

18 名前:デフォルトの名無しさん mailto:sage [2012/02/20(月) 14:20:11.50 ]
ダイアログの移動さえ遅くなるってのが問題だな
そのコードは処理終わるまで制御返さないから、どんなに重くてもダイアログの移動には影響を及ぼさないはず
ユーザのコードに原因があるとすれば、Event系で重い処理をさせてるんだろう

19 名前:デフォルトの名無しさん mailto:sage [2012/02/20(月) 14:33:15.32 ]
と思ったけどそういえばQtは仕様違ったような気がして試してみたら、
setTextに大きなデータ表示させると一部だけ表示して一旦制御を返してからバックグラウンドで残りを処理してるね
この処理中は確かにスクロールもダイアログの移動も重いわ
うちのデスクトップでは5MのHTMLファイルでも3秒未満で終わったけど

20 名前:デフォルトの名無しさん mailto:sage [2012/02/20(月) 14:39:22.37 ]
ファイル選択ダイアログを表示するので重くなった経験ならあるけどな。
多分選択ダイアログ表示の時に何かをダイナミックリンクをしているからだと思うけど。
同じような理由で、plug-inは、初回は重い。

あと、OpenGLのコンテキストの切り替えで重くなる。chromeがWebGLに対応して、
積極的にGPU使うようになってOpenGL使う他アプリとの切り替えが重くなった。

それから、間違ってバイナリファイルを開いた時のように、改行が殆ど無いときは、
スクロールが重くなる。



21 名前:デフォルトの名無しさん mailto:sage [2012/02/20(月) 23:03:10.26 ]
>>19
ああ、これっぽいかも。
表示領域ではすぐに表示されるけど、スクロールも受け付けないし、
ダイアログの移動も受け付けないって状態。

そうかあ、setTextはそういう処理をしてるんですか。
もしかしてQtのソースを読んだんですか?

うまく処理できる他の手はあるんだろうか?

22 名前:デフォルトの名無しさん mailto:sage [2012/02/20(月) 23:05:37.36 ]
あ、ちなみに、私はプアなマシン(WindowsXP、Pentium4、2Gバイトメモリ)では、結構きつい。

23 名前:デフォルトの名無しさん mailto:sage [2012/02/20(月) 23:18:34.18 ]
QPlainTextEditは、単純には断言できないけど
少なくともGTK+より格段に速い動作だった。
50MBくらいのテキストファイルをほぼ一瞬で開いてたぞ。

24 名前:デフォルトの名無しさん mailto:sage [2012/02/20(月) 23:47:25.82 ]
QTextBrowserはリッチテキストやらの特殊なテキスト表示用
QTextEdit とその派生クラスは実装された時期が古いので
QPlainTextEditよりかなり遅いかも

25 名前:デフォルトの名無しさん mailto:sage [2012/02/21(火) 00:04:20.15 ]
>>23
QPlainTextEditは大丈夫?

最初の「表示領域にだけは」すぐ表示されても、
スクロールやダイアログの移動を受け付けないってことが問題なんだけど。
スクロールやダイアログ移動もちゃんとすぐに受け付けてくれるのかな。

26 名前:23 mailto:sage [2012/02/21(火) 00:24:55.80 ]
>>25
スクロールバーもダイアログも>>19のようにはならない。
テキストエリア真っ白のまま一瞬待たされたあと
一気に表示される。スクロールバーは表示された時点でほぼ縮まりきっているし
表示が済んだあとは普通の挙動。
で、なんで挙動がちがうんだと思ったら、setTextじゃなくて
setPlainText使ってたわ。あとメモリ8GBのi7マシンなのも影響してるかも。
役に立ちそうもなくてスマソ

27 名前:デフォルトの名無しさん mailto:sage [2012/02/21(火) 00:52:18.93 ]
いえいえ。

ちなみに、QTextBrowser でも、スクロールバーは最初から縮まりきってるんだけどね。
だから、一見、全部読み込んでしまってるのかな、と勘違いをしてしまうけど、
>>19の言ってるように、処理が完全に終わってないから、
表示エリアのスクロールバーをクリックしても、ドラッグしても、すぐには受け付けない状態。



28 名前:デフォルトの名無しさん mailto:sage [2012/02/21(火) 02:15:58.04 ]
根本的な解決じゃないけど
ハイパーリンクがあるドキュメントとかでQTextBrowserをどうしても使いたいなら
QTextBrowser::setText()の前でカーソルを砂時計にするとか特定のWidgetをDisableにするとかしちゃって
QTextBrowser::document()で取得したQTextDocumentオブジェクトのcontentsChanged()シグナルで元に戻せば
テキストの成形中の操作をさせなくはできるかも

29 名前:デフォルトの名無しさん mailto:sage [2012/02/22(水) 02:31:08.58 ]
PySide楽しすぎワロタ

30 名前:デフォルトの名無しさん [2012/02/22(水) 11:27:03.63 ]
それはよかった



31 名前:デフォルトの名無しさん mailto:sage [2012/02/22(水) 22:37:42.73 ]
Qtで作ったアプリを配ってるんだが(Windows)、最初の立ち上がりが結構遅いみたい。
ライブラリのロードに時間がかかってるのかなあと思ってるんだけど、
立ち上がりを速くするにはどうしたら良いんだろう。
あと、例えば、最初にファイル選択ダイアログを表示する時にも、ちょっと遅いよね。
あれってどうしようもないのかな。結構、欝になる。

32 名前:デフォルトの名無しさん mailto:sage [2012/02/22(水) 23:13:09.22 ]
俺の実装がまずいのかと思ってたら、似たような問題抱えてる人いるんだな

33 名前:デフォルトの名無しさん mailto:sage [2012/02/22(水) 23:30:00.97 ]
.NET系やJava系よりはずっと早いんだけど
DelphiとかMFC製のネイティブアプリと比べると、体感できるくらい遅いよな

34 名前:デフォルトの名無しさん mailto:sage [2012/02/22(水) 23:53:06.76 ]
UPXで圧縮すれば多少早くなるかもしれない
CPUが遅いと余計遅くなるかもしれないけど

35 名前:デフォルトの名無しさん mailto:sage [2012/02/23(木) 00:31:35.06 ]
>>31
必要なライブラリを使うダミーのプログラムを作って
サービスとして登録しておけば委員で内科医

36 名前:デフォルトの名無しさん mailto:sage [2012/02/23(木) 00:45:22.54 ]
遅いってどのくらい遅いの?自分は体感できないな
最小限のプロジェクトでQWidgetをshowするだけのプログラムでも遅いの?

使うライブラリによっては、mingwコンパイルするよりvcコンパイルしたほうが立ち上がりが早いことはある

37 名前:デフォルトの名無しさん mailto:sage [2012/02/23(木) 01:44:16.98 ]
QtCreatorの立ち上げからしてもっさり

38 名前:デフォルトの名無しさん mailto:sage [2012/02/23(木) 02:13:13.89 ]
インストールも時間かかりすぎ
170Mのファイルインストールで1.5GBってでかすぎ

39 名前:デフォルトの名無しさん mailto:sage [2012/02/23(木) 09:32:55.57 ]
あれはadobeがする

40 名前:デフォルトの名無しさん mailto:sage [2012/02/23(木) 10:04:03.07 ]
GTK+みたいにGUI部品のツールキットとして始まってるわけだから
Win32ネイティブなGUI部品をそのまま使うやつに比べれば重いし
ファイル容量が大きくなるのは当たり前。(それでもDelphiより重いかなあ)
無意味に.NETなアプリケーションが増えている現在速度はあまり気にしてなかったが
同梱しなきゃなんないdllのサイズは頭が痛い。
けどファイルダイアログなんかはWindowsのをそのまま使ってるんじゃなかったっけ?



41 名前:デフォルトの名無しさん [2012/02/23(木) 10:42:40.15 ]
>>31
そんなに重いか?
VS2008のコンパイラでビルドしたexeだけど,PC起動して最初に立ち上げても
2〜3秒でメインフォームが表示されるよ。フォーム上に何十個かのウィジットが
あるけど。

起動時に何か処理が入ってない?
そもそも組み込み用途でショボイCPUでも使われてるわけで,PCでやたらに遅かったら
組み込みでは使い物にならないと思うが。

>>40
ファイルダイアログは,Windowsネイティブのものと,Qt独自のものが選択できる。
>>31の話はどっちかな?

42 名前:デフォルトの名無しさん mailto:sage [2012/02/23(木) 10:43:57.32 ]
実際に使用する部分だけをdllにしてくれるようなツールがあればいいのに

43 名前:デフォルトの名無しさん mailto:sage [2012/02/23(木) 21:57:49.40 ]
VCで静的リンクすると、ただフォーム出すだけのアプリでどんくらいのサイズになるのかな

44 名前:デフォルトの名無しさん mailto:sage [2012/02/23(木) 23:31:01.39 ]
>>41
> ファイルダイアログは,Windowsネイティブのものと,Qt独自のものが選択できる。

選択できる?

オンラインマニュアルには、Windowsの場合、スタティックな関数

  QFileDialog::getExistingDirectory
  QFileDialog::getOpenFileName
  QFileDialog::getOpenFileNames
  QFileDialog::getSaveFileName

では、nativeのファイルダイアログが使われるようになっている
って書かれてある。
選択できるとは書かれていない。

もともと、普通に使っていれば、nativeなファイルダイアログが表示されるはず。

45 名前:デフォルトの名無しさん mailto:sage [2012/02/23(木) 23:47:51.63 ]
QFileDialog *dialog = new QFileDialog;
dialog->show();
これはQt独自

46 名前:デフォルトの名無しさん mailto:sage [2012/02/23(木) 23:50:35.36 ]
スタティックな関数でないほう(インスタンス作ってexec())を使うと
常にあの微妙なダイアログが出てるから選択できるんじゃないのか

47 名前:デフォルトの名無しさん mailto:sage [2012/02/24(金) 00:13:05.06 ]
QFileDialog::DontUseNativeDialog
使ったことはないが。

48 名前:デフォルトの名無しさん mailto:sage [2012/02/24(金) 01:08:16.03 ]
オブジェクト指向なライブラリは重い気がする

49 名前:デフォルトの名無しさん mailto:sage [2012/02/24(金) 01:32:06.02 ]
キモオタニート

50 名前:デフォルトの名無しさん mailto:sage [2012/02/24(金) 01:48:15.59 ]
>>45-46
ああ、そういうことか。
わざわざそっちの方を使う人もいるのかな?



51 名前:デフォルトの名無しさん mailto:sage [2012/02/24(金) 02:16:34.05 ]
がっつりカスタマイズしたいときとか、クロスプラットフォームなソフトだと便利なこともある

52 名前:デフォルトの名無しさん mailto:sage [2012/02/24(金) 03:13:50.59 ]
ソフトの挙動がOSごとに異なるのはサポートが面倒な場合があるかもね

53 名前:デフォルトの名無しさん mailto:sage [2012/02/24(金) 04:08:02.24 ]
FireAlpacaが話題だねぇ

54 名前:デフォルトの名無しさん mailto:sage [2012/02/24(金) 05:39:46.19 ]
こんなところまでステマか

55 名前:41 mailto:sage [2012/02/24(金) 06:06:34.62 ]
>>44,>>50
ドキュメントの読み方が浅いよ。>>47が正解。
QFileDialog::getOpenFileName()とかのスタティック関数でも,最後の引数
(Options)に指定できる。

だいたいさぁ,やってみたことあるから書いてるに決まってるじゃないか。
良く調べもせずに噛み付いて恥ずかしくないか?

56 名前:デフォルトの名無しさん mailto:sage [2012/02/24(金) 08:48:34.99 ]
C++でプログラム書くのを覚えるとCでプログラム書くのは無理
Cを読むくらいならできるけど、Cで書くなんてバカらしくてやってらんない


57 名前:デフォルトの名無しさん mailto:sage [2012/02/24(金) 08:50:08.30 ]
How To Become A Hacker
cruel.org/freeware/hacker.html

もしコンピュータ言語をなにも知らないなら、まず Python から始めることを
おすすめします。設計がきれいだし、ドキュメントもしっかりしているし、
初心者にもそこそことっつきやすくできています。でも入門言語として最適でも、
おもちゃではありません。強力で柔軟で、大きなプロジェクトにもじゅうぶん
対応しています。

Java もプログラミングを学ぶにはよい言語です。 Python よりはむずかしい
ですが、できるコードは Python より高速です。二番目の言語としてはとても
すぐれていると思います。

本気でプログラミングをするなら、C を勉強するしかありません。これはUnix の
中核となる言語です。C++ は C と密接な関係にあります。片方を知っていれば、
もう片方を学ぶのはそんなにむずかしくありません。が、どっちも真っ先に
勉強しようとするのには向いた代物ではありません。


58 名前:デフォルトの名無しさん mailto:sage [2012/02/24(金) 10:19:20.15 ]
c++なんてどこまでいっても便利でカオスなCじゃん
Cでキッチリかけないやつなんてわかってないだけ

59 名前:デフォルトの名無しさん mailto:sage [2012/02/24(金) 12:19:54.39 ]
C++使わないでCでプログラムをするのは
足を使わないで自転車に乗るようなもん
出来ないことはないが馬鹿らしくてやってられない

60 名前:デフォルトの名無しさん mailto:sage [2012/02/24(金) 22:36:32.70 ]
CとC++の話は別にどうでもいいですん



61 名前:デフォルトの名無しさん mailto:sage [2012/02/25(土) 01:07:15.57 ]
すん

62 名前:デフォルトの名無しさん mailto:sage [2012/02/25(土) 01:11:27.53 ]
>>41
ずいぶん偉そうな言葉遣いだな。
プログラムの前に日本語を覚えなw

63 名前:デフォルトの名無しさん mailto:sage [2012/02/25(土) 02:02:32.48 ]
CとC++のどっちがいいかなんて無意味。
目的のためなら利用できるものは何でも利用するべきなんじゃないのかな。

でも、はっきり言って、Cでまともなプログラムが書けない人は
やっぱりC++でもまともなプログラムを書いてないよね。
危なっかしいプログラムを平気で書いてる。

64 名前:デフォルトの名無しさん mailto:sage [2012/02/25(土) 02:04:13.52 ]
ってか、Qtは大抵の人が安全に使えるから人気があるんだろうね。
そのぶん、パフォーマンスが落ちてるような気がするけど。

65 名前:デフォルトの名無しさん mailto:sage [2012/02/25(土) 09:35:19.25 ]
>>62
どこが? で、本題はどうしたの?

66 名前:名無しさん [2012/02/26(日) 11:58:23.71 ]
検索エンジンも業務効率の改善にいそいでいる。

67 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 12:38:25.94 ]
>>31, >>32, >>33
同じく。QtFileDialogのスタティック関数を使ってるけど、最初使うとき体感できるほど遅いね。
dllのロードに時間がかかってるんだろうな。


68 名前:デフォルトの名無しさん mailto:sage [2012/02/28(火) 21:56:56.07 ]
ウインドウを不活性にして読み込み中・・・みたいなダイアログ?を表示したいんですけどどうしたらいいでしょうか

69 名前:デフォルトの名無しさん mailto:sage [2012/02/28(火) 23:55:04.69 ]
adobeはflashの役割をhtml5にとられるだろうけど、
そのうち、photoshopをarchemyで実装しだすと思う。
javaもc#もクロスプラットフォームなRIAとしては今一な感があるし、
コアなロジックなんかはc++で書いた方がよほどコードをつかいまわせる。
余ったflash技術者にプレゼンテーション層をまかせるとなれば、
今後はqtの採用が減るんじゃないだろうか

70 名前:デフォルトの名無しさん mailto:sage [2012/02/29(水) 04:07:43.01 ]
なんか最近見るスレ見るスレで
フォトショ関係のオナニー長レス見かけるんだけど…




71 名前:デフォルトの名無しさん mailto:sage [2012/02/29(水) 23:43:05.67 ]
>>69
Qt 5の開発が遅れ気味で、安定するのにも時間がかかるだろうから、新機能は当分使えない。
Qt 4の改良は止めてしまっていて、同じく目新しいことはない。
Qtが停滞している間に、他のものを使うようになる。

72 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 01:28:24.99 ]
qt5はコアな部分から最適化のためにかなりいじってるみたいね

73 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 01:29:34.46 ]
他のものの候補ってナニ?GTK位しか知らないんだが

74 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 18:59:49.51 ]
どーせいつものアンチNokiaの粘着だろ

75 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 22:53:50.90 ]
>>68
だれかしりませんか・・・

76 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 23:12:23.00 ]
>>75
要するにボタンのないモーダルダイアログを表示して、プログラムのコードで閉じたいって
ことだよね?

それならQDialog::open()を使えば良い。この関数はダイアログをモーダル表示して
すぐにリターンする。閉じる時はclose()で閉じる。

77 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 23:40:02.48 ]
>>76
ありがとうございます
やってみます

78 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 10:30:42.57 ]
VS11のExpressEditionはWin8専用で、Metroアプリしかビルドできないみたいだぞ
競合IDEメーカーがいなくなったからPro以上を売りたいのかも知れないが
Qt Creatorの存在をお忘れだったようだな!

79 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 13:35:41.65 ]
いいかげん板違い。マ板にでも行って分かったようなこと語っててくれ

80 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 23:12:23.11 ]
Nokiaの腰巾着よりまともだな。



81 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 12:41:07.43 ]
ソースから特にオプションをつけないでビルドしたら30GBになってしもた
気をつけてね

82 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 12:57:09.69 ]
サイズを小さくするには
どんなオプション付けるん?

83 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 15:43:00.32 ]
QT初心者だが、
qmake -project
qmake
make
ってやったら don't know how to make 'FORCE' と出たんだが。

84 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 16:38:25.08 ]
qbs の紹介
labs.qt.nokia.co.jp/2012/03/03/introducing-qbs.html
何年もの間、qmake とは愛憎の入り混じった関係を育んできました。
ちゃんと仕事はしてくれるのですが、うまく行かないこともあり、
多くの人がメンテナンスは不可能だと考えています。

85 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 01:56:06.39 ]
noDebug

86 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 02:14:48.29 ]
>>82
pdbファイルがでかいので-nomake samplesなのかも

87 名前:デフォルトの名無しさん mailto:sage [2012/03/05(月) 23:44:22.01 ]
Qt初心者です。
resizeEventに関して質問があります。
QPlainTextEditにでかいファイルを読み込ませた状態で
「MainWindowのサイズを変更したことによる
リサイズイベント」が発生すると、非常に処理が重いです。

- イベントの発行数を減らす
- qsplitの子ウィジェット感のサイズ変更のように、
サイズ変更が終了した時だけ描画する

などで対処したいのですが、何か良い方法はありませんか。
現在の第一候補はQPlainTextEditの resizeEvent のオーバーライドで、
イベント発行数を1/5ぐらいにする方法です。
(親クラスのリサイズの呼び出し回数を減らす)
ただ、問題もありそうなので、もっと良い方法を探しています。

アドバイスいただけないでしょうか。
よろしくお願いします。

88 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 08:10:51.62 ]
>>87
> QPlainTextEditにでかいファイルを読み込ませた状態で
> 「MainWindowのサイズを変更したことによる
> リサイズイベント」が発生すると、非常に処理が重いです。
リサイズイベントハンドラのソースは以下のようになっています。
if (e->oldSize().width() != e->size().width())
d->relayoutDocument();
たぶん、relayoutDocument() で右端で折り返す処理を行なっているんだけど、
行数が多いとこれに処理時間がかかってしまうんだと思う。

表示されている部分だけをレイアウト処理して、それ以外はマルチスレッド化
するといいとは思うけど、対処はかなり難しいと思う。


89 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 15:05:57.99 ]
初心者質問ですんません
エンターを押下したら特定のプッシュボタンをクリックしたのと同じ効果となる方法ってありますか?

90 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 15:24:06.43 ]
>>89
> エンターを押下したら特定のプッシュボタンをクリックしたのと同じ効果となる方法ってありますか?
keyEvent() で エンター かどうかを判定し、そうなら プッシュボタンの clicked() シグナルを
エミットすればいいんじゃね?



91 名前:デフォルトの名無しさん mailto:sage [2012/03/06(火) 17:48:41.87 ]
>>90
clicked()シグナルのエミットのみでは、クリックしたのと同じ効果にはならないし、
エンターの判定には、どこにフォーカスがあるかどうかも考慮する必要があります。

>>89
プッシュボタンのanimateClick()を呼べばクリックしたのと同じことになります。
例えば、どこでもよいからエンターを押したのを判断するならば、QApplicationにイベントフィルターを設定して、
エンター押下を判断して、特定のボタンに対して、animateClick()を呼べばよいでしょう。

92 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 09:25:07.05 ]
>>89
QDialogだけかもしれないけど、QPushButtonのdefaultをtrueにすれば良さそう。

93 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 19:39:54.77 ]
>>92
QLineEditなどがあったらダメでしょう。

94 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 21:33:35.28 ]
Qtwebkitの開発停滞してんなあ

95 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 23:06:48.54 ]
ちょっと質問。
QListとかQHashなどのコンテナってスレッドセーフにできてるんですか?
自分の作ったものじゃないウィジェッドを使ってプログラムを作ってる最中なんですが、
スロットの中で、QListのメンバ変数にデータを追加する時に、
アクセスエラーと言われて落ちてしまいます。

96 名前:デフォルトの名無しさん mailto:sage [2012/03/07(水) 23:24:15.12 ]
基本的にドキュメントにスレッドセーフってわざわざ書いてないものについては
自動で排他制御したりはしてくれないので
別スレッドからインスタンスに触るときは、QMutexLockerなりなんなりで保護しないとダメです

97 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 00:14:47.45 ]
ありがとうございます。なるほど・・・。
QMutexLockerってものがあったんですね。


98 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 03:28:15.66 ]
オープンソースのものをとりあえずコンパイルしてみたいという段階の初心者なのですが、

CMake Error at c:/CMake/share/cmake-2.8/Modules/FindQt4.cmake:575 (MESSAGE):
It appears you're trying to use Visual Studio with Qt built by mingw.
Those compilers do not produce code compatible with each other.
Call Stack (most recent call first):
CMakeLists.txt:52 (FIND_PACKAGE)

これはどう言ったエラーでしょうか

mingwとgccでcmakeしろと書いてあったのでやってみています。
エラー文でclがないとエラーが出たのでvisual studio expressを入れて、
次はqtがないとエラーが出たのでqt sdkを入れてみました。
エラー文はqtとvisual studioは競合しているように言ってるように思うのですが・・

99 名前:98 mailto:sage [2012/03/08(木) 05:21:04.47 ]
qt sdkでないqtを入れてみたら先に進みました
失礼しました

100 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 07:55:37.66 ]
ありがとう



101 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 11:20:27.25 ]
Designerへのプラグインの登録についての質問です。

Linuxで自分の作成したプラグインをDesignerで使用するには
/usr/lib/qt4/plugins/designerに放りこめば使えるようになりました。

ただこれにはroot権限が要る為、
一般ユーザがそのユーザのみで使用する場合は
どのようにDesignerにpluginを登録すれば良いでしょうか。

何かパスを通すなどで解決するのでしょうか。

102 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 18:42:51.60 ]
QStringList QCoreApplication::libraryPaths()
{
const QByteArray libPathEnv = qgetenv("QT_PLUGIN_PATH");

とあるんで、試してないが、環境変数のQT_PLUGIN_PATHにパス追加しておけばいける


103 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 15:04:24.63 ]
>>88
アドバイスありがとうございました。
とりあえず「折り返しなし」にしたら問題がマシになりました。

調査していてわかったのですが、どうやら Mac かつ plastiqueStyle で
QTreeWidget が重いというバグに関わっているようでした。
描画スタイルをMacやMotifにしたら、だいぶ早くなりました。


104 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 15:06:49.24 ]
QLabelにあるテキストを ドラッグで範囲指定して、コピーできないもんですかね。
ぐぐったら継承して対応するというような意見があったのですが、
もっといい方法がありそうな気がします。。。。
なにか知っていらっしゃいますか。

105 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 16:55:47.96 ]
>>104
これで出来るんじゃないの?
qt-project.org/doc/qt-4.8/qt.html#TextInteractionFlag-enum

106 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 16:56:06.52 ]
>>104
textInteractionFlagsプロパティに、Qt::TextSelectableByMouseを指定すると出来る。

107 名前:デフォルトの名無しさん [2012/03/10(土) 16:59:05.47 ]
あるPCでは正常に動作するQtのアプリが他のPCの同様な環境では
?fromWCharArray@Qstring@@SA?AV1@PB_WH@ZがQtCore4.dllに無いという
エラーメッセージで落ちてしまいます。ググっても同じように泣きを
入れている人がいるのですが解決方法が見出せません。
動作しない環境でコンパイルしなおしてもやっぱり同じエラーで落ちます。
誰か助けて。
Windows7とかWindowsXPで複数のPCで試しました。
それぞれの複数のPCでVisualStudio2005とVisualStudio2010の両方で試しました
規則性はないような感じです。

108 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 17:07:09.70 ]
これ?
www.qtcentre.org/threads/4625-WCHAR-to-QString-giving-error-in-vs2005
stackoverflow.com/questions/5625884/conversion-of-stdwstring-to-qstring-throws-linker-error

> Edit your Visual Studio project settings and under C/C++ -> Language
> set the option Treat wchar_t was Built-in Type to No.

109 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 17:10:03.59 ]
>>107
違うバージョンのQtCore4.dllがロードされているんじゃないか

110 名前:デフォルトの名無しさん mailto:sage [2012/03/11(日) 18:24:01.50 ]
>>102
返事が遅れてすみません。

~/qp/myplugin/myplugin.pro というプラグインが在る所
$ env QT_PLUGIN_PATH=~/qp/myplugin/plugin qtcreator
と起動することで確かにプラグインが追加されました。
ありがとうございました。



111 名前:110 mailto:sage [2012/03/11(日) 18:26:01.35 ]
絶対パスだと長くなるので相対パスで書いたのですが、
相対パスでは動きませんでした。
失礼しました。

112 名前:108 [2012/03/11(日) 19:46:07.03 ]
>>109
QtCore4.dllは1つしかないのでそれはありません

結局Qtのコンパイルを、動作しないPCの環境で行ってからアプリケーションを
再コンパイルして解決しましたかが、釈然としません。

113 名前:デフォルトの名無しさん mailto:sage [2012/03/11(日) 20:26:31.31 ]
>>108
これだとコンパイル時にわかるだろうね

2005と2008のQtCore4.dllをごっちゃにしてるんじゃないかな

114 名前:デフォルトの名無しさん mailto:sage [2012/03/11(日) 20:29:43.38 ]
gccとかmingw のバージョン違いでもおかしくなることあるよ

115 名前:デフォルトの名無しさん mailto:sage [2012/03/12(月) 23:57:23.00 ]
win7の32bitで動いた場所とディレクトリから、64bit(別PCでコンパイル)のdllを取ってきても動かなかったりしたなぁ。
えらい悩んだが、Qt Creator で動いたのなら、どこかに必要な dll は必ずあるはず。

116 名前:デフォルトの名無しさん mailto:sage [2012/03/13(火) 17:18:33.80 ]
mac OSX, pyside 1.1環境でQGLWidgetのrenderTextを呼び出すと以下のようなエラーを吐いてプログラムが落ちてしまいます。

Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000000
Crashed Thread: 0 Dispatch queue: com.apple.main-thread

また、C++で同様にrenderTextを呼び出した場合はエラーは起こりませんが、テキストは表示されません

解決方法が思い当たる方、同じようなエラーが起こる方、レスをいただけると嬉しいです。

117 名前:デフォルトの名無しさん mailto:sage [2012/03/14(水) 00:11:48.77 ]
QtwebkitでQtTestbrowserをもとに簡単なブラウザようなものを作成したのですが
どうにも自分のwin環境だと日本語入力が正常に行えません
調べてもissueも出てないし日本語圏で誰も問題にしていないので自分の環境だけなのかな〜と思ったのですが
自分以外の環境でも問題再現するようでしたらQtwebkit Projectにissue投げたいのですがいかがでしょうか?

118 名前:デフォルトの名無しさん mailto:sage [2012/03/14(水) 00:27:25.29 ]
前にテキストエリアとかで漢字変換すると
WebKitが死んでしまうって話しは出てたな

119 名前:デフォルトの名無しさん mailto:sage [2012/03/14(水) 00:42:40.04 ]
メーリス見たところWebkitが落ちるだか画面暗転?するバグは直ってるっぽいですね
Aroraあたりのqtwebkitがっつり使ってるブラウザもテキストエリアでキャレットが動かないなどの不具合ありました
メーリングリストに投げた方がいいんですかね……?


120 名前:デフォルトの名無しさん mailto:sage [2012/03/14(水) 03:53:05.89 ]
4.7.3で問題なく動作していたソフトが4.8.0では正常に動作しなくなりました。
色々調べてQNetworkAccessManager::postの実行時にQNetworkReply::UnknownNetworkErrorが起きていることが分かったのですが、
QNetworkReply::UnknownNetworkErrorってどんな原因が考えられるんでしょうか?

ちなみに、QNetworkAccessManager::post実行後にネットワークアクセスは発生していません。
そしてエラーを無視して同じ引数で再度postを実行すると問題なく動作します。



121 名前:デフォルトの名無しさん mailto:sage [2012/03/14(水) 09:36:56.37 ]
色々と調べたところQtwebkitの処理周りのバグはWebkit Bugzillaになげるべきらしいですね…
自分はレポートはできてもリテストできる環境にないのでどなたか投げといてくれると嬉しいです

122 名前:デフォルトの名無しさん mailto:sage [2012/03/14(水) 22:34:38.00 ]
うちの環境では(XPで4.7.4)は特に問題なかった

123 名前:デフォルトの名無しさん mailto:sage [2012/03/14(水) 23:23:54.09 ]
アプリケーションをインストールした後、PCで初めて起動する時にだけ、
特定の処理を行いたいと思ってます。
Qtでの定番のやり方ってありますか?

やろうと思えば、いくらでもやり方はあると思いますが、
Qtでいい方法が用意されているのならそれを使おうかな、と。


124 名前:デフォルトの名無しさん mailto:sage [2012/03/14(水) 23:44:15.51 ]
macでQt使ってるんだが、Qt Creatorにアップデートしろって表示されたから
アップデートしようとしたら以下のように言われる。
You need a C++ compiler to be able install the Qt SDK.
Please install the latest Xcode first before invoking this installer.

でも、Xcodeの4.3.1はインストール済みだし何がおかしいんでしょうか?

125 名前:デフォルトの名無しさん mailto:sage [2012/03/15(木) 00:06:14.67 ]
>>122
ありがとうございます
Vistaと7、Qt4.8で再現するバグですのでその旨もちゃんとBugzillaに書いておきます。

126 名前:120 mailto:sage [2012/03/15(木) 22:47:28.94 ]
原因が分かりました。
4.8.0ではQHttpNetworkConnectionChannel::allDone内のエラー処理がコメントアウトされていました。
その影響で4.7.3では隠れていた不具合が表に出たようです。

恐らくですが、Connection: closeを指定していても、サーバがレスポンスの末尾に不要なデータを付け足して送ってくると、使い終わったソケットの終了処理が行われないようです。
そして次に同じホストに対してpostを実行すると、この使い終わったソケットを再接続せずに再利用してしまい、書き込みエラーが発生します。
該当部分のコメントによると既知の問題みたいですが、一応報告だけ。

127 名前:デフォルトの名無しさん mailto:sage [2012/03/15(木) 22:55:31.54 ]
Qt初心者です。プログラミングはそれなりに経験があります。
Layoutに対するwidgetのadd, removeでわからない点があるので、
もしよろしければアドバイスいただけないでしょうか。
===

メーラーにあるような、分類分けルールを任意の数で追加するウィジェットを作っていて、

データ定義 Widget: 「LineEdit, 複数のボタン, addButton, deleteButton」の構成

というウィジェットを、QScrollArea にsetされる QWidget の VBOXLayoutに追加します。
このデータ定義ウィジェットのaddButtonを押すと、そのオブジェクトの下に新しいデータ定義Widgetを追加。
deleteを押すと、VBoxのwidget数が0でなければ、呼び出したデータ定義ウィジェットを remove
という仕組みで動かしています。

ただ、QBoxLayout から removeWidget(w) したオブジェクトが見た目上で消えない場合があります。
(countを出力すると減っています)
repaintイベントを呼び出しても表示上の問題は解決しません。

おそらく、
(1) メソッド呼び出しが deleteButtonClicked() Managerに自分自身を渡す
(2) Manager の delete (dataDifWidget) で渡されたオブジェクトをremove
(3) deleteButtonClicked() 関数に戻る
という流れの(2)で処理が残っているのに remove することに問題があるのではないかと推測しています。
なにかよい対処法があったら、アドバイスいただけないでしょうか。

よろしくお願いします。

128 名前:デフォルトの名無しさん mailto:sage [2012/03/15(木) 23:08:44.82 ]
すいません、127 です。
baseWidget->remove(w);
w->deleteLater();
としたら、解決しました。
オブジェクトの開放のタイミングとか検証してから質問するべきでした。

お騒がせしました。

129 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 16:23:57.27 ]
QThreadの使い方でこういうの見つけたんだけど、いまいちよく分からん。

vivi.dyndns.org/tech/Qt/QThread.html

クラスをthreadに割り当てて、start()では実際のスレッド動作は始まらず、
クラスメンバー関数を呼び出した時点でスレッドとして動作が始まるって理解でいいの?

130 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 16:55:29.03 ]
startでスレッドが始まってデフォルトのrunが呼び出されて、
デフォルトのrunが呼び出されるとexecが呼び出されて、
execが呼び出されるとイベントループに入る
だと思う



131 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 19:06:56.95 ]
>>129
> クラスをthreadに割り当てて、start()では実際のスレッド動作は始まらず、
> クラスメンバー関数を呼び出した時点でスレッドとして動作が始まるって理解でいいの?
いや違う。
start() でスレッドの動作が始まり、イベントループが開始される。
スロットがシグナル経由で呼び出されると、スレッド側のコンテキストで
処理されるということ
スレッド間のスロットコールは内部ではイベントとして処理される


132 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 19:37:20.96 ]
>>130-131
うーん、ちょっとデバッガで追っかけてみたけど(VC++環境)
start()ではSUSPENDでスレッド起動してるだけみたいだけど。

それに呼び出してもないのにexec()が勝手に動いちゃ駄目じゃない?

133 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 19:49:10.15 ]
ソース嫁
qt.gitorious.org/qt/qtbase/blobs/master/src/corelib/thread/qthread.cpp

134 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 19:55:24.48 ]
>>132
> それに呼び出してもないのにexec()が勝手に動いちゃ駄目じゃない?
なんで、exec() が動いちゃ駄目なの?
exec() が何をするものか分かってる?

135 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 19:56:06.03 ]
ソース読まなくてもQThreadのリファレンスに書いてあったと思うけど

136 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 20:11:30.34 ]
>>134
run()で完結する処理ならexec()必要ないし。必要のないものが勝手に動くと駄目だろ。

ざーと見てみたけど、signal受けるとQThreadのイベントハンドラが1回だけ呼び出されて
対応する処理に移動するって感じがするんだけど。
イベントループがずっと動いてるって確証は今のところ見当たらない。

137 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 20:14:09.54 ]
念のため言っておくけど、>>129のmoveToThreadやinvokeMethod使った処理な。

138 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 20:25:32.25 ]
なんで公式のリファレンスを読まないの?
分からないことがあったら一番最初にすることでしょ?

139 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 20:32:13.43 ]
>>136
とりあえず、ここを読んでおけ
labs.qt.nokia.com/2010/06/17/youre-doing-it-wrong/

140 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 20:40:35.67 ]
リファレンス読めなくてもソースなら読めるだろ



141 名前:デフォルトの名無しさん mailto:sage [2012/03/19(月) 05:47:19.10 ]
ソース嫁ソース嫁ってしつこくてうざいよ
リファレンス読まずにソース読むなんて、仕事がなくて暇なヤツのすること

142 名前:デフォルトの名無しさん mailto:sage [2012/03/19(月) 08:15:21.78 ]
やれやれ
ここもそろそろIDが必要になったか

143 名前:デフォルトの名無しさん mailto:sage [2012/03/19(月) 08:45:34.92 ]
リファレンス読んでもわからないからソース読みます

144 名前:デフォルトの名無しさん mailto:sage [2012/03/19(月) 09:41:08.16 ]
自演乙。やっぱり最低でもID出なきゃダメだね。

145 名前:デフォルトの名無しさん mailto:sage [2012/03/19(月) 15:47:30.88 ]
Qtはちゃんと資本が入ってるお陰で、ちゃんとしたドキュメントが整備されてるし
よくあるオプソライブラリみたくソースから入る必要もないだろ

146 名前:デフォルトの名無しさん mailto:sage [2012/03/19(月) 16:22:39.71 ]
リファレンス読んでも分からないときにソース読むのは正しい
リファレンス読めば分かるのにソース読むのはマヌケ

147 名前:デフォルトの名無しさん mailto:sage [2012/03/19(月) 16:28:36.94 ]
馬鹿には無理

148 名前:デフォルトの名無しさん mailto:sage [2012/03/19(月) 16:50:43.61 ]
ソースソスソスソーソーソース
ソスーソソススソスソーソース

149 名前:デフォルトの名無しさん mailto:sage [2012/03/19(月) 17:12:32.26 ]
>>136
>run()で完結する処理ならexec()必要ないし。必要のないものが勝手に動くと駄目だろ。
その通りだと思う。シグナルとスロットを使わずにスレッドを使いたいだけならば、exec()
は不要でしょう。

>ざーと見てみたけど、signal受けるとQThreadのイベントハンドラが1回だけ呼び出されて
>対応する処理に移動するって感じがするんだけど。
>イベントループがずっと動いてるって確証は今のところ見当たらない。
run()でexec()を呼ぶとイベントループがずっと動いて、スレッド間でシグナルとスロットを
使うと、シグナルを送信するとイベントループに投げ込まれ、イベントループ経由でスロット
が呼び出されるという仕組み。

>>139
>labs.qt.nokia.com/2010/06/17/youre-doing-it-wrong/
これを読んで、QThreadをstart()して、QObjectをmoveToThread()するのが正しく、
QThreadをサブクラス化するのがダメとみなしてはいけないと思います。

150 名前:デフォルトの名無しさん mailto:sage [2012/03/19(月) 17:27:55.24 ]
>>149
> >labs.qt.nokia.com/2010/06/17/youre-doing-it-wrong/
> これを読んで、QThreadをstart()して、QObjectをmoveToThread()するのが正しく、
> QThreadをサブクラス化するのがダメとみなしてはいけないと思います。
じゃあ、何が正しいの?
QThreadをstart()して、QObjectをmoveToThread()するのが絶対じゃないけど、推奨される方法じゃないの?




151 名前:デフォルトの名無しさん mailto:sage [2012/03/19(月) 17:34:46.56 ]
いやちょっと待ってほしい
サブクラス化自体がダメなんて話>>149以外誰もしてないんだけど

152 名前:デフォルトの名無しさん mailto:sage [2012/03/19(月) 17:55:11.18 ]
>>150
どちらも正しいです。moveToThread()の方がよいという訳ではないでしょう。



153 名前:デフォルトの名無しさん mailto:sage [2012/03/19(月) 18:07:35.39 ]
>>152
> どちらも正しいです。moveToThread()の方がよいという訳ではないでしょう。
ごめん、何と比べてるの?
moveToThread() しない方法って、QThread をサブクラス化して、
run() を再実装する方法のことを言ってるの?

それだと、QThread のサブクラスのスロットをコールしても
別スレッドのコンテキストで実行されないという問題があるぞ

154 名前:デフォルトの名無しさん mailto:sage [2012/03/19(月) 20:15:34.98 ]
>>153
いつでもシグナルとスロットを使わなければならない訳ではないから、
QThreadをサブクラス化してもしなくてもどちらも正しい方法です。

>136
>run()で完結する処理ならexec()必要ないし。
このような場合には、問題になりませんし、それで済む場合も多いのです。
そもそも、QThreadのrun()は元々実装しなければならなものであり、
スレッドを分かっていれば、サブクラスかをして使いこなせていたのです。

偉い人の記事を読んで、moveToThread()がよいと妄信するのは、技術力がないからです。

155 名前:137 mailto:sage [2012/03/19(月) 20:18:01.57 ]
一応言っておくけど137以降は書いてないからな。

>>149
明示的にrun()もexec()も呼び出してないのに内部でexec()が動いてるってこと?
なんか前半と矛盾するんだけど。

invokeMethodでの呼び出しが別スレッドのコンテキストでの実行になるんだから、
exec()がずっと動いてる必要もないだろう。invokeMethodから1度だけ呼ばれれば
いいんじゃないの。

156 名前:137 mailto:sage [2012/03/19(月) 20:20:27.32 ]
ざーと見たところ、invokeMethodはかなりメタ処理やってるので
遅そうだな。使い道は微妙かもしれない。

157 名前:デフォルトの名無しさん mailto:sage [2012/03/19(月) 21:26:08.92 ]
Qtアプリはシグナルスロットを基盤として設計されるものであり、
スレッドが関わってもその方針が維持できるようになったのは大きな進歩だ
昔はサブクラス化が必須であったが、この進歩のおかげで今となってはサブクラス化は例外的なものであり、
決して"間違い"ではないものの、推奨されたものではない
QThreadのrunがexecを呼び出すようになったのは、ただのお節介ではない
使い方を理解していればどちらでもよいなんて、Qtが他と比べて優れている点を理解していない証拠だ
人の技術力をとやかく言う前に、自分の技術力と読解力を疑った方がよい

158 名前:デフォルトの名無しさん mailto:sage [2012/03/19(月) 21:31:09.82 ]
そろそろmoc使わないでもいいようになってくれ

159 名前:デフォルトの名無しさん mailto:sage [2012/03/19(月) 21:40:25.36 ]
>>155
お前は結局何が言いたいの?
リファレンス読んでもまだ仕様が分からないのか、それともQtの仕様は糞だって言いたいの?
お前といい>>149といい、もうぼくのかんがえたさいきょうのらいぶらりでも作ってろよ

160 名前:137 mailto:sage [2012/03/19(月) 22:08:58.17 ]
>>159
え?何を言ってるのかわからない。

俺は単にmoveToThread()ってどういう挙動?って聞いてただけ。

シグナル受けるかinvokeMethod経由で呼ばれたタイミングで初めて
スレッドが動き出すのかと推測してたんだけど、exec()の話が出てきて
よく分からなくなったんだわ。



161 名前:デフォルトの名無しさん mailto:sage [2012/03/19(月) 22:20:03.75 ]
いやお前今の今までそんな質問一度もしてないから
スレッドが始まるタイミングとイベントループの話だけじゃん
一度自分が何を理解していないのか考えをまとめた方がいいぞ

162 名前:デフォルトの名無しさん mailto:sage [2012/03/19(月) 23:20:53.09 ]
横レスすみません

class Thread : public QThread
{
protected:
 void run() {
  QNetworkAccessManager manager;
  reply = manager.get(QNetwotkRequest(QUrl("hoge/fuga.html")));
  connect(reply, SIGNAl(finished()), this, SLOT(someSlot()));
  exec();
 }
protected slots:
 void someSlot();
private:
 QNetworkreply *reply;
}

void func()
{
 ・・・
 Thread x;
 x.start();
}

このとき、Thread::run()のイベントループ中に呼ばれたsomeSlot()は、
Thread::run()と同じスレッドで実行されると思っていたのですが、違うのでしょうか

163 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 04:48:42.32 ]
関数内でQThread::currentThreadId()を呼び出してスレッドID表示してみればどのスレッドでその関数が実行されてるかわかるよ

164 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 07:25:50.19 ]
>>162
せめて、コンパイルエラーが発生しないコードを示せよ。
すぐに検証できることを人に聞くだけで、自分ではいっさい検証してないってことか?

165 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 13:46:24.52 ]
入門Qt4プログラミングのサンプルコードが、QThreadをサブクラス化して処理を追加するようになってるのが良くないね
あれで誤解している人も結構いそう

166 名前:124 mailto:sage [2012/03/20(火) 22:26:29.08 ]
需要は無さそうですが、解決したので念のため。

今のXcodeではメニューのXcodeからPreferencesからDownloadsで
Command Line Tools for Xcode
ってのをインストールする必要がありました。

167 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 17:49:08.55 ]
QTextCodec::toUnicodeとQTextDecoder::toUnicode(ConversionFlags設定なし)の違いって何なんでしょうか?
実行中同じオブジェクトが同じコーデックで何度もデコードするんですが、こういう場合どちらを利用するのがベターなんでしょうか?

168 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 03:33:55.96 ]
>>165
そう言えば、でるでると言ってなかなかでない「でるでる詐欺」のQt翻訳本はどうなったのかな?

169 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 05:34:30.45 ]
4月に実践Qt4プログラミングが出るらしいけど、そろそろQt5がやってくるのでは
ttp://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=978-4-87311-507-8

170 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 05:42:32.29 ]
Qt5って夏ごろだっけか
てかもう春だしな



171 名前:デフォルトの名無しさん [2012/03/22(木) 14:51:40.23 ]
QTextEditでsetHtml("<img src='path'>")としてもうまく画像が表示されず
↓こんな感じになってしまうのですがどこがまずいのでしょうか
uploader.sakura.ne.jp/src/up89806.png
コピーしてEvernoteに貼り付けるとちゃんと表示されるのでパスが間違っている等のミスはなさそうなのですが。

172 名前:デフォルトの名無しさん [2012/03/22(木) 16:00:10.30 ]
まさか一時間で流れるとは…画像上げなおしました
www.rupan.net/uploader/download/1332399473.png

173 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 16:38:45.85 ]
これがいるんじゃね?
qt-project.org/doc/qt-4.8/qtextdocument.html#addResource

174 名前:デフォルトの名無しさん [2012/03/22(木) 19:30:07.08 ]
>>173
ありがとうございます。無事いけました。

175 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 20:55:39.90 ]
QtスレっちゅうかQtドキュメント探すスレやな
ttp://qt-project.org/doc/
ttp://doc.qt.nokia.com/
を含むレス数がQt力や

176 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 15:45:01.71 ]
そして時は動き出す

177 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 17:24:58.39 ]
−−−−−−−−−−−−−−−−終了−−−−−−−−−−−−−−−−

178 名前:デフォルトの名無しさん mailto:sage [2012/03/27(火) 01:38:53.36 ]
QMLなんかより本体の方をまともにしてくれ

179 名前:デフォルトの名無しさん mailto:sage [2012/03/27(火) 06:25:32.67 ]
最近Qt始めたんだけど、そんなにバギーなん?

180 名前:デフォルトの名無しさん mailto:sage [2012/03/27(火) 06:47:52.89 ]
別にバギーじゃないお



181 名前:デフォルトの名無しさん mailto:sage [2012/03/27(火) 06:48:54.32 ]
問題が多いだけ

182 名前:デフォルトの名無しさん mailto:sage [2012/03/27(火) 20:39:12.68 ]
Qt4にやっと慣れてきたレベルの初級者です。
現在、ジャンルごとにタブで表示するログ閲覧用のエディタを開発しております。

QPlainTextEdit での巨大ファイルの処理に関してアドバイスをいただけないでしょうか。
実現したいことは、「 QPlainTextEdit のレスポンスは遅くてもいいので、
それより上位の Widget のレスポンスは早くしたい」ということです。

現在の処理は

(1) Worker Thread で file から read
(2) buffer(QString) につめこむ
(3) 一定量溜まったら、Signal を emit
(4) main thread の Slot でそれを受け取る
(5) plainTextEdit に appendPlainTextでバッファのStringを追加.
(6) (1)に戻る

という流れにしてみたのですが、どうやら(5)の工程が遅いらしく、
main の GUI がファイル読み込み中に freeze します。
(試しに appendPlainText をコメントアウトしたところ、freeze はしなくなりました)

Widget自体を別スレッドにすることは、どうやらできなさそうなので、
plainTextEdit を別スレッドにするという対処はできそうにありません。
qt-project.org/forums/viewthread/4002
そのため、完全に手詰まり状態となってしまいました。

もしよかったら freeze を防ぐための アドバイスいただけないでしょうか。

183 名前:デフォルトの名無しさん mailto:sage [2012/03/27(火) 21:40:40.22 ]
一定量溜まったら、ってどのくらい?
KB単位なのかMB単位なのか

あまりでかいのなら見えてるところだけappendして遅延ロードさせるとか

184 名前:デフォルトの名無しさん mailto:sage [2012/03/27(火) 22:17:30.28 ]
>>183
Line base なので 10000行ごとにロードしています。
appendの処理が重いため、この量が少ないと処理時間が伸びました。

遅延ロードも検討したのですが、私のプログラミングスキルだと、
利便性と兼ね合いを持たせて実装する仕組みを思いつきませんでした。
他のエディタのアルゴリズムとか調べてみると発見があるかもしれないですね。
アドバイスありがとうございます。

185 名前:デフォルトの名無しさん mailto:sage [2012/03/27(火) 23:06:01.11 ]
本質的ではないのですが、appendPlainText を insertPlainText に変えて、
このページにあるように SyntaxHighlighter をロード中に切ると、
処理時間が半分程度になりました。
https://qt-project.org/doc/qt-4.7/QSyntaxHighlighter.html
(もともと SyntaxHighlighter はロード中は「内部で即return」 するようにしていたので、
あまり影響はないですが。。。)

186 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 14:20:40.74 ]
Qt Creatorってemacsのキーバインドないの?

187 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 15:03:47.18 ]
少なくともデフォルトではないんでなかったか
キーボードの挙動は結構自分で変えられるから試してみてはいかがか

188 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 22:14:23.21 ]
Qt CreatorとかQt Assistantのアイコンがそっくりすぎる
もう少しぱっと見てわかるようにならないかな

189 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/03/29(木) 05:29:06.19 ]
馬鹿には無理

190 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/03/29(木) 23:37:45.82 ]
今Twitterのクライアント作っててGUIにQt4を使っています。
TLを表示する時、Twitter側からつぶやきの情報を取得して
QLavel作成して描画しようと思っているんですが、
ツイートの文字数、ウィンドウの大きさによってラベルの高さを変えたいです。
リファレンスがわかりにくくてよく分からなかったんですが
setGeometry関数は横の長さだけ指定して
縦を自動調整してくれるようにできるんでしょうか。
できないなら方法ないでしょうか。
丸投げな質問ですいません。



191 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/03/30(金) 00:31:51.58 ]
heightForWidthとか

192 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/03/30(金) 00:34:47.49 ]
>>191
今調べられる環境では無いですが
多分引数intで縦の長さ決定する関数ですね。
その逆って無いですか?

193 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/03/30(金) 09:00:57.21 ]
QTableViewとは違うエリアで変化したデータの変更を、すぐにQTableViewの描画に
反映することってできますか?

今、設定された値によってテーブルの背景色を変化させるようにしていますが、
違うウィンドウで値を変えても、すぐに描画が反映されず、
QTableViewが貼りつけてあるウィンドウに行って、クリックとか何かイベントを
起こさせないと反映されません。

わざわざそのウィンドウに行かずに、すぐに反映されるようにするにはどうしたらいいんでしょうか?

194 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/03/30(金) 09:24:23.35 ]
>>193
QTabView を update() してる?

195 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/03/31(土) 04:20:48.74 ]
Qtはいつまで32bitしか配らないのか?
自前でビルドするとエラー出るし

196 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/03/31(土) 09:47:18.31 ]
ん?Linuxはx86-64版を配布しておるが。Windowsの話か?

197 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/03/31(土) 10:26:51.67 ]
Mac版も64bitだな

198 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/03/31(土) 14:15:56.23 ]
Win版も非公式ビルドなら、4.8.0のx64がGoogle Codeにある

199 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/03/31(土) 14:18:33.15 ]
もしかしてこれのことかね?
code.google.com/p/qt-msvc-installer/

200 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 09:39:43.22 ]
重たい処理をしてる最中の描画がうまく働かず、GUIの一部がうまくアップデートされない状態に時々ならないですか?
その箇所をアップデートするようなイベント(クリックとか、マウスオーバーとか)で元に戻るんですが、
放置しておくと永遠に見えないままです。

定期的(1000ms間隔ぐらい?) な MainWindow のリフレッシュとかが必要なんですかね。。。
Macだとこの問題は発生しないのですが、Windowsだと起きます。



201 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 14:38:00.95 ]
>>200
> 重たい処理をしてる最中の描画がうまく働かず、GUIの一部がうまくアップデートされない状態に時々ならないですか?
イベントハンドラで重たい処理をしてれば、イベントループが回らないので
GUIがうまく更新されないのはしょうがないんじゃないかい?

重い処理は別スレッドで処理しないと駄目なんじゃないかな

202 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 15:09:12.57 ]
よく分からんのですが、qtのオープンソース版ってひとつしか頒布されてなくて、
(自分がインストールしたのはこれです → Qt by Nokia v4.8.0 (MinGW OpenSource) )
>>2のLGPLライセンスだと思って使ってもいいってことですか?

つまり、LGPLライセンス用とGPLライセンス用の2種が存在するわけではないですか?

203 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 15:21:08.19 ]
GPL、LGPU好きな方で使える

204 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 15:33:35.09 ]
あ、即レスありがとうございます

205 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/01(日) 18:08:32.63 ]
初歩的だと思いのですが、質問させてください

QtCreatorを使っており、ui_mainwindowを読み込んだ
MainWindowクラスがあります。
uiではMainWindowウィジェットの子ウィジェットとしてQTabWidgetクラスのtabsウィジェットが
設定されています。

このtabウィジェットに対して色々な処理を加えたい
(コンテキストメニューでタブを追加したり消したりするような処理など)
時に、この処理をMainWindowクラスに書くのは何かちがうのかなと思ったのですが、
別個にTabsクラスを作って、それにtabsを渡して色々処理するようにしようと思ったのですが
セオリー的にはどうなっているのでしょうか

教えていただけますと嬉しいです


206 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 20:51:51.75 ]
Tabsクラスにtabsを渡すって何?

207 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/01(日) 22:12:58.87 ]
>>205
コンテキストメニューでタブを追加するという処理なら、
・コンテキストメニューを作ってQActionをアサインする
・QAction::triggered()シグナルをMainWindowクラスで受け取る
・追加するtabをQWidgetで作成(もしくはあらかじめ作る)
・ui->tabs->addTab()で追加する
で鉄板だと思うのだが、好きにやってみたらいいんじゃね?

208 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/02(月) 00:24:56.43 ]
>>201
GUI に依存する重たい処理なんで、別スレッドに対比できないんですよね。
QWidgetの派生クラスの「1行の関数呼び出し」がえらい負荷をかけているらしく、
要素の分解もできない状態です。

具体的には、以前相談させていただいた
QPlainTextWidget の String の追加処理(insertPlainText)を、高速化できないので、
(1) テキストを追加
(2) 重くなる
(3) GUI がアップデートされない
(4) TextEdit 以外の 他のGUIイベントが発生しても、それが反映されない
(5) タッチされるまで見えないまま
という状態になっています。

QMainWindowの派生クラスで Thread を持ち、それが
while(true){ msleep(1000); emit windowUpdateSignal; }
という形で、アップデートをかけ続けるという動きを考えたのですが、
あまりイケてなさそうな気がして。。。


209 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/02(月) 00:54:38.58 ]
エスパーじゃないんでよくわからんが、QStringの扱い方がまずいんでないの?
コピーしまくってたりとか、変なループ回して同じ処理を何度も繰り返したりとか。
メッセージが回らなくなるレベルの重さなんて、今時の環境だったらよっぽど無駄なことしないと難しいよ。

210 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/02(月) 07:15:50.94 ]
ループの中に QApplication::processEvents() を入れるとか、そういう話じゃない?



211 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/02(月) 08:19:06.11 ]
>>209
QStringの扱いがまずいというのはあるかもですね。
本来、QPlainTextEditは大量の文書を入れる用途には向いていないようなのに、
数十万行程度読みこませることがあるので。。。
あと、signal の送受信の際に、内部的にQStringを何度もコピーしている可能性も
考えたほうがいいかもしれないです。。。

>>210
それも以前試したのですが、目に見えた改善はなかったです。

ううむ。

212 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/02(月) 10:00:08.79 ]
試してないが、QTextDocumentを別スレッドで作って、
そこにテキストを設定した後にQPlainTextEditにsetDocumentする手は使えない?
QTextDocument::clone() を使ってコピーする必要はありそうだが。
qt-project.org/doc/qt-4.8/threads-modules.html#threads-and-rich-text-processing
動的にテキストが更新されていく場合は難しいかもしれないが。

213 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/02(月) 10:06:18.35 ]
>>211
> 本来、QPlainTextEditは大量の文書を入れる用途には向いていないようなのに、
> 数十万行程度読みこませることがあるので。。。
それが問題だと思う。
巨大文書用のエディタクラスを作るしかないかも。
#仕事として発注してくれれば受けるけど、そこまでコストかける気はなさそうだね

214 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/02(月) 14:08:43.81 ]
>>211
>あと、signal の送受信の際に、内部的にQStringを何度もコピーしている可能性も
>考えたほうがいいかもしれないです。。。
QStringはコビーオンライトするようになっているので、ポインタサイズしかコピーしていません。

215 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/02(月) 17:47:45.85 ]
>>205
QtCreatorで配置したオブジェクトに任意の処理を加えたいって
ことならオレはこうしてる。
これならQMainWindowクラスに記述するコードは必要最低限に
なるかな。

void MainWindow::on_actionOpen_triggered()
{
MyArea *localarea = centralWidget()->findChild<MyArea *>();
if (localarea!=0) {
localarea->on_actionOpen_triggered();
}
}

216 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/02(月) 17:58:41.07 ]
ながれをぶったぎってすみませんが、
Qt4.8.0以降でOpenGLを使う場合、glutをincludeしなくなっているので
gluLookAt()が使えません。そうすると、自前で視点変換の行列を
用意しなければならないのですか。それとも代わりの関数がどこかの
クラスに用意されているのでしょうか。

217 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/02(月) 19:05:22.68 ]
#include <GL/glu.h> を追加すればいいんでないの
ttps://bugreports.qt-project.org/browse/QTBUG-12227
そういう問題じゃない?

218 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/02(月) 20:33:42.11 ]
>>217
なるほど。たしかにglu.hでうごくみたいですね。
<QtOpenGL/QGLWidget>のなかでgl.hしか読み込んでいなかったので
そうしようと思いませんでした。
リンクによると、Qtではglutを使わない方針になっているんですね。

219 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/02(月) 20:44:55.49 ]
>>218
Qt4.8から使い始めたから知らなかったけど、
includeしてたのってGLUTじゃなくてGLUじゃない?

OSXはこんな感じで書けばいいみたい
ttp://qt-project.org/forums/viewthread/14269

220 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/02(月) 23:24:29.17 ]
Directorry に対する FiliInfo の absolute path 系って Mac と Windowsで挙動が違うみたいですね。

fileInfo.absoluteDir().absolutePath() とやった際に、
Macだと 自分のディレクトリを含んだパスを返し、
Windowsだと 親のディレクトリのパスを返しました。

fileInfo.absoluteFilePath()
だけだと、Mac は最後に / がついて、 windows は / なし。
dirPath = fileInfo.absoluteFilePath();
if(dirPath.endWith("/"){
dirPath = dirPath.left(dirPath.length() - 1);
}
のような形で、両者の違いを吸収できました。

ただ、数千行書いて、初めて処理結果の食い違いが出てきたレベルなので、
やはり汎用性が高いですね。
あと、nullを間違えて addWidget した時の挙動も若干違いましたが。



221 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/02(月) 23:44:06.97 ]
>>213
ググったら似たようなトラブルが山のように出てきたので、
おそらくそうですね。

プロっぽい人の回答だと、
1) オンラインのログのようなものなら、組み込み機能の行数制限を使って、古い行を上から自動で消す
2) ページングに細かくぶったぎる
というのがよく見られるパターンでした。

私も趣味で開発(タダ)してるんで、金はかけられないですw
巨大文書用のエディタクラスですか。。。
作るならQPlainTextEditと上位クラスのコード読まないと無理そうですね。

222 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/02(月) 23:52:48.62 ]
>> 212
ああ、それいいかもですね。
setTextDocument の スピード について main thread で検証してみて、
それが速ければ試してみる価値がありそうです。
結果は後日報告します。ありがとうございます。

いやー、随分悩んだのですが、相談すると自分が考えつかないような
解法を色々教えていただけて、助かります。

223 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/03(火) 23:10:53.31 ]
Qt 5 Alphaリリースしました

224 名前:108 [2012/04/04(水) 03:52:13.17 ]
Qt5では、簡単に言うと何がいいのでしょう?

225 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/04(水) 11:48:51.05 ]
>>224
qt-project.org/wiki/Qt-5-Alpha


226 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/04(水) 18:19:44.50 ]
>>225
もう和訳でてる
labs.qt.nokia.co.jp/2012/04/04/qt-5-alpha.html

227 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/04(水) 22:29:23.76 ]
>>199
これつかわないと64ビット版のwindows向けにビルドできないのでしょうか???

228 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/05(木) 00:22:05.26 ]
>>227
WOW64でいいなら使わなくてもよいでしょう

229 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/05(木) 00:25:37.15 ]
組み込みでもOpenGL使えるのかな

230 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/05(木) 01:36:43.32 ]
>>229
ドライバがあれば、な。



231 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/05(木) 07:58:01.23 ]
>>229
Qt 4ではドライバがあっても問題が多過ぎて満足に使えませんでした。
問題を報告したら、今のアーキテクチャではもう無理なので、Lighthouse迄待ってくれと言われました。
Qt 4.8のLighthouseのOpenGLドライバは、問題がまだあるけれどそこそこ動きます。

232 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/07(土) 11:05:12.73 ]
みなさんって Qt4 を Windows か Mac、Linux もしくは 複数のどれで利用しています?
アプリケーションの大枠としてはだいたい同じ挙動になりますが、OSごとに若干GUI系のレスポンスが違いませんか。。。
Windowsだけ、このWidget_Aが遅くてアップデートがうまく動かないとか、
Macだけ、このWidget_Bが遅くて、もっさりしているとか。

Windowsだけ、QLineEdit(コピペしたときの見た目が更新されない), と
QTreeWidget(1クリックでフォーカスが表示されない) のアップデートが遅く、
Mac だけ QTreeWidget の plasticStyle がもっさり(カクカク)しています。
解消したいんですが、OS特有なんで原因がよくわからないんですよね。。。

233 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/07(土) 22:26:04.52 ]
>>232
ここ数年こういったQtの実装の不十分さが目立って来ています。
報告しても、古いからもう改善しないとクローズされるのが何度もあって、言う気も失せています。

234 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/08(日) 00:50:31.53 ]
そのへんはしかたないと思うけどね。
Javaとかと違ってネイティブで動くことに意味があるんだし。

235 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/08(日) 00:55:01.74 ]
QMLの不具合は報告するとすぐさま修正されるよ
QWidgetは放置されるけど

236 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/08(日) 11:16:36.41 ]
馬鹿には無理

237 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/08(日) 11:44:19.69 ]
オプソは総じて、過去の遺産のメンテみたいな面白くもないことはしたがらないからな
自分で直すか有償サポート申し込めってことだな

238 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 12:35:16.58 ]
オープンソースといってもNokia関係者が8割だそうだ。

239 名前:営利利用に関するLR審議中@詳細は自治スレへ [2012/04/09(月) 12:59:20.02 ]
NokiaはQMLで何がしたいんだろう?

240 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 17:20:24.03 ]
Qtで作ったMeeGoを捨てて、Windows Phoneに寝返ったNokiaに、
もう一度Qtの開発者達へ目を向けさして、Nokiaのメインストリームにして欲しいんじゃないかな。



241 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 22:51:02.32 ]
Qtの GUI 系のアップデートって、メソッドの呼び出し順序で挙動が変わりますね。
QPlainTextEdit を拡張して、左側にラインナンバーを表示させているのですが、
再定義を以下のようにすると

paintEvent(QPaintEvent *e){
lineNumberArea->repaint(); <--- (1)
QPlainTextEdit::paintEvent(e); <--- (2)
}

Editer本体の描画がうまく動かなかったのですが、
この(1)(2)を逆にしたら問題なく動くようになりました。
重要なイベントを先に動かしたほうがいいみたいですね。


242 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 23:06:09.30 ]
単に理解できてないだけなんじゃね

243 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 23:11:35.16 ]
それは単純に、(2)が上書きしているからじゃないの?
Widget が透ける設定じゃなけりゃ、塗りつぶすでしょ。

244 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 23:33:02.87 ]
>>243
PlainTextEditの描画を少し右寄せして、空いた隙間にライン描画のための QWidget を配置しています。
両者は重なっていないので、塗りつぶしは発生しないです。

ペイントイベントが半動きのようになっていて、以下のような症状がでていました。
- スライダーを動かすと、上下 20 % が空白になる
- 停止すると Editer が真っ白
- クリックすると、描画され文字が確認できる
- カーソルを動かすと、現カーソル行だけが空白
- 左側 30%ほどしか描画されない
上記は全て同時に発生するのではなく、このうちのいくつかが複合的に起きていました。
Win/Macともに問題なかったコードを、Macでコードをリファクタリングしたあとに、
Windowsで動かすと急に上記のような症状が現れて焦りました。
きちんと両方で検証しながらコードの修正変更を加えないと危ういですね。。。



245 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 00:28:09.75 ]
>>244
>PlainTextEditの描画を少し右寄せして
どのようにして右寄せにしていますか。

246 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 14:09:33.70 ]
なんでupdateじゃなくてrepaintなの?

あと qt-project.org/doc/qt-4.8/qwidget.html#paintEvent
> Generally, you should refrain from calling update() or repaint() inside a paintEvent().
> For example, calling update() or repaint() on children inside a paintevent()
> results in undefined behavior; the child may or may not get a paint event.
は関係あるのだろうか

247 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 23:00:20.51 ]
>>245
setViewportMargins(x, 0, 0, 0);
ですね。

>>246
QPlainTextEdit の 継承クラスの中に QWidget(ライン番号表示)を持っていたのですが、
両者のアップデートのタイミングが異なっており、「行番号がアップデートされずに、
実際の行と食い違いがある」という状態になっていました。

なので、継承クラスで PaintEvent をオーバーライドし、
「本来のPaintEvent + 同時にアップデートされなかったWidgetのアップデート」
を行うようにしています。

248 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 23:01:56.89 ]
伝え忘れましたが、行番号はSQroll範囲全てにあるわけではなく、
現在見ている Window範囲にしか存在せず、必要に応じて行番号を
アップデートする仕組みで動作しています。

249 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 23:04:30.55 ]
>>246
どっかのドキュメントで 「update ではなく、repaint を呼び出すべき」というのを見かけ、
それを盲目的に信じていました。
申し訳ないですが、一ヶ月近く前の話なので覚えていないです。ごめんなさい。

250 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 23:14:29.07 ]
lineNumberArea実装の例はQtのサンプルに含まれてるよ
俺はそれ参考にして実装してる



251 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 23:20:05.39 ]
>>244
>塗りつぶしは発生しないです
どうやって確認したの?

252 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 23:21:17.23 ]
Code Editor Example | Documentation | Qt Developer Network
qt-project.org/doc/qt-4.8/widgets-codeeditor.html

253 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 23:45:22.15 ]
>>250,252
私もこれを参考にしました。
LineNumberAreaの行番号表示のアルゴリズム と、QPlainText の共存方法自体はほぼ同じです。
ただ、描画イベントの処理系はサンプルのままだとうまく動かなかったので、変更を加えています。
あと、他機能との実装の兼ね合いもあるので。。。

>>251
エリアがかぶっていないからです。
<--LineNumberArea->
<----(blank)--------------|----QPlainTextArea-------------->
というような感じですね。


254 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 23:48:57.16 ]
結局、Qtのせいではなくて理解が足りなかったということでおk?

255 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/11(水) 00:04:59.07 ]
>>254
私はエキスパートはおろか、本業プログラマですらないので、
Qtの問題性を疑うより私の理解不足を疑うほうが妥当だと判断します。

ただ、文脈を持たないその指摘に、なんの意味があるかがよく分かりません。
低レベルな質問でスレ汚しをするな、という指摘なら謝ります。

256 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/11(水) 08:29:10.49 ]
>>255
> 私はエキスパートはおろか、本業プログラマですらないので、
> Qtの問題性を疑うより私の理解不足を疑うほうが妥当だと判断します。

以下の文章は自分の理解不足を疑った方がいいと判断している人の
文章には思えないのだが
理解不足の人が知ったかぶって不完全な知識をひけらかしているように読めた

> Qtの GUI 系のアップデートって、メソッドの呼び出し順序で挙動が変わりますね。
> QPlainTextEdit を拡張して、左側にラインナンバーを表示させているのですが、
===中略===
> 重要なイベントを先に動かしたほうがいいみたいですね。



257 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/11(水) 20:21:10.84 ]
煽るより正しい情報を書き込めよ

258 名前:デフォルトの名無しさん mailto:sage [2012/04/11(水) 22:10:03.60 ]
実践 Qt 4プログラミング
www.oreilly.co.jp/books/9784873115078/

目次
推薦のことば
序文
本書で使用されている表記規則
意見と質問
謝辞

1章.デスクトップ用ハイブリッドインターネットアプリケーション
1.1 インターネット指向ウィジェット
1.2 WebKitの適用

2章.オーディオとビデオ
2.1 QSoundと QMovieの適用
2.2 Phononマルチメディアフレームワーク

3章.モデル /ビュー.テーブルモデル.
3.1 Qtのモデル /ビューアーキテクチャ
3.2 テーブルに対する QStandardItemModelの使用
3.3 カスタムテーブルモデルの作成


259 名前:デフォルトの名無しさん mailto:sage [2012/04/11(水) 22:10:25.48 ]

4章.モデル /ビュー.ツリーモデル.
4.1 ツリーに対する QStandardItemModelの使用
4.2 カスタムツリーモデルの作成

5章.モデル /ビュー.デリゲート
5.1 データ型固有のエディタ
5.2 データ型固有のデリゲート
5.3 モデル固有のデリゲート

6章.モデル /ビュー.ビュー
6.1 QAbstractItemViewのサブクラス化
6.2 モデル固有の可視化を行うビュー
7章.QtConcurrentを用いたスレッド化.
7.1 スレッド内での関数実行
7.2 フィルタとマップによるスレッド分散

8章.QThreadを使ったマルチスレッドプログラミング
8.1 独立データの処理
8.2 共有アイテムの処理

9章.リッチテキストエディタの作成
9.1 QTextDocumentの概要
9.2 カスタムテキストエディタの作成
9.3 リッチテキスト単一行エディタ
9.4 複数行リッチテキスト編集


260 名前:デフォルトの名無しさん mailto:sage [2012/04/11(水) 22:10:54.60 ]

10章.リッチテキストドキュメントの作成
10.1 QTextDocumentから書き出したファイルの品質
10.2 QTextDocumentの作成
10.3 ドキュメントの書き出しと印刷
10.4 ページを描く

11章.グラフィックス /ビュー.ウィンドウの作成
11.1 グラフィックス /ビューアーキテクチャ
11.2 グラフィックス /ビューウィジェットとレイアウト
11.3 グラフィックスアイテム入門

12章.グラフィックス /ビュー.シーンの作成
12.1 シーン、アイテム、アクション
12.2 QGraphicsViewの拡張
12.3 ドックウィジェットツールボックスの生成
12.4 カスタムグラフィックスアイテムの作成

13章.アニメーションと状態マシンフレームワーク
13.1 アニメーションフレームワーク入門
13.2 状態マシンフレームワーク入門
13.3 アニメーションと状態マシンの結合

終わりに
精選参考文献
索引


オライリーの新刊は内容的に入門書ではないね。
マルチメディア系てんこもりで期待大。



261 名前:デフォルトの名無しさん mailto:sage [2012/04/11(水) 22:21:57.74 ]
エディタの所のカスタムテキストエディタは、1行エディタとかやってるとこからして
IME周りからやってくれるのかな?だとしたらほしいなあ。よくわかんないし

262 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 01:23:36.35 ]
翻訳元これかな、サンプルコード見るとそこまで凝ったエディタでもなさそう

Advanced Qt Programming
www.qtrac.eu/aqpbook.html

263 名前:デフォルトの名無しさん [2012/04/12(木) 01:35:00.34 ]
QTextEditの使い方の説明だよ

264 名前:デフォルトの名無しさん [2012/04/12(木) 08:36:37.86 ]
Mac OS-X Lion 10.7.3 に Qt SDK 1.2.1 をインストールしようとすると、
C++ コンパイラが無い、Xcode の最新版をインストールしろと言われます。
Xcode 3.2 を既にインストール済みだったので uninstall-devtools で消し、
Xcode 4.3.2 を App Store からインストールしました
(/Application/Xcode.app が出来、空の Cocoa プロジェクトがビルド出来る
ことを確認しました)

しかし、Qt SDK 1.2.1 をインストールしようとすると、以前と同様に
C++ コンパイラが無い というダイアログが表示されます。

どうしたら SDK をインストール出来るのでしょうか?

265 名前:264 mailto:sage [2012/04/12(木) 08:38:46.24 ]
すみません訂正です。

誤:/Application/Xcode.app
正:/Applications/Xcode.app


266 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 08:56:20.72 ]
>>264
頑張ってこのスレ読み返せば解決する

267 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 09:25:27.01 ]
>>266
> 頑張ってこのスレ読み返せば解決する
情報ありがとうございます。xcode で検索して >>166 を発見しました。

>>166
> 需要は無さそうですが、解決したので念のため。
いえいえ、需要大有りです。大変助かりました。
ありがとうございます。

今、Qt SDK 1.2.1 をインストール中です。C++ が無いというエラーダイアログ
は出なくなりました。

268 名前:デフォルトの名無しさん [2012/04/12(木) 13:58:42.21 ]
Mac で QTextEdit に(フォントはデフォルトのまま)日本語の文字を入れると、
行が下に少しずれるのですが、これはそういうものなのでしょうか?
ずれないように対処する方法がありましたら、ご教授ください。
よろしくお願いします。

269 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 22:22:44.26 ]
Threadの継承クラス以外で sleep 関数に類似する関数は使えないのでしょうか。
QMainWindow を close する際に、child thread (無限ループ)を終了させたいです。

closeEvent を継承して、その中で以下のような形で実装するつもりだったんですが、
QThread::sleep() は protected だとコンパイラに怒られてしまいました。
アドバイスいただけないでしょうか。

thread->terminate();
while(true){
sleep(100);
if(thread->isFinished()) break;
}

QTest に sleep があったのですが、これはとりあえず保留しています。



270 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 22:46:34.89 ]
sleep の問題の解決になっていないのですが、threadの終了を待つには

thread->terminate();
while(!thread->isFinished(){
QCoreApplication::processEvents();
}

で十分でした。
マシンによると思うのですが、うちのやつだと100回以内にループを
抜けていたので sleep するレベルではありませんでした。



271 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 22:53:29.53 ]
wait()だろ普通

272 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 23:09:12.95 ]
>>271
wait() って、そのインスタンスに走らせたスレッド(runが動いているやつ)を止めるのではなく、
呼び出し元のを止めるんですね。。。
wait()を使うことにします。
ありがとうございました。

273 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 23:17:50.70 ]
wait()はメインスレッド止まるけど、while使うとQCoreApplication::processEvents()呼ぶから画面がぬるぬる動くんじゃね

274 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 07:31:31.12 ]
>>270
QTimer::singleShot()で呼び出されるスロットで、スレッドの終了判定をするというのはどうでしょうか。
スレッドが終了していなければ、singleShot()を再度呼び出す。
ビジーループにならず、wait()でメインスレッドが固まるのも避けられます。


275 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 09:40:19.86 ]
>>269
>Threadの継承クラス以外で sleep 関数に類似する関数は使えないのでしょうか。
QTest::qSleep()は別として、メインスレッドでsleep関数に類似するものを使うとGUIが固まるので、
敢えて用意していません。

276 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 13:22:55.99 ]
QTimerだとかで小細工しなくても、こんなんで十分じゃね?
while(!thread->wait(300))
{
qApp->processEvents();
}

277 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 00:11:59.16 ]
270です。

>>273
確かにそうですね。挙動として問題がないので、結局この実装のままにしています。

>>274
closeEvent 内部で終了を待ちたかったので、今回の処理はそれは利用しませんでした。
その方式が一番 GUI に負担が少なくていいですよね。

>>275
sleep に関わらず main thread で時間がかかる処理はやらせないほうが無難みたいですね。。
入門書にあった基本中の基本ですが、頭から抜けていましたw

>>276
wait()のみと、while 方式の両方のいいとこをとったような実装ですね。
while内の判定がスマートw

278 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 00:54:10.88 ]
Macでアプリの配布ってどうやります?
Deploying an Application on Mac OS X
qt-project.org/doc/qt-4.8/deployment-mac.html
という記事を見つけましたが、もっと簡単にやる方法があったら教えてもらえないですか?
できれば Qt Creator からそのまま出力したいです。

279 名前:デフォルトの名無しさん [2012/04/14(土) 03:57:34.72 ]
質問させてください。

QtCreator のアクションエディタで生成したQAction(button1)をQToolBar(toolBar)の
部分にドラッグアンドドロップして、
toolBarからそのbutton1を取得したいのですが、

QAction* button1 = toolBar->findChild<QAction *>("button1");

としてもヌルポインタが返ってきてしまうようです。

QtCreatorのデザイナーの右にあるパースペクティブでは、
ツリー構造でbutton1はtoolBarの子供のような感じになっているのですが、
uiファイルのxmlを見てみると親子関係になっていないようでしたので
これがfindChildで取れない理由だと思うのですが、
どのようにすればbutton1のactionを取得できますでしょうか。

280 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 09:03:04.90 ]
countとかすると、0じゃない値が帰ってくる?
ワンラインで取ろうとせず、どの行程でコケてるか調べてみたら。

しばらく使ってないから忘れたけど
menubar -> menu -> action
って親子関係じゃなかったっけ?



281 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 09:04:22.15 ]
あ、ごめん。menubar じゃなくて toolbar か。

282 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 09:17:00.41 ]
ui->button1とかでアクセスできるだろ

283 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 10:52:39.37 ]
馬鹿には無理

284 名前:デフォルトの名無しさん [2012/04/14(土) 11:42:54.59 ]
AccessとQtは同じくらい面白い。

285 名前:279 [2012/04/14(土) 12:36:13.14 ]
レスありがとうございます。

uiを色んなモジュールで引き回しまくるのが嫌なので、できればtoolBarから取得したいのですが、なんとかならないものでしょうか。

QTでは普通、どのモジュールからもuiオブジェクトから個々の部品オブジェクトにアクセスするものなんでしょうか

286 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 12:38:25.90 ]
他のMacで動くか試していないですが、以下のコマンドを使うと Mac で
アプリをデプロイできそうです。

# which macdeployqt
/usr/bin/macdeployqt
# cd /usr/bin/
# ./macdeployqt /PASS_TO_APP/myapp.app
※ myapp.app は Qt Creator で作ったアプリ

これをやると、myapp.app が 1M ぐらいから 35M ぐらいに膨らんで、
パッケージの中にライブラリが色々と入っていたました。




287 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 12:46:35.96 ]
>>285
その部分だけ ui じゃなくて、コードを使って GUI を作ったら?
そしたら、toolBar から簡単に子供を取れるんじゃないかな。

288 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 13:39:19.28 ]
じゃあ、toolbar->actions()から自分で検索すれば?

289 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 14:11:50.67 ]
スレチかもしれんが、286のついでに。

Mac で Qtで作ったアプリにアイコンをつけたければ、
myapp.app/Resources/ に xxx.icns を追加。
info.plt を 開いて、追加したアイコンを icon に設定。

アイコンのファイル icns を作るには、Img2icns というアプリが便利だった。
www.macupdate.com/app/mac/18369/img2icns

290 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 14:13:37.19 ]
ちなみに、286 の方法なのですが、snow leopard でコンパイルしたものは、
qt4 をインストールしていない lion で動きました。
10.5 はよくわからんです。



291 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 14:57:30.19 ]
QT Creatorには新しいファイルの追加でC++ソース、ヘッダの追加は可能ですが
新しいフォルダの追加というのが見つかりません。
ソースファイルを下位フォルダを作成し仕分けする、というようなことは
できないのでしょうか


292 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 15:12:45.71 ]
できますよ

293 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 15:15:07.65 ]
>>291
そんなもの下位フォルダ作ってソースをそこに置いて.pro書き換えればいいだけ。
何でもRADツールの機能に頼らないで、.proを手で編集することくらい覚えないと
使いこなせないよ。

つーか.proを直接編集する方が早いし、自由も利く。コメントも書けるし。

294 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 15:17:20.81 ]
よく解らなくて、すいませんありがとうございました。

295 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 15:40:33.93 ]
291です。
>>292
>>293
レスありがとうございます。
今までは既存ファイルの追加で新しいファイルを追加していたので
新しいフォルダの作成は気に留めていませんでした。
.proの編集はライブラリ追加等で触っているので出来なくは無いのですが、
可能であればGUIから追加したいと思っていたのですが・・・。

296 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 16:37:06.65 ]
新しいファイルの追加で出てくるダイアログで右クリックしたらディレクトリくらい作れるだろ

297 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 16:49:14.93 ]
Qtで作成したアプリケーションってデバッガ上じゃなきゃ動作しないのに
なんで人気なの?

298 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 16:55:12.51 ]
>>297
ha? Google EarthやPhotoshop Elementsがデバッガー上で動いてたか?

299 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 17:04:09.99 ]
>>297
んなわけないだろ?
QtのbinディレクトリにPATH通してないんじゃないのか?

300 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 17:06:15.77 ]
>>295
ヤレヤレ。
やたらにソース嫁ってのもどうかと思うが、こういうのはやっぱりゆとりなのか?



301 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 18:27:02.18 ]
>>293
ようやく理解できました。
フォルダがツリーに表示されている時はそこから追加、
フォルダが表示されるのはフォルダが必要になった時、なのですね。
先にフォルダだけ作ってからそこから新規作成するのだと思ってました。

>>300
申し訳ないです。出来れば煽りだけではなくソースの提示をお願いします。

302 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 18:30:12.52 ]
>>255と同じ臭いがする…

303 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 19:02:13.24 ]
馬鹿には無理

304 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 19:22:14.51 ]
286です。
このコマンドを利用したあとで、何度かコンパイルをしていたら
QWidget: Must construct a QApplication before a QPaintDevice
というエラーが出るようになりました。

コード的に問題はなく、きちんと new しているWidget にたいして
GUI イベントを呼ぶタイミングでエラー起こっており、
ぐぐったら、どうやら
- release と debug のコードが混ざっている
- 実行ファイルとライブラリのバージョンが違う
などの原因があるようです。

特定のコンポーネント(渡しの場合はQProgressDialog)でのみ発生する可能性があるので、
気をつけたほうがよさそうでした。

305 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 19:26:01.46 ]
macは糞

306 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 19:27:03.60 ]
>>304
馬鹿には無理

307 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 19:29:01.55 ]
QWidget: Must construct a QApplication before a QPaintDevice
QWidget: Must construct a QApplication before a QPaintDevice
QWidget: Must construct a QApplication before a QPaintDevice
QWidget: Must construct a QApplication before a QPaintDevice
QWidget: Must construct a QApplication before a QPaintDevice
QWidget: Must construct a QApplication before a QPaintDevice
QWidget: Must construct a QApplication before a QPaintDevice
QWidget: Must construct a QApplication before a QPaintDevice
QWidget: Must construct a QApplication before a QPaintDevice
QWidget: Must construct a QApplication before a QPaintDevice


308 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 19:30:06.78 ]
なんで素人ってエラーメッセージ読まないんだろうな

309 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 19:39:10.41 ]
エラーメッセージからは
「QPaintDevice を 使う前に QApplication を作れ」
とだけしか読み取れないのですが。。。

問題が発生するアプリケーションを破棄し、リビルド -> デプロイ用にコマンド呼び出し
としたら直りました。

310 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 21:23:02.15 ]
既に Deploy したものを Qt Creator が上書きするのがよくないかもしれないですね。
毎回デスクトップにコピーしてから、それを Deploy 用にすることにします。



311 名前:285 [2012/04/14(土) 22:17:28.95 ]
レスありがとうございます

>>その部分だけコードで
そうすれば多分解決すると思うのですが、デザイナでポトペタでやると
うまくいかないというのが釈然とせず・・
デザイナで置いたアクションをうまくコード側で取得するすべはないものかと。。

>>actions()
こんなメソッドあるんですね。
ただ複数actionあった場合は複数返ってきて、
それぞれ別の処理を加えたい時に面倒臭そうですね

toolBar->serachAction('playButton');

みたいなことが出来ればいいのですが、
こういうメソッドはないのでしょうか?探しても見つからないです。
あまり需要がないということでしょうか。
コードでActionを生成しましょうということなのですかね・・

312 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 22:22:59.77 ]
ないときはつくれよ

313 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 23:08:28.81 ]
>>311
自分でsearchActionとやらを作れ
余裕だろ

314 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 00:25:29.22 ]
>>311
デザイナで作ると、アプリが複雑になるにつれて、機能を作り込むのがキツくなりませんか?
コードでGUIも作ると、「この Widget 周りの処理が複雑になってきたなぁ」 -> 「継承 Widget に仕事を集約するか」
という流れが簡単にできると個人的には思っています。

315 名前:デフォルトの名無しさん [2012/04/15(日) 01:12:10.32 ]
PyQt4で最近GUI開発を始めたのですが、わからないところがあったのでご教示願います。
SpinBoxの値などの変更と連動してWidget(PushButtonなど)の追加、削除を動的に行いたいのですが、なかなかうまくいきません。
TestWidgetというクラス(QWidgetを継承)にself.spinbox(QSpinBox)と、self.buttons(QPushButtonの配列)、self.buttonPanel(QWidget、self.buttonsをこの上に配置)、を持たせ
self.spinbox.valueChanged.connect(self.setButtons)とし、
値が変わるごとにself.buttonPanelを作り直してみたり、
self.buttonPanelのlayoutをTestWidgetに持たせ、同様にしてlen(self.buttons)とspinboxの値に応じて
layout.addWidgetやremoveWidgetで調整してみたり自分が思いつく限りのことはやってみましたがだめでした。(かなり的はずれなことをしているかもしれません)
どうすればいいかわかる方がいらっしゃればお教えください。

316 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 01:25:16.19 ]
それでいいよ

317 名前:デフォルトの名無しさん [2012/04/15(日) 01:30:23.82 ]
>>315です。説明不足な点があったので補足しておきます。
self.setButtonsは自作のメソッドで、
def setButtons(self,num):
self.buttons=[]
layout=QVBoxLayout()
for i in range(num):
self.buttons.append(QPushButton(parent=self))
layout.addWidget(self.buttons[i])
self.buttonPanel=QWidget(parent=self)
self.buttonPanel.setLayout(layout)
と言う感じにspinboxの値が変わるごとにbuttonPanelを作り直しています。
別インスタンスになっているから変更が反映されないのかとおもい、TestWidget全体のlayoutを再びセットしなおそうとしたら今度は別のところがうまく行かなくて...と言う感じでこの方法は断念しました。

318 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 01:32:12.61 ]
それでいいよ

319 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 09:15:55.10 ]
>>317
qtに限った話じゃないが、一気に作ろうとせず、ちょっとずつ挙動を
確認しながら作ってみたら?
どっかでイベントが呼び出されていないとか、間違った変数を使っているとかさ。
あと、見た目じゃなく qDebug() などでwidetの構成を出力してみたりとか。
本当は追加されているのだけど、paintイベントが走らず見えていないだけかもよ。

まずは問題箇所を切り分けないと。

320 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 10:41:35.00 ]
>>317
PySideだけどこんな感じで出来た
pastebin.com/vT7YTcwX



321 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 12:51:06.84 ]
馬鹿には無理

322 名前:デフォルトの名無しさん [2012/04/15(日) 13:58:48.98 ]
他の部分のウィジェットにアクセスしたくなる度に渡す引数増やすのが大変そうなので
結局ui引き回しで実装することにしました。

アドバイスくださった方々ありがとうございました!

323 名前:デフォルトの名無しさん [2012/04/15(日) 14:45:22.27 ]
>>319
>まずは問題箇所を切り分けないと
おっしゃる通りです。しかしそうしようにもまだ何がどう動いているのかもわかっていない(したがって何が問題の原因となり得るのか適切に判断できない)状態なので、ちゃんと本などで勉強します。

>>320
できました!!ありがとうございます。
buttonPanelのlayoutをTestWidgetに持たせて追加・削除を行う方法は、試してみたといいったもののあまり真面目にやっていませんでした(その頃には疲れ果てていて...)。
ボタンの削除をしたときにウィンドウのサイズが縮小しませんでしたが、setButtonsが呼び出される度にself.resize()で大きさを直したやったらまだ少し挙動不審ではあるもののいけそうなので頑張ってみます。

ありがとうございました。

324 名前:デフォルトの名無しさん [2012/04/15(日) 14:52:53.68 ]
QSignalMapperでスロットに2つ引数を渡したいのですが
どう書けばよいでしょうか??


325 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 17:25:29.87 ]
>>322
馬鹿の考え休むに似たりってやつか…

326 名前:デフォルトの名無しさん [2012/04/16(月) 21:30:16.10 ]
せやから、AccessとQtは同じくらいおもしろい言うとるヤンか!

327 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 21:57:23.61 ]
なんのはなしやねん

328 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 16:46:43.11 ]
Qt 4.8.1のビルドに挑戦してます。
Windows7 64bit + VC2010Pro 64bit + ActivePerl 5.14.2 (32bit)の
環境です。しかし、ビルドがエラーで終了してしまいます。
configの指定次第でビルドが成功するのでしょうか。
ちなみに別のマシンのMingw32でも4.8.1のビルドは失敗してしまいます。

329 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 16:55:33.56 ]
エラーメッセージ貼れ

330 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 01:49:52.57 ]
エラーメッセージに原因が書かれてる
そこを直せばコンパイルできる



331 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 02:05:07.91 ]
文字コードについて質問です

ウェブからとってきたデータがEUC-JPなので、
QTextCodec* euc=QTextCodec::codecForName("EUC-JP");
QTextDecoder *dec = euc->makeDecoder();
としてデコーダー通して変換しても、どうもQtがEUC-JPに対応していないようです
リファレンスにはEUC-JPもあるのですが・・・
どうすれば変換できるでしょうか。

環境は
windows7, QtCreator2.4.0, Qt4.7.4
です

332 名前:デフォルトの名無しさん [2012/04/18(水) 02:49:49.82 ]
QString str = enc->toUnicode(char* EUC-JPの文字列)
でいけたはず

333 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 01:51:55.64 ]
qt5 alphaをVS2010でビルドするとqtsvgでエラーでるんだが、誰かビルド成功したひといる?configureかperl buildが悪さしてるっぽいんだけど。
因みにqtbaseはビルドできて実行もできる。
しかも最新ソースをgitクローンしようとしたら途中で失敗する。


334 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 17:04:00.67 ]
>>333
問題なくビルドできたのはLinuxだけでした。

335 名前:333 [2012/04/20(金) 22:14:44.58 ]
>>334
その後、qtsvgでエラーの原因分かりました。
単純にconfigure時のsyncqtスクリプトで環境変数QTDIRを参照していて、
旧バージョンのパスC:\Qt4.x.xを参照していたのが原因でした。
でも今度はQtWebkitでicu何チャラがないみたいなエラーがでてしまった…。


336 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 02:41:47.25 ]
遅くなり申し訳ありません
>>332
どうも、
QTextCodec* euc=QTextCodec::codecForName("EUC-JP");
自体が失敗しているようです。

QTextCodec* euc=QTextCodec::codecForName("EUC-JP");
euc : <unavailable synchrounous data>
となっています。
対応していないのかな・・・

337 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 10:32:28.78 ]
EUCはオワコン

338 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 13:59:30.98 ]
プラグインが追加されていなかったみたいです。

とりあえずヘッダーに
#include<QPlugin>
Q_IMPORT_PLUGIN(qjpcodecs)

として、.proファイルに
QTPLUGIN += qjpcodecs

としたけど、それでも通らない。
cannot find lqjpcodecsd
のエラーが出される・・・

339 名前:デフォルトの名無しさん [2012/04/23(月) 05:00:04.36 ]
paintEvent以外でwidgetに描画出来ないのが不便すぎる
Qt以外だと出来たような気がするけどこんなもんなのか

340 名前:デフォルトの名無しさん mailto:sage [2012/04/23(月) 05:30:35.79 ]
>>339
その代わりにフリッカを防ぐという利点がある。



341 名前:デフォルトの名無しさん [2012/04/23(月) 05:36:20.53 ]
それって利点なの?
フリッカを防ぎたいときは単にpaintEventで描画すればいいだけで
paintEvent以外での描画を禁止する意味あるの?

342 名前:デフォルトの名無しさん mailto:sage [2012/04/23(月) 07:23:53.54 ]
>>341
>フリッカを防ぎたいときは単にpaintEventで描画すればいいだけで
それだけでは、ウィンドウ全体でのフリッカは防げない。

343 名前:デフォルトの名無しさん [2012/04/23(月) 07:32:23.88 ]
PAINTイベント以外で描画しても
フリッカで困ったこと一度もないけどな

344 名前:デフォルトの名無しさん [2012/04/23(月) 09:42:22.70 ]
>>339
できますよ

ちなみにフリッカとは関係ない
paintEventで描画してもへたくそだとフリッカでる

345 名前:デフォルトの名無しさん mailto:sage [2012/04/23(月) 16:27:43.06 ]
>>328です。
QTDIRのせいかと思い、QTDIR=D:\Qt\4.8.1 その他のパス通しなおして
再チャレンジしました。しかしfatal errorで止まります。エラーと直前のwarningは
以下です。おてあげです。

d:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\yvals.h(21) : war
ning C4005: '_HAS_TR1' : マクロが再定義されました。
コマンド ラインの引数 : '_HAS_TR1' の前の定義を確認してください
NMAKE : fatal error U1077: '"d:\Program Files (x86)\Microsoft Visual Studio 10.0
\VC\BIN\amd64\cl.EXE"' : リターン コード '0x2'
Stop.
NMAKE : fatal error U1077: '"d:\Program Files (x86)\Microsoft Visual Studio 10.0
\VC\BIN\amd64\nmake.exe"' : リターン コード '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : リターン コード '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : リターン コード '0x2'
Stop.

346 名前:デフォルトの名無しさん mailto:sage [2012/04/23(月) 16:52:06.61 ]
>345
VS2010はSP1かい?
もしアップデートしてないなら試してみてはどうかな

347 名前:デフォルトの名無しさん mailto:sage [2012/04/23(月) 18:34:04.07 ]
>>346
そういえば、EXPRESS版からProにしたときにちゃんとSP1あてなおしたか
あやしくなってきました。後日、環境整えて再チャレンジします。

348 名前:デフォルトの名無しさん mailto:sage [2012/04/23(月) 19:35:28.08 ]
>>343
>PAINTイベント以外で描画しても
>フリッカで困ったこと一度もないけどな
嘘をつくな、できる訳がない。

>>344
>できますよ
こちらも嘘をつくな、できないよ。



349 名前:デフォルトの名無しさん mailto:sage [2012/04/23(月) 19:44:54.47 ]
>>344
>ちなみにフリッカとは関係ない
ウィンドウレベルでというのを理解してないな。

350 名前:デフォルトの名無しさん mailto:sage [2012/04/23(月) 22:15:55.17 ]
恥の上塗りですね
わかります



351 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 09:38:12.71 ]
NOKIAがジャンク級になっちまったい。 いずれサムスンが買収かな?
サムスンQt... いやな響きだ。


352 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 19:46:07.38 ]
オープンソースなんだからフォークすりゃいいじゃん

353 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 23:25:17.28 ]
だれか・・・プラグインの追加方法を教えてください
>>338の方法では無理でした

354 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 00:13:47.37 ]
細かく見てないけど
Qt4.8.1 VS2010版だと何もしなくてもQTextCodecでEUC-JPからUnicodeになったよ

355 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 00:35:35.98 ]
パスが通ってないか拡張ファイルが目的の場所に生成されてない

356 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 01:08:25.76 ]
スタイルシートでUIの色変えるの、なんかめちゃくちゃ大変なんだけど。
どのパーツのどの状態とか、わけわからん。
Qt使ったアプリが流行ってるっていうけど、ほんとにこんなのみんな使ってるの?

357 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 07:32:01.70 ]
>>356
Qtのスタイルシートは、失敗作で、使ってはならない機能です。
もう改善もバグの修正もされません。
スタイルシートは、駄作だけれど、他によいところは沢山ありますよ。

358 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 07:53:12.63 ]
CDSCSS

359 名前:デフォルトの名無しさん [2012/04/26(木) 08:00:20.64 ]
でもスタイルシート使わないと出来ないこともあるんでね?

360 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 10:53:03.77 ]
Qtは失敗作だらけじゃん
それが証拠にQtが使われたプロジェクトなんて極々わずかw



361 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 11:48:26.79 ]
だらけって...他は?

> それが証拠にQtが使われたプロジェクトなんて極々わずかw

産業機器とかの世界とか、知らないだろ?
必死にネガキャンするのは、何でかねぇw

362 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 12:01:38.96 ]
☆ 午後からはQt vs WPFをお送り致します。お楽しみに! ☆

363 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 12:04:30.34 ]
Qtを使ってて、一番普及しているアプリは、KDEだよ。
Windows 使ってて、モバイルぐらいしか興味がない人には、どうでもいいことなんでしょうけど。
それならターゲットに合わせて、素直にC#とか、Objective-Cとかやればいいのに。
creator でたから、急激にWindows ユーザーが、このスレに増えたけど、正直何を期待して
わざわざやるのか俺には理解できない。
やたら、もう終わりとか言ううざい人がいたりするけど、Linuxがどうでもいいのなら、Qtは最初から
終わってますよ。

364 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 12:06:02.43 ]
>失敗作だらけ
なのに
>使われたプロジェクトなんて極々わずか


365 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 12:59:53.72 ]
>> 359
カスタムスタイルかQProxyStyleがあれば十分、
スタイルシートはQProxyStyleと同じ考え方で作られている

366 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 16:38:23.28 ]
>>363
> creator でたから、急激にWindows ユーザーが、このスレに増えたけど、正直何を期待して
> わざわざやるのか俺には理解できない。

俺(と言うかウチ)の場合は死に体のC++ Builderからの乗り換え。書きためた資産があるから、
簡単にC++から他の言語に移行できないし。

367 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 16:42:22.20 ]
>>366
VC++じゃだめなん?

368 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 18:26:47.08 ]
>>367
MFCなんか使う気がしない。
.NETだとC++/CLIになって、ANSI C++で書かれた資産が利用できない。

369 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 20:10:33.68 ]
凄いなぁ。
BCBから乗り換えたかったけど、いろいろと違いすぎて30分で諦めた。

370 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 21:31:07.77 ]
>>363
どう考えてもPhotoshopやGoogle Earth、Operaの方が普及してると思う



371 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 21:44:07.41 ]
流石にOperaよりはKDEの方が

372 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 21:57:53.77 ]
>>369
さすがに30分は早すぎるんじゃぁ...
乗り換えるんだからいろいろ違うのは覚悟の上。Qtはまだ違いが少ない方かも。

GTK+(のC++バインディング)やらwxWidgetsやらいろいろ試してみて、親しみ
やすさや開発環境の出来でQtになった。

でもBCBはC++だからまだいい方。Delphiの人はどうするんだろう...

373 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 22:50:25.32 ]
エンバカデロ死に体なのか

374 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 23:25:44.85 ]
>>373
一例を挙げると、一時は一日に10件や20件の書き込みがあったメーリングリストに
閑古鳥が鳴いて、数週間や酷いと数ヶ月に1件になった。完全に取り残されたと
思った。

他にもあるんだけど、無責任なことは書けないので控えとく。

そこへ持ってきて2009版で大きな仕様変更が行われたのに、ドキュメント(ヘルプ)が
嘘だらけの無茶苦茶でわけわからなかったのが乗換えを決断する決め手になった。

375 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 23:45:18.67 ]
会社の名前が変わった時点で開発環境が捨てられ気味に見えたもんなぁ
今の有様を考えると当時の印象は間違ってなかったってことか
昔は開発環境としてMSとガチで殴り合ってた会社だったのにな

376 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 23:57:04.15 ]
C++Builderは1から使ってたけど嫌になった最大の原因はヘルプの出来がひどすぎること
バージョンアップよりヘルプまともにするほうがよほど重要なのに

377 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 00:29:52.36 ]
>>375
Turbo C 対 Quick Cの時代が懐かしい...Turbo Cは本当に出来が良かった。
今思うとBCB3〜6位が最盛期だったかな。

>>376
> バージョンアップよりヘルプまともにするほうがよほど重要なのに

禿同。使われもしない新機能より、ドキュメントやツールの充実やバグ取りを
優先させて欲しかった。

Qtも新機能優先のところが見えるけど、BCBよりずっとマシ。
ドキュメントは英語だけど、遥かに充実してる。

378 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 00:39:44.62 ]
時代のせいかもしれないけどQtはホント太っ腹に作られてる

379 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 03:30:39.50 ]
Qt4.7.4Linux版を使用しています
QPushButtonの色を変えるのにsetPaletteを利用していたのですが、
qtconfigのGUIスタイルがGTK+の時だけ色が変わりません
GTK+の時でもスタイルシートなら変更できるんですが、setPaletteでなぜ変更できないんでしょうか?
以前は変更できていたのでデスクトップ環境の設定がおかしいのかもしれないのですが……上手く調べられません

380 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 12:46:06.54 ]
>>379
スタイルによっては、パレットを部分的に参照していないものがあります。
qgtkstyle.cppを読んで、変える方法を考えてみてはどうでしょうか。



381 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 12:51:18.37 ]
>>372
30分は大げさに言い過ぎたけど、
クイックレポートを多用してたから諦めた。

382 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 17:09:17.79 ]
>>381
あぁ、なるほど。それは厳しいね。
誰かそういうもの作ってないかな...

383 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 20:58:19.64 ]
クイックレポート って何?

384 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 23:46:47.55 ]
Qtデザイナでフォームにボタンやテキストなどを貼り付けていく感じで、
紙状のフォームにテキストや線やデータベースなどを貼り付けて、
印字帳票をデザインするdelphiやBCBに昔付属してたツール

385 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 11:49:54.99 ]
Delphiもオブジェクト指向言語でポインタもあるし、案外障害はないんじゃね
愛用のコンポーネントの代替がないとかいうのはどうしようもないが

それよりも、プロパティの機能があっちに比べてだいぶショボいのがイラつくかも

386 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 18:07:21.67 ]
>>385
属性機能ってどんなところが便利なの?

387 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 22:17:56.23 ]
Qtも逆境続くなぁ。
KDEと統合したりしないのかね?


388 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 00:19:38.21 ]
自業自得

389 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 20:59:31.01 ]
Javascriptが世界を支配する日 - DQNEO起業日記
dqn.sakusakutto.jp/2012/04/javascript_14.html

もう氏ねよこいつら。最近のウェブ屋ども頭おかしいわマジで。

JavaScriptのVMは何の言語で書かれてるの?
てめえの使ってるブラウザは何の言語で書かれてるの?
てめえの使ってるOSは、デバイスドライバは、何の言語で書かれてるの?
JavaScriptで書かれてる業務系や基幹システムどれだけあんだよ?小数点切り捨てたら0%じゃねえの?
科学技術計算は?ゲームプログラムは?コンピュータグラフィックスは?

390 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 21:14:26.20 ]
JavascriptはVMじゃなくinterpreterでしょ。
あとinterpreterはFortranかもしれないしCかもしれない
Delphiだってありうるし、GCJでコンパイルしたPure Javaかもしれない



391 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 21:29:20.00 ]
横レスだけど、それ論点が違うんじゃないかなぁ・・・

392 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 21:29:41.63 ]
>>390
最近のはVMが多いよ
ja.wikipedia.org/wiki/Google_V8_JavaScript_Engine

393 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 21:54:04.56 ]
QML最強ですねわかります

394 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 21:58:09.08 ]
うん(力なく)

395 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 21:59:40.72 ]
同意せざるを得ない

396 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 22:10:54.44 ]
>>392
多いって・・・。V8だけじゃん。

397 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 22:22:32.75 ]
そういや、RhinoとJScript.netもあったねぇ。
Rhinoが本当にVM式なのか、VM上で動くInterpretorなのかは知らんけど。

398 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 22:57:56.69 ]
Qtで作成したアプリもやたらもっさり感満点なのはなんで?

399 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 23:05:30.43 ]
>>398
俺はそんな感じしないけどなぁ。どんなアプリ?

400 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 23:22:33.90 ]
うんこなう



401 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 23:36:22.50 ]
QtCore4.dllとかQtGui4.dllとか同梱されてるアプリは
100%Qt製と思ってええのん?

402 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 23:36:48.38 ]
Qtで作るともっさりなんじゃなくて、Qtに限らず普通に作るともっさりになりがち
さくさく動くアプリは開発者がさくさく動くように作ってるんだよ
もっさりなのが多いのは開発者がタコかそこに力を入れてないだけ

403 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 23:51:05.56 ]
同意せざるを得ない

404 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 00:00:29.26 ]
ユーザーの誤操作で誤動作するプログラムはくそだって
昔、先生がいっていました。

405 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 00:08:51.78 ]
>>404
当たり前すぎ

406 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 00:09:14.04 ]
車も原発も糞

407 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 00:20:53.65 ]
業務系では運用で回避が基本なのでプログラムではなくてオペレータの責任です

408 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 07:19:08.02 ]
>>407
業務系って、どこの業界だよ。

409 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 09:10:11.73 ]
>>393
>QML最強ですねわかります
スケーラビリティがあればね。小物アプリまでならとてもいい。

410 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 14:03:43.87 ]
「QMLはただの選択肢」ってたまにNokiaの人がブログに書いてるけど
選択肢が増えるのって、この業界じゃあんまいいことじゃないんだよな・・・
JavaScriptが嫌われるのもブラウザ戦争による無駄な苦労が大きそうだし



411 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 16:34:44.05 ]
携帯小物アプリならば選択肢にはなるけれど、CADや複合機などでは選択肢にすらなり得ない。

412 名前: 【吉】 mailto:sage [2012/05/01(火) 17:11:17.09 ]
おみくじ

413 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 00:01:21.93 ]
あ〜

QtPluginの追加の仕方がわからない

公式に書いてある方法じゃ通らないよ
パス通しても・・・

414 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 00:47:04.00 ]
その程度こともできないで、今時Qtを使う理由ってなんなの?

415 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 00:58:19.40 ]
C++入門として最適

416 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 11:22:38.73 ]
>>413
QCoreApplication::addLibraryPath() はやってみた?

417 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 13:05:35.97 ]
Q_OBJECTマクロについて質問があります。

QGLWidgetを継承したSubクラスを作成しました。
このSubクラスでsignal, slotを用いるためにQ_OBJECTマクロを
クラス内の先頭に記述したのですが、以下のようなエラーが発生しています。

LNK2001: 外部シンボル ""public: virtual struct QMetaObject const * __thiscall SubClass::metaObject(void)const " (?metaObject@SubClass@@UBEPBUQMetaObject@@XZ)" は未解決です。

Qtのmocの置換で生成された関数である、というところまでは調べましたが、
このエラーをなくす方法が分かりません。
申し訳ありませんがご教示いただけないでしょうか。

なお、いくつか他のクラスでも(QWidget)等を継承した場合も同様のエラーが発生しました。

418 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 13:46:41.68 ]
>>417
・Q_OBJECTと書いたヘッダーファイルをプロジェクトに加えておく
 (.proファイルのHEADERSのところに書いておく)

・qmakeを再実行してから(Qt Creatorなら[ビルド]→[qmake実行])
 ビルドする。

これでOKなはず。

419 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 14:49:50.21 ]
>>418
レスありがとうございます。
環境はQTCreatorを使っています。
Q_OBJECTと書いたヘッダファイルは
プロジェクトツリーの「ソース」→「新しいファイルを追加」で作成したもので
.proファイルには既に追加済みでした。
・qmakeを再実行してから(Qt Creatorなら[ビルド]→[qmake実行])
こちらのほうは再度試してみましたがダメでした・・・。

先程、新規プロジェクトを立ちあげて、テストクラスを作成したところ
QGLWidgetを継承したサブクラスでsignal,slot共に作成できることが確認できました。
もしかしたら、コンパイル設定がどこかおかしくなってしまったのかもしれません。
一度、新規プロジェクトに作成してソースコードその他を再度登録してコンパイルを試してみます。

420 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 22:04:35.35 ]
clang++でqt使ってる人いる?
コンパイラーとリンカー、qmakeのどこで指定すんだっけ?



421 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 00:24:16.82 ]
Qt 5はclang++になっているのでそれを見てみては?

422 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 01:49:43.03 ]
>>419
qmake実行と同じことだと思うけど、Makefike類をいったん全部消してもダメ?

423 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 03:22:37.26 ]
俺は意味不明なエラーになったときは全てクリーンしてリビルドするとだいたい直る気がするw

424 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 06:48:15.77 ]
>>423
この現象は、それでは直らないんだよ。
原因は、新たにmocで処理しなければならないファイルが増えたのでMakefileを
作り直さなければならないことを、qmakeが認識できてないことにあるらしい。
俺もよくわかってるわけじゃないんだが。

クリーンとかリビルドってのは、コンパイル以降の話なのでこの場合は無関係
だと思う。

425 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 07:30:36.27 ]
>>417
>このSubクラスでsignal, slotを用いるためにQ_OBJECTマクロを
>クラス内の先頭に記述したのですが、以下のようなエラーが発生しています。
コンパイルした後でQ_OBJECTを追加するとmocを動かすルールがMakefileに入っていないのでこのエラーになります。
qmakeを実行して、mocを呼び出すルールが入ったMakefileを生成すれば直ります。

426 名前:デフォルトの名無しさん [2012/05/03(木) 08:11:17.23 ]
Qt 5はWindowsもclangなん?

427 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 08:15:16.70 ]
>>425
だよね。俺も経験あって、それで>>418を書いたんだけど、>>417サンの場合は何で
直らないんだろう?

428 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 23:24:02.71 ]
BlackBerryがQt採用

429 名前:デフォルトの名無しさん [2012/05/04(金) 01:53:41.99 ]
QMLだけ対応とかなら
いらないです

430 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 08:45:22.50 ]
携帯電話向けのQML以外はオープンソースだから自由にやればよい。
NokiaのTroll達はうまい逃げ場を作ったものだ。



431 名前:デフォルトの名無しさん [2012/05/05(土) 03:24:01.02 ]
fakevim vimrcひろいあげないんだな。
qt-project.org/search/tag/.vimrc

な、なおればいいんだな。

432 名前:デフォルトの名無しさん [2012/05/05(土) 19:35:24.58 ]
質問させてください。
CMake関連なのですが、

>>98
オープンソースのものをとりあえずコンパイルしてみたいという段階の初心者なのですが、
CMake Error at c:/CMake/share/cmake-2.8/Modules/FindQt4.cmake:575 (MESSAGE):
It appears you're trying to use Visual Studio with Qt built by mingw.
Those compilers do not produce code compatible with each other.
Call Stack (most recent call first):
CMakeLists.txt:52 (FIND_PACKAGE)

>>99
qt sdkでないqtを入れてみたら先に進みました


これが自分のWindows XP環境でも発生して、
コンパイルできず困っています。

新しいQtのインストールや環境変数からVisual C++のパスを除いたりを試して
みたのですが、うまくゆきません。

何が足りないのか、アドバイスいただけないでしょうか。
よろしくお願いします。

433 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 03:15:34.79 ]
>>432
>オープンソースのものをとりあえずコンパイルしてみたいという段階の初心者なのですが、
であれば、CMakeは使わずにMinGWを使えば簡単にコンパイルできます。

434 名前:432 [2012/05/06(日) 12:09:53.94 ]
レスありがとうございます。
フリーのソフトのプロジェクトをビルドしたい感じでして、
INSTALLファイルを見てみるとcmakeでビルドするように書いてあるのです。

ディレクトリ構成がMinGWでビルドする用になっていない気がしまして・・
あまり関係無いでしょうか。

435 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 13:16:55.75 ]
>>434
>フリーのソフトのプロジェクトをビルドしたい
まず、mingw 4.4、ActivePerl(www.activestate.com/activeperl)をインストールし、
qt-everywhere-opensource-src-4.8.1.zip(qt.nokia.com/downloads)を展開します。
これでビルドして使えるようになります。
>configure.exe
>mingw32-make.exe
>mingw32-make.exe docs

Qtを使うだけならば、qt.nokia.com/downloadsのSDKでインストールすれば楽です。

436 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 01:54:52.20 ]
Debian + Qt2.8.1 にアップデートしたら、
QNetworkManager が、RC4 暗号化を使ってる https サイトに接続できなくなった、、、

デバッガで追うのは明日以降にして、バージョン戻し中、、、
徹夜しそう、、、orz

437 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 02:13:12.80 ]
バージョン戻したら動いてくれて助かった、、、
とりあえず LD_LIBRARY_PATH で回避。

438 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 16:47:46.38 ]
MinGW gcc 4.6.1でビルドしたlapackをQtで使いたくて悪戦苦闘中。
ツールチェインをmingw 4.6.1にしてビルドしたらmainに到達前に死ぬプログラムができる。
Qt付属のmingw 4.4でビルドすると、lapackに必要なlibgfortranがないのでビルド失敗。
Qtライブラリをmingw 4.6.1でコンパイルしようとすると、wchar_t*をLPSTRに変換できない類のエラーがわんさか出てきて断念
(ソースでGetProcessorNameとなっているのに、実際にはGetProcessorNameAとANSI版に置き換えられてエラー。なぜunicode版を使わない!)
素直にmingw 4.4を入れてlapackを作り直しか。
チラウラスマソ

439 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 17:11:14.14 ]
clang早く来てくれー

440 名前:438 mailto:sage [2012/05/08(火) 19:10:19.57 ]
sourceforgeが込んでてMinGWのアップデートに失敗、4.6.1と4.6.2が混在している状態だったので死んでただけだったorz



441 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 22:37:44.62 ]
QGraphicsWebviewでスクロールするとflashがずれるのどうにかならんかなー

442 名前:デフォルトの名無しさん [2012/05/08(火) 23:16:16.53 ]
PyQt4を使っています。
pastebin.com/qXE22gg9
のようなコードを書いてscrollAreaの中に縦の長さが動的に変化する(動的にlayoutに追加している)Widgetを組み込んでおり、横方向はscrollAreaに合わせ、縦はボタン数に応じて伸長するようにさせたいのですが、どうしたらいいのでしょうか?
adjustSize()では横方向の大きさがあわず、しかもなぜかspinBoxの値が2の時にbuttonPanelの大きさが変わっていないのかボタンが小さくなってしまいます(3以降は逆にだんだん大きくなっていきます)。
ButtonPanelをButtonLayout(QVBoxlayoutを継承しButtonPanelの機能を持たせたクラス)に変えたら、横方向はぴったりなのですが、中身が縦方向に伸長しませんでした。

443 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 01:04:48.20 ]
Qtを初めて使ったのですが、デバッグについて質問させていただきます。

適当なGUIアプリケーションを作って、デバッグを行うと警告メッセージダイアログが表示されます。
具体的には、CDBバイナリが見つからないからGDBengineを使いますといった内容です。
もちろん、現状ではブレークポイントでもブレークしてくれません。

QtSDKをインストールする以外にデバッグを行うためには細かな設定が必要なのでしょうか?
それとも、インストール時の問題なら、再度入れなおしてみるのですが・・・

444 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 01:14:13.81 ]
Qtを初めて使ったのですが、痛くてとても入りません。

445 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 01:36:42.63 ]
>>442
俺が適当に書いたサンプルコードをそのまま使うなよ…
ButtonPanel.__init__で
self.layout.setSizeConstraint(QLayout.SetFixedSize)
でいけた(PySideで確認)、他にはボタンのminimumSizeやsizePolicyをいじるとか

446 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 07:28:06.74 ]
>>443
VC++で使うならWindows SDKのDebugging Tools for Windowsを入れないとダメだったと思う
よくわからないけどとりあえず触ってみたいってことならMinGW版のSDK入れればそのままいけたはず

447 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 12:45:15.50 ]
あの例の延々、延期になってた本が発売されてる・・・

448 名前:デフォルトの名無しさん [2012/05/09(水) 14:36:05.48 ]
>>434

レスありがとうございます。
cmakeで生成されるconfig.hがビルドに必要なようでして、やはりcmakeを
使う必要がありそうで、まだ悩んでいます。

QtCreatorでプロジェクトの中にあるCMakeLists.txt を開くと
cmakeでビルドするウィザードが出ることが分かったので、
そちらのやり方に変えてみているのですが、まだつまづいています。

CMakeウィザードに、
「/path/to/build_dir/ の中にcbpファイルが存在しません。
CMakeを実行してこのファイルを生成して下さい。・・・」
のような表示が出るのですが、ジェネレータの選択オプションが空になっており
何も選べず、先に進めません。このジェネレータとは何なのでしょうか?
どうすれば先に進めるか教えていただけると嬉しいです。


toro.2ch.net/test/read.cgi/tech/1329530477/401-500


449 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 15:12:17.28 ]
>>442
こんな感じで
pastebin.com/BX82WLxu

450 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 20:10:22.78 ]
あの本出てるぞ。今度は出す出す詐欺じゃなくて、マジで出た



451 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 20:12:06.10 ]
実践Qt4?
誰か買った奴いないの

452 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 20:50:32.40 ]
後数ヶ月でQt5がリリースされるタイミングで出されてもという気がしないでもない

453 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 21:24:03.94 ]
むしろ Qt5 出てしまうとやばいので慌てて売りに出たという

454 名前:デフォルトの名無しさん [2012/05/09(水) 21:44:51.62 ]
>>455
お察しの通り流用させていただきました。そのことについて断りがなかった点については謝罪します。
今日一日色々試してみて、ButtonPanelのコンストラクタにself.layout.setSizeConstraint(QLayout.SetMinimumSize)
を追加し(QLayout.SetFixedSizeでは横方向に伸長しなかったので)、TestWidgetのresizeEventをオーバーライドしてサイズが変わるごとに
self.buttonPanel.resize(self.scrollArea.width()-19,self.buttonPanel.height())
として調整したら(無理やりですが)希望どおりの挙動をするようになりました。

>>449
わざわざありがとうございます。こちらの方がすっきりしていますね。参考にさせていただきます。

455 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 21:51:09.09 ]
>>455 っておれ?

456 名前:デフォルトの名無しさん [2012/05/09(水) 21:52:59.95 ]
>>454です。
安価が間違っていました。>455ではなく>>445でした。


457 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 22:12:39.05 ]
>>451
買った

458 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 08:35:57.77 ]
Qt 5も出す出すと、また延期。現状ボロボロだからまたまた延期で、
出ても使えるようになるのは5.1か5.2。

459 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 18:32:09.70 ]
まるで MS の製品の話を聞いているようだ


460 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 19:10:20.80 ]
Qt Projectになってから収拾が付けにくくなっているな。Qt 4との互換性も徐々にないがしろにされていっているし。
Troll達がNokiaで生き残るためにはそれしか方法がなかったのだろうが。



461 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 00:13:16.56 ]
馬鹿には無理

462 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 14:34:24.48 ]
質問です。
QLineEditを用いて、文字入力をしているのですが
その際、一つ実現出来ない機能があって悩んでます。。。
文字を入力する際、QLineEditに表示されているカーソルを
「|」ではなく「_」にして、線を文字の下に表示するように
したいのですがどうすれば出来ますでしょうか?
また、「_」は全文字ではなく、常にカーソルがある位置にある
文字の下にのみ「_」を表示させたいです。

463 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 15:11:50.94 ]
アンダースコアが入らないってこと?

464 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 15:23:11.43 ]
ばかですか?w

465 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 15:27:56.53 ]
>>463
アンダースコアは入力出来るのですが、
カーソルの位置にある文字の下にアンダースコアが入れられずに悩んでる状況orz
例えば、TextEditに文字が無い場合はTextEditの先頭で"_"が点滅していて、
「a」と入力するとaの下で"_"が点滅。
右のキーを押すと"_"がaの隣に移動して点滅という具合です。

466 名前:462,465 mailto:sage [2012/05/11(金) 15:31:50.63 ]
>>463
少し訂正です。
「カーソルの位置にある〜」と書きましたが、
そもそもEdit上で点滅しているカーソルを"|"ではなく"_"にしたいという考えです。

467 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 16:07:33.55 ]
QLineEdit の派生クラスを作って、カーソルを自前で描画すればいいのでは?

468 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 16:23:05.56 ]
>>466
paintEvent()を再実装するのが面倒なさげ
これが参考になるかも

ttp://vivi.dyndns.org/vivi/docs/qvi/qvi-009.html
ttp://vivi.dyndns.org/vivi/docs/qvi/qvi-010.html

469 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 16:25:43.66 ]
>>466
これかな
Change QLineEdit text cursor shape | Qt DevNet forums | Qt Developer Network
qt-project.org/forums/viewthread/1156

470 名前:462,465 mailto:sage [2012/05/11(金) 16:39:02.92 ]
>>467
描画して点滅させるってことは、タイマー制御で?
そこまでやらなきゃいかんのか・・・なんておもったら、
どうやらご指摘通りやらないとダメなようですね
(プロパティを変更して終了ってわけではないって事ですな)

>>468-469
参考ページ有難う!
丁度似たようなページ
vivi.dyndns.org/vivi/docs/qvi/qvi-002.html
を見ていて、「幅しか返られないのかぁ」なんておもってたら、
その続きがあったのですね。
参考にさせて頂きます。




471 名前:462,465 mailto:sage [2012/05/11(金) 18:38:55.33 ]
結果報告
>>468のサイトよりソースをダウンロードし、
それをカスタマイズすることで意図する動作となりました。
有難うございますm(_ _)m

472 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 21:38:20.94 ]
お役に立ててなによりでござるぞ

473 名前:デフォルトの名無しさん mailto:sage [2012/05/13(日) 05:29:52.98 ]
Iビーム

474 名前:デフォルトの名無しさん mailto:sage [2012/05/13(日) 14:07:33.12 ]
5年で6割から0に。
blog.goo.ne.jp/mit_sloan/e/a8cdf542cff3e464359544899958f065

475 名前:デフォルトの名無しさん mailto:sage [2012/05/13(日) 15:46:31.29 ]
これは・・・
デスクトップ向けのC++部分はintelが買い取ってくれないかな

476 名前:デフォルトの名無しさん mailto:sage [2012/05/13(日) 17:49:23.69 ]
そだね、インテルかIBMがいいね。Google だとバグだらけ。

477 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 13:41:24.44 ]
macやlinuxでQWinHostみたいなのありますか?

478 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 14:10:31.83 ]
googleは自社で開発できる能力はなく、買収しかできないからなw


479 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 14:32:54.40 ]
あります

480 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 17:41:34.85 ]
やっぱ、最終的に勝つのは、プログラム界のブラジル・Gtkだな・・・



481 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 18:18:42.41 ]
Phononを使いたくて >>4 の手順でVS版をインストールしたんだけど,
Qt Versions」を開いて自動検出された「PATH に含まれる Qt」をクリックし「MSVC バージョン」を 9.0 にする
って所で自動検出がそもそもされないんだけど…
自分で追加してもデバッグヘルパみたいな項目は全部灰色になって変更できないし,
コマンドプロンプトからqmakeって打つと動くので環境変数は間違ってないはず&
ログオフしてログインしても現象は変わらず.

手動で追加した状態でサンプルを動かそうとしても,ハローワールドは動くけどPhononを使おうとすると,
main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall Phonon::VideoPlayer::~VideoPlayer(void)" (__imp_??1VideoPlayer@Phonon@@UAE@XZ) referenced in function _main
とか
18:15:13: The process "C:\Qt\qtcreator-2.5.0\bin\jom.exe" exited with code 2.
Error while building/deploying project te (target: Desktop)
When executing step 'Make'
とかによってコンパイルできないんだけど,解決法知ってる人いる?
64bit win7でVS2010で,Qtに関しては >>4 のリンクのやつを使ってます.

482 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 19:14:10.26 ]
>>481
>>4のQtってVS2008のだけど2010のやつ使ってる?

483 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 11:24:55.32 ]
>>482
まさにその通りだった…んだけど,VS2010を入れたら今度は
c:\qt\4.8.1\src\corelib\global\qglobal.h:45: error: C1083: Cannot open include file: 'stddef.h': No such file or directory
って出て来てハローワールドすらできなくなった…
しかもWinSDKとかVSとかをいじってたらコンパネに無いのを削除して下さいとか言われてよくわかんなくなったので再インストールしてきます…

484 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 11:39:35.53 ]
>>483
pro ファイルを開いて、stddef.h の行があったら、それを削除するとどう?

485 名前:481 mailto:sage [2012/05/15(火) 13:38:49.19 ]
>>483
proファイルは触ってないのでstddef.hは無かったんだけど,
VS2010を再インストールしたらその問題は解決して,ハローワールドはできたよ.ありがとう.
でもPhononを使おうとすると >>481 と全く同じ症状に戻っただけだった.

エラーはこんな感じ
13:20:54: Running steps for project t...
13:20:54: Configuration unchanged, skipping qmake step.
13:20:54: Starting: "C:\Qt\qtcreator-2.5.0\bin\jom.exe"
C:\Qt\qtcreator-2.5.0\bin\jom.exe -f Makefile.Debug
cl -c -nologo -Zm200 -Zc:wchar_t- -Zi -MDd -GR -EHsc -W3 -w34100 -w34189 -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL (長いので改行)
-DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT (長いので改行)
-I"..\..\..\..\Qt\4.8.1\include\QtCore" -I"..\..\..\..\Qt\4.8.1\include" -I"..\..\..\..\Qt\4.8.1\include\ActiveQt" (長いので改行)
-I"debug" -I"..\t" -I"." -I"..\..\..\..\Qt\4.8.1\mkspecs\win32-msvc2010" -Fodebug\ @C:\Users\username\AppData\Local\Temp\main.obj.612.47.jom

486 名前:481 mailto:sage [2012/05/15(火) 13:40:29.07 ]
エラーその2

main.cpp
link /LIBPATH:"c:\Qt\4.8.1\lib" /NOLOGO /DYNAMICBASE /NXCOMPAT /DEBUG /SUBSYSTEM:CONSOLE "/MANIFESTDEPENDENCY:type='win32' (改行)
name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" (改行)
/MANIFEST /MANIFESTFILE:"debug\t.intermediate.manifest" /OUT:debug\t.exe @C:\Users\username\AppData\Local\Temp\t.exe.612.1436.jom
main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall Phonon::VideoPlayer::~VideoPlayer(void)" (改行)
(__imp_??1VideoPlayer@Phonon@@UAE@XZ) referenced in function _main
main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall QWidget::show(void)" (改行)
(__imp_?show@QWidget@@QAEXXZ) referenced in function _main
main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall Phonon::MediaSource::~MediaSource(void)" (改行)
(__imp_??1MediaSource@Phonon@@QAE@XZ) referenced in function _main
main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall Phonon::VideoPlayer::play(class Phonon::MediaSource const &)" (改行)
(__imp_?play@VideoPlayer@Phonon@@QAEXABVMediaSource@2@@Z) referenced in function _main

487 名前:481 mailto:sage [2012/05/15(火) 13:41:09.80 ]
エラーその3

main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall Phonon::MediaSource::MediaSource(class QString const &)" (改行)
(__imp_??0MediaSource@Phonon@@QAE@ABVQString@@@Z) referenced in function _main
main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall Phonon::VideoPlayer::VideoPlayer(enum Phonon::Category,class QWidget *)" (改行)
(__imp_??0VideoPlayer@Phonon@@QAE@W4Category@1@PAVQWidget@@@Z) referenced in function _main
debug\t.exe : fatal error LNK1120: 6 unresolved externals
jom: C:\Users\username\Documents\t-build-desktop-Qt_4_8_1__4_8_1__Debug\Makefile.Debug [debug\t.exe] Error 1120
jom: C:\Users\username\Documents\t-build-desktop-Qt_4_8_1__4_8_1__Debug\Makefile [debug] Error 2
13:20:56: The process "C:\Qt\qtcreator-2.5.0\bin\jom.exe" exited with code 2.
Error while building/deploying project t (target: Desktop)
When executing step 'Make'

488 名前:481 mailto:sage [2012/05/15(火) 13:42:57.56 ]
ソースはここのを改変したもの
d.hatena.ne.jp/kryozahiro/20091127/1259307881

#include <QCoreApplication>
#include <Phonon/VideoPlayer>
int main(int argc, char* argv[]) {
QCoreApplication app(argc, argv);
Phonon::VideoPlayer player(Phonon::VideoCategory);
player.play(QString("./gumi.mp4"));
player.show();
return app.exec();
}

ググって見つけた別のPhononサンプル
twolinux.blogspot.jp/2010/10/writing-simple-media-player-in-qt.html
もほぼ同じエラーになります…

489 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 14:34:28.80 ]
qt-project.org/doc/qt-4.8/phonon-module.html
こういうのとか読んでみた?
Phonon使うには.proファイルに
QT += phonon
を加えてPhononモジュールをリンクしないと使えないよ

490 名前:481 mailto:sage [2012/05/16(水) 10:37:44.52 ]
>>489
!!!!動きました!!!!

なるほど、
qt-project.org/doc/qt-4.8/modules.html
に書いてあるもののうち、 QtCoreとQtGui以外のモジュールを使う場合には、
.proファイルにそれを書き込む必要があるんですね。

こんな初歩的な質問に答えて頂きありがとうございます。



491 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 01:17:14.81 ]
Qt 4.8でinitializeGLFunctionsで落ちるんですが原因わかりますでしょうか?


492 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 02:21:16.37 ]
環境くらい書けよ

493 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 06:49:21.39 ]
環境

494 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 08:56:36.00 ]
>>491
プロジェクトのオプションで、実行環境がデフォルトのビルド環境になっているとエラーが出る。
システムか、クリーンにするべし。

495 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 08:56:51.68 ]
4.8.0以降はglut全滅。というかincludeすらしてないよ。
4.7.4にもどしたらいい。

496 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 14:00:54.98 ]
>>495
プラットフォームに合わせて、GLUT/glut.hかGL/glu.hをincludeすればglutは使えるし、
QMatrix4x4などでglutを使っているのを書き直せばglutなしにもできます。

497 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 19:05:25.50 ]
今一番安定なのは4.7.4かな

498 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 01:32:03.72 ]
>>494
ありがとうございます
QGLContextがNULLだったのが原因ぽいです

499 名前:デフォルトの名無しさん [2012/05/19(土) 19:05:55.28 ]
Windows8でタブレット式になったら、Qtで作ったGUIアプリケーションも
動くのかな?

500 名前:デフォルトの名無しさん [2012/05/19(土) 19:15:30.56 ]
動かないしタブレット関係ないから手を出さなくていいよ



501 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 19:46:56.74 ]
え?まじで・・・

Qtでタブレットアプリ作れるのはいつやら・・・

502 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 20:33:43.48 ]
KDEタブレットがあるじゃないか

503 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 20:48:03.48 ]
>>501
Nokiaが関わる以上だめたね。QtはNokiaに潰された。

504 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 01:54:17.51 ]
Nokiaももうすぐつぶれる

505 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 02:35:06.96 ]
年末迄持たないだろうね。

506 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 20:33:36.31 ]
すなおにアンドロイド機種だせばよかったのにね

507 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 14:47:43.23 ]
QTableWidgetで列の幅の自動調整はできませんか?
ラベルにあわせたり、テーブルの横幅に合わせて等幅にしたりしたいです

508 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 15:03:13.48 ]
QAbstractItemDelegate::sizeHintとか

509 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 21:02:45.57 ]
Qt Projectは、Nokiaに見放されようとしているTrolltechの開発者の逃げ場として考え出されたもので、
Qt 5でサポートされる機能も、Nokiaに拾ってもらおうとしているものだけをやろうとしている。
それ以外のものは、オープンソースにしたので、メンテナがいないからサポートされないと逃げている。


510 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 06:14:53.63 ]
すっごい初歩の質問で申し訳ない

すでに最新のMinGWはインストールされてるんだけど
QtSDK付属の古いMinGWを一緒に入れてQtからはそっち使うようにしたほうがいいんかな



511 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 06:40:35.38 ]
なんだオワコンか

512 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 14:59:57.45 ]
勝手に買収しといて、ポイ捨てとは・・

Nokiaに殺意すらおぼえる。全Qtプログラマーの恨みをひとえに買うことだろう。

513 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 15:15:34.21 ]
iPhoneもAndroidも使えないマルチプラットフォームって

514 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 20:05:43.19 ]
4.7から4.8にしようと思ったら変わり過ぎてて死んだ。他の皆はスムーズに移行できてるんだろうか。

515 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 20:22:50.97 ]
20レス位上

516 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 20:47:34.87 ]
4.7.4がこの先10年使われるようになるとは
まだ誰も思ってなかった

517 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 03:23:59.11 ]
p = fork(qt);
assert(p->version <= 4.7);


518 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 08:00:01.30 ]
>>513
>iPhoneもAndroidも使えないマルチプラットフォームって
この2つを正式サポートしないというのはとってもおかしい。

519 名前:デフォルトの名無しさん [2012/05/25(金) 08:10:50.44 ]
リナザウみたいにQtを根底から使うならともかく
アプリケーション毎に数10M余計に配布するなんてアホみたいだからな

520 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 14:59:41.74 ]
いやQt for Androidはランタイムはランタイムだけで1パッケージになってる



521 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 17:07:36.22 ]
今時「ランタイムを別途インストールしておいて下さい」なんてもっとありえないわ。

522 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 17:44:39.17 ]
自動的にインストール画面になる
とりあえず知らないなら語るな恥ずかしいから

523 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 18:35:00.16 ]
Qt for Androidってどのくらいできてんの?

524 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 19:33:50.56 ]
>>522
自分の説明不足を勝ち誇られても

525 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 19:59:50.17 ]
別に君が素晴らしいシステム作ってコアメンバーと協議の上マージしてもいいんだよ?w

526 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 22:13:28.70 ]
身売りしなければ自ら手をつけたが、妨げになるから直接手を出さないのだよ。

527 名前:デフォルトの名無しさん [2012/05/25(金) 22:22:07.54 ]
>>523
アクセラレーションが効かない程度

528 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 19:01:01.61 ]
>>521
>今時「ランタイムを別途インストールしておいて下さい」なんてもっとありえないわ。
Windowsではそうするのがずっとそして今も当たり前。

529 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 19:35:03.88 ]
>>528
Windowsで商用ソフトの場合インストーラーでそこを解決するからね。

フリーウェアとかだと「〜ランタイムが必要なのでインストールしてください」とか書いてあるのが多くて、イマドキの大多数のユーザーはそれ無理だろといつも思う。

今はアメーバピグが必要なflashランタイムのバージョン上げただけでどうすれば良いのかわからないユーザーが大量に出て阿鼻叫喚の騒ぎになる世の中。

530 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 19:55:44.63 ]
だからと言って
popup出てきたらとりあえずインストール続行してください
とか勝手に習慣付けてしまうと
ウィルスやスパイウェアの蔓延につながる



531 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 20:01:25.75 ]
だから多少配布サイズが大きくなろうが必要なランタイムはインストーラーに全部入りで配布されるのがwindowsでは主流になってる訳で。

それが気持ち悪いとか無駄だとか思ってしまう人間はこっちの側の人間だから、大多数の物のわかってないお客様に合わせるしかない。

532 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 22:00:19.35 ]
スラド民はどっかいけ

533 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 22:56:48.90 ]
また奴らがなにかやらかしたのか

534 名前:デフォルトの名無しさん mailto:sage [2012/05/29(火) 10:46:50.33 ]
>>531
だって開発ソフトの話だろ?
C++でプログラミングする奴が別途インストールに抵抗あるってのはわけわからんぞ

535 名前:デフォルトの名無しさん mailto:sage [2012/05/29(火) 11:09:13.87 ]
いつからそんな話に

536 名前:デフォルトの名無しさん mailto:sage [2012/05/29(火) 13:27:21.90 ]
>>535
520

537 名前:デフォルトの名無しさん mailto:sage [2012/05/29(火) 13:42:59.30 ]
現在フォーカスしてるエリアごとにメニューバーに表示されるメニューを動的に消したり現したりしてるんですが
menuBar()->addAction( menu ) 
の処理が重いらしくフォーカスかえるごとにラグが発生するんですがこれって普通でしょうか
insertActionやmenu->menuAction()->setVisible(bool)でも同様に処理が遅くなるんですが
menu->addActionでは全く処理が遅くなりません

538 名前:デフォルトの名無しさん mailto:sage [2012/05/29(火) 13:45:31.31 ]
>>536
それは開発ソフトの話じゃなくてエンドユーザーに配布する時の話じゃないのか

539 名前:519 [2012/05/29(火) 16:06:09.46 ]
みんなごめんよ…

540 名前:デフォルトの名無しさん mailto:sage [2012/05/29(火) 16:22:35.27 ]
>>537
XPでmenu->menuAction()->setVisible(bool)使ってるけど重くないよ
そっちの環境は?



541 名前:537 mailto:sage [2012/05/29(火) 16:25:51.91 ]
>>540 Windows7 64bit
新規に立ち上げてmenuBarに追加なりしてみたけど
そっちのほうでは処理落ちがないみたいなので
どこか干渉してる気がしないでもないですけど
やってることはmenuBar()->addAction()だけなのに何故処理落ちがするんだろう

542 名前:デフォルトの名無しさん mailto:sage [2012/05/29(火) 17:35:12.43 ]
>>539
謝る暇があったらどっちの話だったのかはっきりさせてよ。

543 名前:デフォルトの名無しさん [2012/05/29(火) 17:59:04.57 ]
こんなん利用者側の話に決ってんだろ、コード書けて自分で遊ぶならその位できて当たり前

C++はシグネチャがちょっと変わっただけで死ぬんだから
面倒なビルド・バージョン管理をカジュアルユーザーに任せる事はできない
結局マイナーなQtではアプリケーション毎にほぼ静的リンク状態で配布する事になりストレージを圧迫する

Qtは一発物のアプリケーションや組み込みシステムの一部を短期で作るにはいいものだと思うけど
不特定多数しかもスマホに配布ともなると無理があるよ今の状態では特に
俺はスマホターゲットなら素直にObjCやJavaで書くかな互換性の保証は正式なベンダに任せりゃいい

つかねスマホでこんな面倒な事をしたら☆一付けられちゃうぞ
何が言いたいかというとNokia氏ね

544 名前:デフォルトの名無しさん mailto:sage [2012/05/29(火) 19:08:47.05 ]
☆1どころかインストールすらしてもらえないよ。

545 名前:537 mailto:sage [2012/05/29(火) 19:29:04.75 ]
QMainWindowのrestoreState()を削除してみたら処理落ちが消えました
iniファイルが膨大な量になってたのが関係してたみたいです

546 名前:デフォルトの名無しさん mailto:sage [2012/05/29(火) 20:45:16.15 ]
デフォルトはレジストリなので大量だとおかしくなる気がするけれど、
iniファイルにするように変えているなら、大量でも問題なさそうな気がする。

547 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 00:29:50.20 ]
後免奈半利線

548 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 13:44:31.55 ]
Qt CreatorでVC++のコンパイラを使ってるんだけど
/MTとかコンパイラオプションを指定したい場合はどこですればいい?

549 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 15:14:48.61 ]
>>548
proファイルに以下の行を追加
QMAKE_CXXFLAGS += 追加のコンパイラーオプション
QMAKE_LFLAGS += 追加のリンカーオプション
QtCreaterのデフォルトのオプションが気に入らない場合は += ではなく = にして自分で全て設定する。

550 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 16:23:55.42 ]
>>549
レスありがとう。
レスを参考にやってみたところ、VC++でいう/NODEFAULTLIB:**はできました。
まだLNK2005エラーが出ていますがなんとかなりそうです。がんばります。



551 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 15:24:52.75 ]
今からQt覚えて人生ウハウハになるかな?

552 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 15:32:19.79 ]
ならない
AndriodとiOSをサポートする予定のC++Builderの方がまだいい

553 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 15:32:53.35 ]
俺はC++Builder買う金ないからQt使い続けるけど

554 名前:デフォルトの名無しさん [2012/06/01(金) 20:03:29.64 ]
残念だけどQtは負け組み
悪貨は良貨を駆逐する

555 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 20:24:21.14 ]
ここが被害担当艦なのはわかるんだけど
みんな今はどこでQtの話してんの

556 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 20:25:02.04 ]
設計がいきあたりばったり感が満点だしな


557 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 22:12:51.99 ]
C++ BuilderはBorlandを離れてから腐りきったな。バグ多いし、ドキュメントは
無茶苦茶。

558 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 00:06:41.79 ]
なんかwin8で劇的にwindowsプログラミングの構造が変わりそうだな
MFCなんて勉強してる場合じゃないな

559 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 02:01:12.84 ]
Win8が出なくてもさすがに今時MFCを勉強してる場合ではないですよ?

560 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 02:39:44.63 ]
VS2012にもしっかりMFC入ってたしインストール項目の大項目の一つになってたけどな



561 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 02:49:23.57 ]
じゃあMFC勉強した方がいいね。Feature Packも

562 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 10:39:05.06 ]
ぶっちゃけこれからはWebの時代だからC++自体がダメだろ
JavaScriptとPHPの勉強しないと負け犬一直線

563 名前:デフォルトの名無しさん [2012/06/02(土) 15:34:21.21 ]
JavaScriptとPHPの勉強してたら負け犬一直線

564 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 15:37:38.80 ]
WTLはあってもMFCは無いは〜

565 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 15:39:59.41 ]
>>562
んなもん派遣にやらせりゃいいような雑用だから
まとまった金にならん

566 名前:デフォルトの名無しさん [2012/06/02(土) 15:42:20.65 ]
LLジャンキーは死滅しねーかなDSL並の糞言語ばかり作りやがって

567 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 15:47:51.51 ]
>>566
C, C++にすんなCやC++みたいなLLがあるからこそOSがまともに動くんだぞ
JavaやC#みたいなHLで作ったOS見てみろできたには出来たらしいが
遅すぎてマトモに動きはしない。Javaで書いたOSに至っては、
アセンブリが多すぎて見るに耐えん。

568 名前:デフォルトの名無しさん [2012/06/02(土) 15:50:07.05 ]
バーカC/C++はLightweightLangaugeじゃねーよ高級アセンブリ言語だ

569 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 15:55:29.15 ]
en.wikipedia.org/wiki/Lightweight_programming_languageExamples of lightweight languages

C may be said to be lightweight, as its hardware assumptions are minimal (it is used to program microcontrollers, for example)
Lua is embedded in many applications, like games, to provide runtime scripting capabilities
Forth
Io
Squirrel
newLisp

570 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 15:57:26.16 ]
>>567
>>遅すぎてマトモに動きはしない。Javaで書いたOSに至っては、

Javaで書いたOSに至っては、
Javaで書いたOSに至っては、
Javaで書いたOSに至っては、



571 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 16:00:29.78 ]
高級アセンブリっていう人多少居るけど、
x86ニーモニックやCLIやJavaの中間コード、その他のニーモニックの様に
Cが他の言語のアセンブリ(他の言語の中間言語)として使用される事って殆ど無いよね。

572 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 16:07:21.32 ]
アーキテクチャ毎のスタックレイアウトやアラインメントを
考慮しないと扱えないからそういう呼び方がされる訳で
LLが爪切りならC/C++はカミソリ
簡単に広範囲を切り裂けるけど諸刃だし扱いは難しい

573 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 16:09:02.01 ]
さすが週末進行

574 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 16:13:15.15 ]
>>572 >>569にも有るように、LLってリソースを喰わない言語の事を言うんですけど


575 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 16:23:47.60 ]
>>574
ja.wikipedia.org/wiki/軽量プログラミング言語

ここは日本だぜこの国ではLL=スクリプト言語一般を指す

576 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 16:25:22.40 ]
>>568
車の様に日本が世界を牛耳ってる業界でもないのに
日本の一部でしか通じない独自表現をドヤ顔で主張されてもねぇ

577 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 16:27:02.82 ]
世界一般のLLの意味の方がガラパゴスな意味より明確だな

578 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 16:27:40.25 ]
主張とか便所の落書きにまぁ大層な事で

579 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 16:28:13.33 ]
まぁLLって言ったらスクリプトですね

580 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 16:28:20.85 ]
ガラパゴス・プログラマー。略してガラグラマー。いいかもしれん。



581 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 16:30:39.93 ]
>>579
インタプリターである必要もなくて
スクリプトってプログラムに組み込む制御言語なんだよな

582 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 16:32:58.88 ]
>>579
PerlやPythonはScriptじゃない(Scriptとしてもつかえるが)から
LLでは無いんだよな

583 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 16:33:40.05 ]
えっ

584 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 16:34:49.36 ]
さーてキナ臭くなってきなたな1ぬけた

585 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 16:43:32.04 ]
公式でスクリプトだなんて言ってる言語も少ないしなぁ。
シェルスクリプト(シェルの組み込み言語), JavaScript(元ブラウザ組み込み言語)
VBScript(元ブラウザ組み込み用に再設計された言語)てなかんじだし。
lispはコンパイルできるけど、Emacs上ならスクリプトと呼ばれる。

586 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 16:44:47.45 ]
こんなネタで伸びてるなんてQt死んだな

587 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 18:53:19.39 ]
だからスラド民は巣に帰れと(ry

588 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 23:32:52.14 ]
Nokiaに身売りした時点で死んでる。

589 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 23:39:20.55 ]
そういう問題じゃなくて、クラスの設計自体がOOPを知らない奴が
やっつけでやった仕事感満載じゃん

590 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 00:06:44.52 ]
他人の話題にケチつけて自演してでも自分の話題を盛り上げたい奴が居るようだ。



591 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 00:18:12.43 ]

マルチポストいくない

592 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 12:50:19.83 ]
彼氏にチンポしゃぶらせながら寝るわ。

593 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 22:05:31.73 ]
>>589
kwsk

594 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 15:15:32.70 ]
>>587
スラドなんか向こうの住民が勝手に2chを目の敵にしてるだけなんだから意識すんなよ気持ち悪い。

595 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 20:26:37.29 ]
>>592
kwsk

596 名前:デフォルトの名無しさん mailto:sage [2012/06/06(水) 08:04:36.71 ]
スラドってAppleファンボーイの巣だから
Objective-Cのバインデイング出してやれば荒らさなくなるんじゃね

597 名前:デフォルトの名無しさん mailto:sage [2012/06/06(水) 15:25:52.77 ]
よーわからんが、
ム板なのにコードと関係ない話をもっともらしくしてる奴は
スラド民だってじいちゃんが言ってた。

598 名前:デフォルトの名無しさん mailto:sage [2012/06/06(水) 16:14:06.72 ]
MacとWinでクロス開発してるが、何でMacだとmakeがクソ遅いんだ?make -jして並列ビルドしても遅い。

vcのコンパイラが速いだけ?

Linuxではビルドしてないので知らん。

599 名前:デフォルトの名無しさん mailto:sage [2012/06/06(水) 16:44:11.43 ]
>>598
きっとディスクが壊れかけてるんだろう

600 名前:デフォルトの名無しさん mailto:sage [2012/06/06(水) 17:52:20.20 ]
Macだから。他にも色々遅い。



601 名前:デフォルトの名無しさん mailto:sage [2012/06/06(水) 21:28:11.61 ]
>>574, 575
待てや
LLの軽量ってのはリソースが軽量なんじゃなくて、開発工数が軽量ってだけだよ。
AWKなんて昔は重いといわれてたんだが。

602 名前:デフォルトの名無しさん mailto:sage [2012/06/06(水) 23:52:03.15 ]
一スレッドで並列処理

603 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 19:19:37.31 ]
>>574
>LLってリソースを喰わない言語の事を言うんですけど
開発リソースは喰わないね、コード量も少ない。でもメモリーを喰って、速度が遅いのがLL。

604 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 20:24:06.87 ]
今時は人件費の方がはるかに高くつく事が多いのでそれもまたあり。

21世紀の未来に生きてる筈なのになんでまだコンパイル待ちとかあるんだよ。

605 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 14:32:22.12 ]
Androidタブレット上にWindows 8環境を――Splashtopが開発者向け新ツール
www.itmedia.co.jp/news/articles/1206/07/news010.html

これいいな

606 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 14:53:27.41 ]
Qtと何か関係があるのか?

607 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 19:04:52.73 ]
Qt動きそうじゃね?

608 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 19:43:51.90 ]
QtはWindows 8のMetroスタイルでは、きっと使えないだろう。

609 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 20:16:48.77 ]
Qt_5_on_Windows_8_and_Metro_UI | Qt Wiki | Qt Developer Network
qt-project.org/wiki/Qt_5_on_Windows_8_and_Metro_UI

610 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 20:39:33.80 ]
>>601,603

日本の独自用語の事じゃなくて
国際的な認識の話だろ >>569



611 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 20:49:38.13 ]
Aboutを「おおよそ」の意味で使うようなもんだろ
Engrishだから仕方ない

612 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 20:57:51.15 ]
>>569のWikipediaの記事は引用もソースもない時点でチラ裏と大差ない
LLは和製英語的なものと捉えるのが穏当

613 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 21:05:54.32 ]
日本人が書いたわけじゃないし、外人がそう表現する文化がある事が解る事が重要で
それそのものが正確かどうかなんざどうでもいいと思うが。
たとえば、江戸時代に宇宙人を信仰してた人間がいたとして、
宇宙人が存在してたかどうかはどうでもいい信仰してた人間がいたという
客観的事実が重要

614 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 21:31:28.53 ]
巣に帰れ
toro.2ch.net/test/read.cgi/tech/1336491087/

615 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 02:20:31.18 ]
スレチやめろ

616 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 13:10:41.37 ]
>>609
>Qt_5_on_Windows_8_and_Metro_UI | Qt Wiki | Qt Developer Network
空っぽではないか。

Mac OS XもQtのGUIツールは、ジェスチャーに対応していないから使い難い。
Magic TrackPadのスクロールも反応が鈍過ぎて、Safariのように軽快に動かず、見たいところで止められないので、使う気がなくなる。
スクロールバーも出っ放しで、操作していないときに消すようにはできない。

617 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 16:07:23.51 ]
>>616
URLが変わってた
qt-project.org/wiki/Qt-5-on-Windows-8-and-Metro-UI

618 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 16:20:47.89 ]
MetroとQMLのセットか
誰得なんだよ

619 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 20:25:50.31 ]
QMLの時点で誰得。

620 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 14:24:53.36 ]
QML Desktop Components for Qt 5のできの物足りなさ過ぎさとMetroもどっこいだろう。
それに、QMLとMetroで書いたのを、他のプラットフォームで動かすために書き加えるコードが多くなりそう。




621 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 19:20:42.10 ]
hardがな世にタッチパネルに対応したソフトを
その前にhard自体仕様がもっとカツカツだったり

smart-pda.net/review/jetbook_color/screen/
教育機関向け銘打って売り込みを
そこまでして導入する意味はそれほど

622 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 22:35:12.87 ]
>>621
日本語でおk

623 名前:デフォルトの名無しさん mailto:sage [2012/06/12(火) 02:39:47.82 ]
QtCreatorがCDBを認識してくれない・・・


624 名前:デフォルトの名無しさん mailto:age [2012/06/12(火) 19:40:25.65 ]
Qt for Google Native Client
qt-project.org/wiki/Qt_for_Google_Native_Client

これアレか?本格的にNative Clientで開発できるようになったって事か?
スマフォ版ChromeがNative Client対応したら移植楽ちんじゃん。

625 名前:デフォルトの名無しさん mailto:sage [2012/06/12(火) 21:36:18.24 ]
https://gitorious.org/qtnativeclient/

この辺からソース落としてみたがconfigureとか無いんで
環境構築方法が解からん

626 名前:デフォルトの名無しさん mailto:sage [2012/06/12(火) 21:38:07.34 ]
やべ普通に *.pro があったわ

627 名前:デフォルトの名無しさん mailto:sage [2012/06/13(水) 00:26:01.35 ]
でもGoogleに開発者登録とChromeWebStoreだっけかあれに登録しなきゃならないんだよなGoogleアプリって
そうしないとテストすらできない

628 名前:デフォルトの名無しさん mailto:sage [2012/06/13(水) 15:56:57.65 ]
>>624
これはちょっとだけうれしい

629 名前:デフォルトの名無しさん mailto:sage [2012/06/13(水) 21:13:07.84 ]
>>627
最近動かしてないから気づかなかったけど、
いつのまにそうなったの?去年までは自前で作った.nexeが動いたよ?






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<170KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef