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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
Qt(キュート)は C++ ベースのフレームワーク&RAD開発環境です。

ライブラリの機能は、フォーム、ボタンなどの各種ウィジェットからネットワーク、マルチスレッド、
グラフィックス(OpenGL)や各種コンテナ、XMLパーサー、組み込み JavaScript など、非常に多岐に渡ります。
公式の統合開発環境「Qt Creator IDE」を使えば、クロスプラットフォーム対応のRAD開発が可能です。
また、EclipseやVisual Studio上で開発したい人のためのアドインも用意されています。

■主な対応プラットフォーム(デスクトップ用途の場合)

Windows XP, Vista, 7
Mac OS X 10.4, 10.5, 10.6
Linux

■ライセンス

・オープンソース版(Open-source version)
 LGPL 2.1 または GPL 3.0 のうちどちらかを利用者が選べます。
 LGPL を選んだ場合はソースコード非公開のままでの商用利用が可能です(いくつか制限あり)。
 ※正確には通常「LGPL+商用利用向きの例外条項」を選ぶことにな7ります(Qtインストール先の「LGPL_EXCEPTION.txt」を参照)。
  ちなみにGPLでも商用利用が不可能というわけではありません、念のため。
・商用版(Commercial version)
 こっちはNokia社か日本の代理店(SRA社)とライセンス契約(年間30万くらい?)を結んで使います

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

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

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

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

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


■ライセンス関連まとめ

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

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

*: LGPLは動的リンク時

実際には他にも条件(リバースエンジニアリング関係とか)あるので、
きちんとライセンスの条文を読むこと。
3デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/02/18(土) 11:03:14.36
■インストール方法:MinGW版Qt & Qt Creator

(1)「Qt SDK for Windows」をインストール
 http://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」をインストール
 http://www.microsoft.com/japan/whdc/devtools/debugging/installx86.mspx
(3)「Qt libraries for WIndows(VS 2008)」をインストール
 http://qt.nokia.com/downloads/windows-cpp-vs2008
(4)「Qt Creator Binary for Windows」をインストール
 http://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デフォルトの名無しさん:2012/02/18(土) 11:03:38.09
■Qt Creator 日本語化プロジェクト

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


■Python バインディング

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

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

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

では、どうぞ!
6デフォルトの名無しさん:2012/02/18(土) 12:10:37.82
>>1おつ
7デフォルトの名無しさん: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デフォルトの名無しさん:2012/02/19(日) 09:36:08.76
コピーが3回
9デフォルトの名無しさん:2012/02/19(日) 09:37:31.39
QString &text = f.readAll();
10デフォルトの名無しさん:2012/02/19(日) 09:41:20.86
1MB位のコピーなんてたいしたことないだろ
それよりsetPlainTextにしたほうがいいんじゃね?
11デフォルトの名無しさん:2012/02/19(日) 14:16:25.92
>>8
QStringはimplicit sharedなので、QStringの文字列データ部分のコピーは0回です。
>>9
同じ理由で、&の有無は影響しません。
12デフォルトの名無しさん:2012/02/20(月) 03:43:40.73
1Mバイト程度のテキストファイルを表示させるのが遅いのか。
Qtには速度、メモリ消費に決定的な欠点があるのかもな
13デフォルトの名無しさん:2012/02/20(月) 04:02:40.41
QWebView使ったら?
14デフォルトの名無しさん:2012/02/20(月) 07:42:58.56
>>7
まず、プロファイルを取って、どこで時間がかかっているかを特定する。

>>12
憶測で判断しない。
15デフォルトの名無しさん:2012/02/20(月) 08:10:16.27
16デフォルトの名無しさん:2012/02/20(月) 10:37:19.01
>>7
環境とソース(全部)を貼れ
大抵は素人が関係ないと思ってるところに原因がある
17デフォルトの名無しさん:2012/02/20(月) 10:38:26.33
まちがえた

x 素人
o 本人
18デフォルトの名無しさん:2012/02/20(月) 14:20:11.50
ダイアログの移動さえ遅くなるってのが問題だな
そのコードは処理終わるまで制御返さないから、どんなに重くてもダイアログの移動には影響を及ぼさないはず
ユーザのコードに原因があるとすれば、Event系で重い処理をさせてるんだろう
19デフォルトの名無しさん:2012/02/20(月) 14:33:15.32
と思ったけどそういえばQtは仕様違ったような気がして試してみたら、
setTextに大きなデータ表示させると一部だけ表示して一旦制御を返してからバックグラウンドで残りを処理してるね
この処理中は確かにスクロールもダイアログの移動も重いわ
うちのデスクトップでは5MのHTMLファイルでも3秒未満で終わったけど
20デフォルトの名無しさん:2012/02/20(月) 14:39:22.37
ファイル選択ダイアログを表示するので重くなった経験ならあるけどな。
多分選択ダイアログ表示の時に何かをダイナミックリンクをしているからだと思うけど。
同じような理由で、plug-inは、初回は重い。

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

それから、間違ってバイナリファイルを開いた時のように、改行が殆ど無いときは、
スクロールが重くなる。
21デフォルトの名無しさん:2012/02/20(月) 23:03:10.26
>>19
ああ、これっぽいかも。
表示領域ではすぐに表示されるけど、スクロールも受け付けないし、
ダイアログの移動も受け付けないって状態。

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

うまく処理できる他の手はあるんだろうか?
22デフォルトの名無しさん:2012/02/20(月) 23:05:37.36
あ、ちなみに、私はプアなマシン(WindowsXP、Pentium4、2Gバイトメモリ)では、結構きつい。
23デフォルトの名無しさん:2012/02/20(月) 23:18:34.18
QPlainTextEditは、単純には断言できないけど
少なくともGTK+より格段に速い動作だった。
50MBくらいのテキストファイルをほぼ一瞬で開いてたぞ。
24デフォルトの名無しさん:2012/02/20(月) 23:47:25.82
QTextBrowserはリッチテキストやらの特殊なテキスト表示用
QTextEdit とその派生クラスは実装された時期が古いので
QPlainTextEditよりかなり遅いかも
25デフォルトの名無しさん:2012/02/21(火) 00:04:20.15
>>23
QPlainTextEditは大丈夫?

最初の「表示領域にだけは」すぐ表示されても、
スクロールやダイアログの移動を受け付けないってことが問題なんだけど。
スクロールやダイアログ移動もちゃんとすぐに受け付けてくれるのかな。
2623:2012/02/21(火) 00:24:55.80
>>25
スクロールバーもダイアログも>>19のようにはならない。
テキストエリア真っ白のまま一瞬待たされたあと
一気に表示される。スクロールバーは表示された時点でほぼ縮まりきっているし
表示が済んだあとは普通の挙動。
で、なんで挙動がちがうんだと思ったら、setTextじゃなくて
setPlainText使ってたわ。あとメモリ8GBのi7マシンなのも影響してるかも。
役に立ちそうもなくてスマソ
27デフォルトの名無しさん:2012/02/21(火) 00:52:18.93
いえいえ。

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

28デフォルトの名無しさん:2012/02/21(火) 02:15:58.04
根本的な解決じゃないけど
ハイパーリンクがあるドキュメントとかでQTextBrowserをどうしても使いたいなら
QTextBrowser::setText()の前でカーソルを砂時計にするとか特定のWidgetをDisableにするとかしちゃって
QTextBrowser::document()で取得したQTextDocumentオブジェクトのcontentsChanged()シグナルで元に戻せば
テキストの成形中の操作をさせなくはできるかも
29デフォルトの名無しさん:2012/02/22(水) 02:31:08.58
PySide楽しすぎワロタ
30デフォルトの名無しさん:2012/02/22(水) 11:27:03.63
それはよかった
31デフォルトの名無しさん:2012/02/22(水) 22:37:42.73
Qtで作ったアプリを配ってるんだが(Windows)、最初の立ち上がりが結構遅いみたい。
ライブラリのロードに時間がかかってるのかなあと思ってるんだけど、
立ち上がりを速くするにはどうしたら良いんだろう。
あと、例えば、最初にファイル選択ダイアログを表示する時にも、ちょっと遅いよね。
あれってどうしようもないのかな。結構、欝になる。
32デフォルトの名無しさん:2012/02/22(水) 23:13:09.22
俺の実装がまずいのかと思ってたら、似たような問題抱えてる人いるんだな
33デフォルトの名無しさん:2012/02/22(水) 23:30:00.97
.NET系やJava系よりはずっと早いんだけど
DelphiとかMFC製のネイティブアプリと比べると、体感できるくらい遅いよな
34デフォルトの名無しさん:2012/02/22(水) 23:53:06.76
UPXで圧縮すれば多少早くなるかもしれない
CPUが遅いと余計遅くなるかもしれないけど
35デフォルトの名無しさん:2012/02/23(木) 00:31:35.06
>>31
必要なライブラリを使うダミーのプログラムを作って
サービスとして登録しておけば委員で内科医
36デフォルトの名無しさん:2012/02/23(木) 00:45:22.54
遅いってどのくらい遅いの?自分は体感できないな
最小限のプロジェクトでQWidgetをshowするだけのプログラムでも遅いの?

使うライブラリによっては、mingwコンパイルするよりvcコンパイルしたほうが立ち上がりが早いことはある
37デフォルトの名無しさん:2012/02/23(木) 01:44:16.98
QtCreatorの立ち上げからしてもっさり
38デフォルトの名無しさん:2012/02/23(木) 02:13:13.89
インストールも時間かかりすぎ
170Mのファイルインストールで1.5GBってでかすぎ
39デフォルトの名無しさん:2012/02/23(木) 09:32:55.57
あれはadobeがする
40デフォルトの名無しさん: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デフォルトの名無しさん:2012/02/23(木) 10:43:57.32
実際に使用する部分だけをdllにしてくれるようなツールがあればいいのに
43デフォルトの名無しさん:2012/02/23(木) 21:57:49.40
VCで静的リンクすると、ただフォーム出すだけのアプリでどんくらいのサイズになるのかな
44デフォルトの名無しさん:2012/02/23(木) 23:31:01.39
>>41
> ファイルダイアログは,Windowsネイティブのものと,Qt独自のものが選択できる。

選択できる?

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

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

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

もともと、普通に使っていれば、nativeなファイルダイアログが表示されるはず。
45デフォルトの名無しさん:2012/02/23(木) 23:47:51.63
QFileDialog *dialog = new QFileDialog;
dialog->show();
これはQt独自
46デフォルトの名無しさん:2012/02/23(木) 23:50:35.36
スタティックな関数でないほう(インスタンス作ってexec())を使うと
常にあの微妙なダイアログが出てるから選択できるんじゃないのか
47デフォルトの名無しさん:2012/02/24(金) 00:13:05.06
QFileDialog::DontUseNativeDialog
使ったことはないが。
48デフォルトの名無しさん:2012/02/24(金) 01:08:16.03
オブジェクト指向なライブラリは重い気がする
49デフォルトの名無しさん:2012/02/24(金) 01:32:06.02
キモオタニート
50デフォルトの名無しさん:2012/02/24(金) 01:48:15.59
>>45-46
ああ、そういうことか。
わざわざそっちの方を使う人もいるのかな?
51デフォルトの名無しさん:2012/02/24(金) 02:16:34.05
がっつりカスタマイズしたいときとか、クロスプラットフォームなソフトだと便利なこともある
52デフォルトの名無しさん:2012/02/24(金) 03:13:50.59
ソフトの挙動がOSごとに異なるのはサポートが面倒な場合があるかもね
53デフォルトの名無しさん:2012/02/24(金) 04:08:02.24
FireAlpacaが話題だねぇ
54デフォルトの名無しさん:2012/02/24(金) 05:39:46.19
こんなところまでステマか
5541:2012/02/24(金) 06:06:34.62
>>44,>>50
ドキュメントの読み方が浅いよ。>>47が正解。
QFileDialog::getOpenFileName()とかのスタティック関数でも,最後の引数
(Options)に指定できる。

だいたいさぁ,やってみたことあるから書いてるに決まってるじゃないか。
良く調べもせずに噛み付いて恥ずかしくないか?
56デフォルトの名無しさん:2012/02/24(金) 08:48:34.99
C++でプログラム書くのを覚えるとCでプログラム書くのは無理
Cを読むくらいならできるけど、Cで書くなんてバカらしくてやってらんない
57デフォルトの名無しさん:2012/02/24(金) 08:50:08.30
How To Become A Hacker
http://cruel.org/freeware/hacker.html

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

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

本気でプログラミングをするなら、C を勉強するしかありません。これはUnix の
中核となる言語です。C++ は C と密接な関係にあります。片方を知っていれば、
もう片方を学ぶのはそんなにむずかしくありません。が、どっちも真っ先に
勉強しようとするのには向いた代物ではありません。
58デフォルトの名無しさん:2012/02/24(金) 10:19:20.15
c++なんてどこまでいっても便利でカオスなCじゃん
Cでキッチリかけないやつなんてわかってないだけ
59デフォルトの名無しさん:2012/02/24(金) 12:19:54.39
C++使わないでCでプログラムをするのは
足を使わないで自転車に乗るようなもん
出来ないことはないが馬鹿らしくてやってられない
60デフォルトの名無しさん:2012/02/24(金) 22:36:32.70
CとC++の話は別にどうでもいいですん
61デフォルトの名無しさん:2012/02/25(土) 01:07:15.57
すん
62デフォルトの名無しさん:2012/02/25(土) 01:11:27.53
>>41
ずいぶん偉そうな言葉遣いだな。
プログラムの前に日本語を覚えなw
63デフォルトの名無しさん:2012/02/25(土) 02:02:32.48
CとC++のどっちがいいかなんて無意味。
目的のためなら利用できるものは何でも利用するべきなんじゃないのかな。

でも、はっきり言って、Cでまともなプログラムが書けない人は
やっぱりC++でもまともなプログラムを書いてないよね。
危なっかしいプログラムを平気で書いてる。
64デフォルトの名無しさん:2012/02/25(土) 02:04:13.52
ってか、Qtは大抵の人が安全に使えるから人気があるんだろうね。
そのぶん、パフォーマンスが落ちてるような気がするけど。
65デフォルトの名無しさん:2012/02/25(土) 09:35:19.25
>>62
どこが? で、本題はどうしたの?
66名無しさん:2012/02/26(日) 11:58:23.71
検索エンジンも業務効率の改善にいそいでいる。
67デフォルトの名無しさん:2012/02/26(日) 12:38:25.94
>>31, >>32, >>33
同じく。QtFileDialogのスタティック関数を使ってるけど、最初使うとき体感できるほど遅いね。
dllのロードに時間がかかってるんだろうな。
68デフォルトの名無しさん:2012/02/28(火) 21:56:56.07
ウインドウを不活性にして読み込み中・・・みたいなダイアログ?を表示したいんですけどどうしたらいいでしょうか
69デフォルトの名無しさん:2012/02/28(火) 23:55:04.69
adobeはflashの役割をhtml5にとられるだろうけど、
そのうち、photoshopをarchemyで実装しだすと思う。
javaもc#もクロスプラットフォームなRIAとしては今一な感があるし、
コアなロジックなんかはc++で書いた方がよほどコードをつかいまわせる。
余ったflash技術者にプレゼンテーション層をまかせるとなれば、
今後はqtの採用が減るんじゃないだろうか
70デフォルトの名無しさん:2012/02/29(水) 04:07:43.01
なんか最近見るスレ見るスレで
フォトショ関係のオナニー長レス見かけるんだけど…
71デフォルトの名無しさん:2012/02/29(水) 23:43:05.67
>>69
Qt 5の開発が遅れ気味で、安定するのにも時間がかかるだろうから、新機能は当分使えない。
Qt 4の改良は止めてしまっていて、同じく目新しいことはない。
Qtが停滞している間に、他のものを使うようになる。
72デフォルトの名無しさん:2012/03/01(木) 01:28:24.99
qt5はコアな部分から最適化のためにかなりいじってるみたいね
73デフォルトの名無しさん:2012/03/01(木) 01:29:34.46
他のものの候補ってナニ?GTK位しか知らないんだが
74デフォルトの名無しさん:2012/03/01(木) 18:59:49.51
どーせいつものアンチNokiaの粘着だろ
75デフォルトの名無しさん:2012/03/01(木) 22:53:50.90
>>68
だれかしりませんか・・・
76デフォルトの名無しさん:2012/03/01(木) 23:12:23.00
>>75
要するにボタンのないモーダルダイアログを表示して、プログラムのコードで閉じたいって
ことだよね?

それならQDialog::open()を使えば良い。この関数はダイアログをモーダル表示して
すぐにリターンする。閉じる時はclose()で閉じる。
77デフォルトの名無しさん:2012/03/01(木) 23:40:02.48
>>76
ありがとうございます
やってみます
78デフォルトの名無しさん:2012/03/02(金) 10:30:42.57
VS11のExpressEditionはWin8専用で、Metroアプリしかビルドできないみたいだぞ
競合IDEメーカーがいなくなったからPro以上を売りたいのかも知れないが
Qt Creatorの存在をお忘れだったようだな!
79デフォルトの名無しさん:2012/03/02(金) 13:35:41.65
いいかげん板違い。マ板にでも行って分かったようなこと語っててくれ
80デフォルトの名無しさん:2012/03/02(金) 23:12:23.11
Nokiaの腰巾着よりまともだな。
81デフォルトの名無しさん:2012/03/03(土) 12:41:07.43
ソースから特にオプションをつけないでビルドしたら30GBになってしもた
気をつけてね
82デフォルトの名無しさん:2012/03/03(土) 12:57:09.69
サイズを小さくするには
どんなオプション付けるん?
83デフォルトの名無しさん:2012/03/03(土) 15:43:00.32
QT初心者だが、
qmake -project
qmake
make
ってやったら don't know how to make 'FORCE' と出たんだが。
84デフォルトの名無しさん:2012/03/03(土) 16:38:25.08
qbs の紹介
http://labs.qt.nokia.co.jp/2012/03/03/introducing-qbs.html
何年もの間、qmake とは愛憎の入り混じった関係を育んできました。
ちゃんと仕事はしてくれるのですが、うまく行かないこともあり、
多くの人がメンテナンスは不可能だと考えています。
85デフォルトの名無しさん:2012/03/04(日) 01:56:06.39
noDebug
86デフォルトの名無しさん:2012/03/04(日) 02:14:48.29
>>82
pdbファイルがでかいので-nomake samplesなのかも
87デフォルトの名無しさん:2012/03/05(月) 23:44:22.01
Qt初心者です。
resizeEventに関して質問があります。
QPlainTextEditにでかいファイルを読み込ませた状態で
「MainWindowのサイズを変更したことによる
リサイズイベント」が発生すると、非常に処理が重いです。

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

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

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

表示されている部分だけをレイアウト処理して、それ以外はマルチスレッド化
するといいとは思うけど、対処はかなり難しいと思う。
89デフォルトの名無しさん:2012/03/06(火) 15:05:57.99
初心者質問ですんません
エンターを押下したら特定のプッシュボタンをクリックしたのと同じ効果となる方法ってありますか?
90デフォルトの名無しさん:2012/03/06(火) 15:24:06.43
>>89
> エンターを押下したら特定のプッシュボタンをクリックしたのと同じ効果となる方法ってありますか?
keyEvent() で エンター かどうかを判定し、そうなら プッシュボタンの clicked() シグナルを
エミットすればいいんじゃね?
91デフォルトの名無しさん:2012/03/06(火) 17:48:41.87
>>90
clicked()シグナルのエミットのみでは、クリックしたのと同じ効果にはならないし、
エンターの判定には、どこにフォーカスがあるかどうかも考慮する必要があります。

>>89
プッシュボタンのanimateClick()を呼べばクリックしたのと同じことになります。
例えば、どこでもよいからエンターを押したのを判断するならば、QApplicationにイベントフィルターを設定して、
エンター押下を判断して、特定のボタンに対して、animateClick()を呼べばよいでしょう。
92デフォルトの名無しさん:2012/03/07(水) 09:25:07.05
>>89
QDialogだけかもしれないけど、QPushButtonのdefaultをtrueにすれば良さそう。
93デフォルトの名無しさん:2012/03/07(水) 19:39:54.77
>>92
QLineEditなどがあったらダメでしょう。
94デフォルトの名無しさん:2012/03/07(水) 21:33:35.28
Qtwebkitの開発停滞してんなあ
95デフォルトの名無しさん:2012/03/07(水) 23:06:48.54
ちょっと質問。
QListとかQHashなどのコンテナってスレッドセーフにできてるんですか?
自分の作ったものじゃないウィジェッドを使ってプログラムを作ってる最中なんですが、
スロットの中で、QListのメンバ変数にデータを追加する時に、
アクセスエラーと言われて落ちてしまいます。
96デフォルトの名無しさん:2012/03/07(水) 23:24:15.12
基本的にドキュメントにスレッドセーフってわざわざ書いてないものについては
自動で排他制御したりはしてくれないので
別スレッドからインスタンスに触るときは、QMutexLockerなりなんなりで保護しないとダメです
97デフォルトの名無しさん:2012/03/08(木) 00:14:47.45
ありがとうございます。なるほど・・・。
QMutexLockerってものがあったんですね。
98デフォルトの名無しさん: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は競合しているように言ってるように思うのですが・・
9998:2012/03/08(木) 05:21:04.47
qt sdkでないqtを入れてみたら先に進みました
失礼しました
100デフォルトの名無しさん:2012/03/08(木) 07:55:37.66
ありがとう
101デフォルトの名無しさん:2012/03/08(木) 11:20:27.25
Designerへのプラグインの登録についての質問です。

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

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

何かパスを通すなどで解決するのでしょうか。
102デフォルトの名無しさん:2012/03/08(木) 18:42:51.60
QStringList QCoreApplication::libraryPaths()
{
const QByteArray libPathEnv = qgetenv("QT_PLUGIN_PATH");

とあるんで、試してないが、環境変数のQT_PLUGIN_PATHにパス追加しておけばいける
103デフォルトの名無しさん:2012/03/10(土) 15:04:24.63
>>88
アドバイスありがとうございました。
とりあえず「折り返しなし」にしたら問題がマシになりました。

調査していてわかったのですが、どうやら Mac かつ plastiqueStyle で
QTreeWidget が重いというバグに関わっているようでした。
描画スタイルをMacやMotifにしたら、だいぶ早くなりました。
104デフォルトの名無しさん:2012/03/10(土) 15:06:49.24
QLabelにあるテキストを ドラッグで範囲指定して、コピーできないもんですかね。
ぐぐったら継承して対応するというような意見があったのですが、
もっといい方法がありそうな気がします。。。。
なにか知っていらっしゃいますか。
105デフォルトの名無しさん:2012/03/10(土) 16:55:47.96
106デフォルトの名無しさん: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デフォルトの名無しさん:2012/03/10(土) 17:07:09.70
これ?
http://www.qtcentre.org/threads/4625-WCHAR-to-QString-giving-error-in-vs2005
http://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デフォルトの名無しさん:2012/03/10(土) 17:10:03.59
>>107
違うバージョンのQtCore4.dllがロードされているんじゃないか
110デフォルトの名無しさん:2012/03/11(日) 18:24:01.50
>>102
返事が遅れてすみません。

~/qp/myplugin/myplugin.pro というプラグインが在る所
$ env QT_PLUGIN_PATH=~/qp/myplugin/plugin qtcreator
と起動することで確かにプラグインが追加されました。
ありがとうございました。
111110:2012/03/11(日) 18:26:01.35
絶対パスだと長くなるので相対パスで書いたのですが、
相対パスでは動きませんでした。
失礼しました。
112108:2012/03/11(日) 19:46:07.03
>>109
QtCore4.dllは1つしかないのでそれはありません

結局Qtのコンパイルを、動作しないPCの環境で行ってからアプリケーションを
再コンパイルして解決しましたかが、釈然としません。
113デフォルトの名無しさん:2012/03/11(日) 20:26:31.31
>>108
これだとコンパイル時にわかるだろうね

2005と2008のQtCore4.dllをごっちゃにしてるんじゃないかな
114デフォルトの名無しさん:2012/03/11(日) 20:29:43.38
gccとかmingw のバージョン違いでもおかしくなることあるよ
115デフォルトの名無しさん:2012/03/12(月) 23:57:23.00
win7の32bitで動いた場所とディレクトリから、64bit(別PCでコンパイル)のdllを取ってきても動かなかったりしたなぁ。
えらい悩んだが、Qt Creator で動いたのなら、どこかに必要な dll は必ずあるはず。
116デフォルトの名無しさん: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デフォルトの名無しさん:2012/03/14(水) 00:11:48.77
QtwebkitでQtTestbrowserをもとに簡単なブラウザようなものを作成したのですが
どうにも自分のwin環境だと日本語入力が正常に行えません
調べてもissueも出てないし日本語圏で誰も問題にしていないので自分の環境だけなのかな〜と思ったのですが
自分以外の環境でも問題再現するようでしたらQtwebkit Projectにissue投げたいのですがいかがでしょうか?
118デフォルトの名無しさん:2012/03/14(水) 00:27:25.29
前にテキストエリアとかで漢字変換すると
WebKitが死んでしまうって話しは出てたな
119デフォルトの名無しさん:2012/03/14(水) 00:42:40.04
メーリス見たところWebkitが落ちるだか画面暗転?するバグは直ってるっぽいですね
Aroraあたりのqtwebkitがっつり使ってるブラウザもテキストエリアでキャレットが動かないなどの不具合ありました
メーリングリストに投げた方がいいんですかね……?
120デフォルトの名無しさん:2012/03/14(水) 03:53:05.89
4.7.3で問題なく動作していたソフトが4.8.0では正常に動作しなくなりました。
色々調べてQNetworkAccessManager::postの実行時にQNetworkReply::UnknownNetworkErrorが起きていることが分かったのですが、
QNetworkReply::UnknownNetworkErrorってどんな原因が考えられるんでしょうか?

ちなみに、QNetworkAccessManager::post実行後にネットワークアクセスは発生していません。
そしてエラーを無視して同じ引数で再度postを実行すると問題なく動作します。
121デフォルトの名無しさん:2012/03/14(水) 09:36:56.37
色々と調べたところQtwebkitの処理周りのバグはWebkit Bugzillaになげるべきらしいですね…
自分はレポートはできてもリテストできる環境にないのでどなたか投げといてくれると嬉しいです
122デフォルトの名無しさん:2012/03/14(水) 22:34:38.00
うちの環境では(XPで4.7.4)は特に問題なかった
123デフォルトの名無しさん:2012/03/14(水) 23:23:54.09
アプリケーションをインストールした後、PCで初めて起動する時にだけ、
特定の処理を行いたいと思ってます。
Qtでの定番のやり方ってありますか?

やろうと思えば、いくらでもやり方はあると思いますが、
Qtでいい方法が用意されているのならそれを使おうかな、と。
124デフォルトの名無しさん: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デフォルトの名無しさん:2012/03/15(木) 00:06:14.67
>>122
ありがとうございます
Vistaと7、Qt4.8で再現するバグですのでその旨もちゃんとBugzillaに書いておきます。
126120:2012/03/15(木) 22:47:28.94
原因が分かりました。
4.8.0ではQHttpNetworkConnectionChannel::allDone内のエラー処理がコメントアウトされていました。
その影響で4.7.3では隠れていた不具合が表に出たようです。

恐らくですが、Connection: closeを指定していても、サーバがレスポンスの末尾に不要なデータを付け足して送ってくると、使い終わったソケットの終了処理が行われないようです。
そして次に同じホストに対してpostを実行すると、この使い終わったソケットを再接続せずに再利用してしまい、書き込みエラーが発生します。
該当部分のコメントによると既知の問題みたいですが、一応報告だけ。
127デフォルトの名無しさん: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デフォルトの名無しさん:2012/03/15(木) 23:08:44.82
すいません、127 です。
baseWidget->remove(w);
w->deleteLater();
としたら、解決しました。
オブジェクトの開放のタイミングとか検証してから質問するべきでした。

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

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

クラスをthreadに割り当てて、start()では実際のスレッド動作は始まらず、
クラスメンバー関数を呼び出した時点でスレッドとして動作が始まるって理解でいいの?
130デフォルトの名無しさん:2012/03/18(日) 16:55:29.03
startでスレッドが始まってデフォルトのrunが呼び出されて、
デフォルトのrunが呼び出されるとexecが呼び出されて、
execが呼び出されるとイベントループに入る
だと思う
131デフォルトの名無しさん:2012/03/18(日) 19:06:56.95
>>129
> クラスをthreadに割り当てて、start()では実際のスレッド動作は始まらず、
> クラスメンバー関数を呼び出した時点でスレッドとして動作が始まるって理解でいいの?
いや違う。
start() でスレッドの動作が始まり、イベントループが開始される。
スロットがシグナル経由で呼び出されると、スレッド側のコンテキストで
処理されるということ
スレッド間のスロットコールは内部ではイベントとして処理される
132デフォルトの名無しさん:2012/03/18(日) 19:37:20.96
>>130-131
うーん、ちょっとデバッガで追っかけてみたけど(VC++環境)
start()ではSUSPENDでスレッド起動してるだけみたいだけど。

それに呼び出してもないのにexec()が勝手に動いちゃ駄目じゃない?
133デフォルトの名無しさん:2012/03/18(日) 19:49:10.15
134デフォルトの名無しさん:2012/03/18(日) 19:55:24.48
>>132
> それに呼び出してもないのにexec()が勝手に動いちゃ駄目じゃない?
なんで、exec() が動いちゃ駄目なの?
exec() が何をするものか分かってる?
135デフォルトの名無しさん:2012/03/18(日) 19:56:06.03
ソース読まなくてもQThreadのリファレンスに書いてあったと思うけど
136デフォルトの名無しさん:2012/03/18(日) 20:11:30.34
>>134
run()で完結する処理ならexec()必要ないし。必要のないものが勝手に動くと駄目だろ。

ざーと見てみたけど、signal受けるとQThreadのイベントハンドラが1回だけ呼び出されて
対応する処理に移動するって感じがするんだけど。
イベントループがずっと動いてるって確証は今のところ見当たらない。
137デフォルトの名無しさん:2012/03/18(日) 20:14:09.54
念のため言っておくけど、>>129のmoveToThreadやinvokeMethod使った処理な。
138デフォルトの名無しさん:2012/03/18(日) 20:25:32.25
なんで公式のリファレンスを読まないの?
分からないことがあったら一番最初にすることでしょ?
139デフォルトの名無しさん:2012/03/18(日) 20:32:13.43
>>136
とりあえず、ここを読んでおけ
http://labs.qt.nokia.com/2010/06/17/youre-doing-it-wrong/
140デフォルトの名無しさん:2012/03/18(日) 20:40:35.67
リファレンス読めなくてもソースなら読めるだろ
141デフォルトの名無しさん:2012/03/19(月) 05:47:19.10
ソース嫁ソース嫁ってしつこくてうざいよ
リファレンス読まずにソース読むなんて、仕事がなくて暇なヤツのすること
142デフォルトの名無しさん:2012/03/19(月) 08:15:21.78
やれやれ
ここもそろそろIDが必要になったか
143デフォルトの名無しさん:2012/03/19(月) 08:45:34.92
リファレンス読んでもわからないからソース読みます
144デフォルトの名無しさん:2012/03/19(月) 09:41:08.16
自演乙。やっぱり最低でもID出なきゃダメだね。
145デフォルトの名無しさん:2012/03/19(月) 15:47:30.88
Qtはちゃんと資本が入ってるお陰で、ちゃんとしたドキュメントが整備されてるし
よくあるオプソライブラリみたくソースから入る必要もないだろ
146デフォルトの名無しさん:2012/03/19(月) 16:22:39.71
リファレンス読んでも分からないときにソース読むのは正しい
リファレンス読めば分かるのにソース読むのはマヌケ
147デフォルトの名無しさん:2012/03/19(月) 16:28:36.94
馬鹿には無理
148デフォルトの名無しさん:2012/03/19(月) 16:50:43.61
ソースソスソスソーソーソース
ソスーソソススソスソーソース
149デフォルトの名無しさん:2012/03/19(月) 17:12:32.26
>>136
>run()で完結する処理ならexec()必要ないし。必要のないものが勝手に動くと駄目だろ。
その通りだと思う。シグナルとスロットを使わずにスレッドを使いたいだけならば、exec()
は不要でしょう。

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

>>139
>http://labs.qt.nokia.com/2010/06/17/youre-doing-it-wrong/
これを読んで、QThreadをstart()して、QObjectをmoveToThread()するのが正しく、
QThreadをサブクラス化するのがダメとみなしてはいけないと思います。
150デフォルトの名無しさん:2012/03/19(月) 17:27:55.24
>>149
> >http://labs.qt.nokia.com/2010/06/17/youre-doing-it-wrong/
> これを読んで、QThreadをstart()して、QObjectをmoveToThread()するのが正しく、
> QThreadをサブクラス化するのがダメとみなしてはいけないと思います。
じゃあ、何が正しいの?
QThreadをstart()して、QObjectをmoveToThread()するのが絶対じゃないけど、推奨される方法じゃないの?
151デフォルトの名無しさん:2012/03/19(月) 17:34:46.56
いやちょっと待ってほしい
サブクラス化自体がダメなんて話>>149以外誰もしてないんだけど
152デフォルトの名無しさん:2012/03/19(月) 17:55:11.18
>>150
どちらも正しいです。moveToThread()の方がよいという訳ではないでしょう。

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

それだと、QThread のサブクラスのスロットをコールしても
別スレッドのコンテキストで実行されないという問題があるぞ
154デフォルトの名無しさん:2012/03/19(月) 20:15:34.98
>>153
いつでもシグナルとスロットを使わなければならない訳ではないから、
QThreadをサブクラス化してもしなくてもどちらも正しい方法です。

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

偉い人の記事を読んで、moveToThread()がよいと妄信するのは、技術力がないからです。
155137:2012/03/19(月) 20:18:01.57
一応言っておくけど137以降は書いてないからな。

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

invokeMethodでの呼び出しが別スレッドのコンテキストでの実行になるんだから、
exec()がずっと動いてる必要もないだろう。invokeMethodから1度だけ呼ばれれば
いいんじゃないの。
156137:2012/03/19(月) 20:20:27.32
ざーと見たところ、invokeMethodはかなりメタ処理やってるので
遅そうだな。使い道は微妙かもしれない。
157デフォルトの名無しさん:2012/03/19(月) 21:26:08.92
Qtアプリはシグナルスロットを基盤として設計されるものであり、
スレッドが関わってもその方針が維持できるようになったのは大きな進歩だ
昔はサブクラス化が必須であったが、この進歩のおかげで今となってはサブクラス化は例外的なものであり、
決して"間違い"ではないものの、推奨されたものではない
QThreadのrunがexecを呼び出すようになったのは、ただのお節介ではない
使い方を理解していればどちらでもよいなんて、Qtが他と比べて優れている点を理解していない証拠だ
人の技術力をとやかく言う前に、自分の技術力と読解力を疑った方がよい
158デフォルトの名無しさん:2012/03/19(月) 21:31:09.82
そろそろmoc使わないでもいいようになってくれ
159デフォルトの名無しさん:2012/03/19(月) 21:40:25.36
>>155
お前は結局何が言いたいの?
リファレンス読んでもまだ仕様が分からないのか、それともQtの仕様は糞だって言いたいの?
お前といい>>149といい、もうぼくのかんがえたさいきょうのらいぶらりでも作ってろよ
160137:2012/03/19(月) 22:08:58.17
>>159
え?何を言ってるのかわからない。

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

シグナル受けるかinvokeMethod経由で呼ばれたタイミングで初めて
スレッドが動き出すのかと推測してたんだけど、exec()の話が出てきて
よく分からなくなったんだわ。
161デフォルトの名無しさん:2012/03/19(月) 22:20:03.75
いやお前今の今までそんな質問一度もしてないから
スレッドが始まるタイミングとイベントループの話だけじゃん
一度自分が何を理解していないのか考えをまとめた方がいいぞ
162デフォルトの名無しさん:2012/03/19(月) 23:20:53.09
横レスすみません

class Thread : public QThread
{
protected:
 void run() {
  QNetworkAccessManager manager;
  reply = manager.get(QNetwotkRequest(QUrl("http://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デフォルトの名無しさん:2012/03/20(火) 04:48:42.32
関数内でQThread::currentThreadId()を呼び出してスレッドID表示してみればどのスレッドでその関数が実行されてるかわかるよ
164デフォルトの名無しさん:2012/03/20(火) 07:25:50.19
>>162
せめて、コンパイルエラーが発生しないコードを示せよ。
すぐに検証できることを人に聞くだけで、自分ではいっさい検証してないってことか?
165デフォルトの名無しさん:2012/03/20(火) 13:46:24.52
入門Qt4プログラミングのサンプルコードが、QThreadをサブクラス化して処理を追加するようになってるのが良くないね
あれで誤解している人も結構いそう
166124:2012/03/20(火) 22:26:29.08
需要は無さそうですが、解決したので念のため。

今のXcodeではメニューのXcodeからPreferencesからDownloadsで
Command Line Tools for Xcode
ってのをインストールする必要がありました。
167デフォルトの名無しさん:2012/03/21(水) 17:49:08.55
QTextCodec::toUnicodeとQTextDecoder::toUnicode(ConversionFlags設定なし)の違いって何なんでしょうか?
実行中同じオブジェクトが同じコーデックで何度もデコードするんですが、こういう場合どちらを利用するのがベターなんでしょうか?
168デフォルトの名無しさん:2012/03/22(木) 03:33:55.96
>>165
そう言えば、でるでると言ってなかなかでない「でるでる詐欺」のQt翻訳本はどうなったのかな?
169デフォルトの名無しさん: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デフォルトの名無しさん:2012/03/22(木) 05:42:32.29
Qt5って夏ごろだっけか
てかもう春だしな
171デフォルトの名無しさん:2012/03/22(木) 14:51:40.23
QTextEditでsetHtml("<img src='path'>")としてもうまく画像が表示されず
↓こんな感じになってしまうのですがどこがまずいのでしょうか
http://uploader.sakura.ne.jp/src/up89806.png
コピーしてEvernoteに貼り付けるとちゃんと表示されるのでパスが間違っている等のミスはなさそうなのですが。
172デフォルトの名無しさん:2012/03/22(木) 16:00:10.30
まさか一時間で流れるとは…画像上げなおしました
http://www.rupan.net/uploader/download/1332399473.png
173デフォルトの名無しさん:2012/03/22(木) 16:38:45.85
174デフォルトの名無しさん:2012/03/22(木) 19:30:07.08
>>173
ありがとうございます。無事いけました。
175デフォルトの名無しさん:2012/03/22(木) 20:55:39.90
QtスレっちゅうかQtドキュメント探すスレやな
ttp://qt-project.org/doc/
ttp://doc.qt.nokia.com/
を含むレス数がQt力や
176デフォルトの名無しさん:2012/03/25(日) 15:45:01.71
そして時は動き出す
177デフォルトの名無しさん:2012/03/25(日) 17:24:58.39
−−−−−−−−−−−−−−−−終了−−−−−−−−−−−−−−−−
178デフォルトの名無しさん:2012/03/27(火) 01:38:53.36
QMLなんかより本体の方をまともにしてくれ
179デフォルトの名無しさん:2012/03/27(火) 06:25:32.67
最近Qt始めたんだけど、そんなにバギーなん?
180デフォルトの名無しさん:2012/03/27(火) 06:47:52.89
別にバギーじゃないお
181デフォルトの名無しさん:2012/03/27(火) 06:48:54.32
問題が多いだけ
182デフォルトの名無しさん: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 を別スレッドにするという対処はできそうにありません。
http://qt-project.org/forums/viewthread/4002
そのため、完全に手詰まり状態となってしまいました。

もしよかったら freeze を防ぐための アドバイスいただけないでしょうか。
183デフォルトの名無しさん:2012/03/27(火) 21:40:40.22
一定量溜まったら、ってどのくらい?
KB単位なのかMB単位なのか

あまりでかいのなら見えてるところだけappendして遅延ロードさせるとか
184デフォルトの名無しさん:2012/03/27(火) 22:17:30.28
>>183
Line base なので 10000行ごとにロードしています。
appendの処理が重いため、この量が少ないと処理時間が伸びました。

遅延ロードも検討したのですが、私のプログラミングスキルだと、
利便性と兼ね合いを持たせて実装する仕組みを思いつきませんでした。
他のエディタのアルゴリズムとか調べてみると発見があるかもしれないですね。
アドバイスありがとうございます。
185デフォルトの名無しさん:2012/03/27(火) 23:06:01.11
本質的ではないのですが、appendPlainText を insertPlainText に変えて、
このページにあるように SyntaxHighlighter をロード中に切ると、
処理時間が半分程度になりました。
https://qt-project.org/doc/qt-4.7/QSyntaxHighlighter.html
(もともと SyntaxHighlighter はロード中は「内部で即return」 するようにしていたので、
あまり影響はないですが。。。)
186デフォルトの名無しさん:2012/03/28(水) 14:20:40.74
Qt Creatorってemacsのキーバインドないの?
187デフォルトの名無しさん:2012/03/28(水) 15:03:47.18
少なくともデフォルトではないんでなかったか
キーボードの挙動は結構自分で変えられるから試してみてはいかがか
188デフォルトの名無しさん:2012/03/28(水) 22:14:23.21
Qt CreatorとかQt Assistantのアイコンがそっくりすぎる
もう少しぱっと見てわかるようにならないかな
馬鹿には無理
190営利利用に関するLR審議中@詳細は自治スレへ:2012/03/29(木) 23:37:45.82
今Twitterのクライアント作っててGUIにQt4を使っています。
TLを表示する時、Twitter側からつぶやきの情報を取得して
QLavel作成して描画しようと思っているんですが、
ツイートの文字数、ウィンドウの大きさによってラベルの高さを変えたいです。
リファレンスがわかりにくくてよく分からなかったんですが
setGeometry関数は横の長さだけ指定して
縦を自動調整してくれるようにできるんでしょうか。
できないなら方法ないでしょうか。
丸投げな質問ですいません。
heightForWidthとか
192営利利用に関するLR審議中@詳細は自治スレへ:2012/03/30(金) 00:34:47.49
>>191
今調べられる環境では無いですが
多分引数intで縦の長さ決定する関数ですね。
その逆って無いですか?
QTableViewとは違うエリアで変化したデータの変更を、すぐにQTableViewの描画に
反映することってできますか?

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

わざわざそのウィンドウに行かずに、すぐに反映されるようにするにはどうしたらいいんでしょうか?
>>193
QTabView を update() してる?
Qtはいつまで32bitしか配らないのか?
自前でビルドするとエラー出るし
ん?Linuxはx86-64版を配布しておるが。Windowsの話か?
Mac版も64bitだな
Win版も非公式ビルドなら、4.8.0のx64がGoogle Codeにある
もしかしてこれのことかね?
http://code.google.com/p/qt-msvc-installer/
重たい処理をしてる最中の描画がうまく働かず、GUIの一部がうまくアップデートされない状態に時々ならないですか?
その箇所をアップデートするようなイベント(クリックとか、マウスオーバーとか)で元に戻るんですが、
放置しておくと永遠に見えないままです。

定期的(1000ms間隔ぐらい?) な MainWindow のリフレッシュとかが必要なんですかね。。。
Macだとこの問題は発生しないのですが、Windowsだと起きます。
>>200
> 重たい処理をしてる最中の描画がうまく働かず、GUIの一部がうまくアップデートされない状態に時々ならないですか?
イベントハンドラで重たい処理をしてれば、イベントループが回らないので
GUIがうまく更新されないのはしょうがないんじゃないかい?

重い処理は別スレッドで処理しないと駄目なんじゃないかな
よく分からんのですが、qtのオープンソース版ってひとつしか頒布されてなくて、
(自分がインストールしたのはこれです → Qt by Nokia v4.8.0 (MinGW OpenSource) )
>>2のLGPLライセンスだと思って使ってもいいってことですか?

つまり、LGPLライセンス用とGPLライセンス用の2種が存在するわけではないですか?
GPL、LGPU好きな方で使える
あ、即レスありがとうございます
205営利利用に関するLR審議中@詳細は自治スレへ:2012/04/01(日) 18:08:32.63
初歩的だと思いのですが、質問させてください

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

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

教えていただけますと嬉しいです
Tabsクラスにtabsを渡すって何?
>>205
コンテキストメニューでタブを追加するという処理なら、
・コンテキストメニューを作ってQActionをアサインする
・QAction::triggered()シグナルをMainWindowクラスで受け取る
・追加するtabをQWidgetで作成(もしくはあらかじめ作る)
・ui->tabs->addTab()で追加する
で鉄板だと思うのだが、好きにやってみたらいいんじゃね?
>>201
GUI に依存する重たい処理なんで、別スレッドに対比できないんですよね。
QWidgetの派生クラスの「1行の関数呼び出し」がえらい負荷をかけているらしく、
要素の分解もできない状態です。

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

QMainWindowの派生クラスで Thread を持ち、それが
while(true){ msleep(1000); emit windowUpdateSignal; }
という形で、アップデートをかけ続けるという動きを考えたのですが、
あまりイケてなさそうな気がして。。。
エスパーじゃないんでよくわからんが、QStringの扱い方がまずいんでないの?
コピーしまくってたりとか、変なループ回して同じ処理を何度も繰り返したりとか。
メッセージが回らなくなるレベルの重さなんて、今時の環境だったらよっぽど無駄なことしないと難しいよ。
ループの中に QApplication::processEvents() を入れるとか、そういう話じゃない?
>>209
QStringの扱いがまずいというのはあるかもですね。
本来、QPlainTextEditは大量の文書を入れる用途には向いていないようなのに、
数十万行程度読みこませることがあるので。。。
あと、signal の送受信の際に、内部的にQStringを何度もコピーしている可能性も
考えたほうがいいかもしれないです。。。

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

ううむ。
試してないが、QTextDocumentを別スレッドで作って、
そこにテキストを設定した後にQPlainTextEditにsetDocumentする手は使えない?
QTextDocument::clone() を使ってコピーする必要はありそうだが。
http://qt-project.org/doc/qt-4.8/threads-modules.html#threads-and-rich-text-processing
動的にテキストが更新されていく場合は難しいかもしれないが。
>>211
> 本来、QPlainTextEditは大量の文書を入れる用途には向いていないようなのに、
> 数十万行程度読みこませることがあるので。。。
それが問題だと思う。
巨大文書用のエディタクラスを作るしかないかも。
#仕事として発注してくれれば受けるけど、そこまでコストかける気はなさそうだね
>>211
>あと、signal の送受信の際に、内部的にQStringを何度もコピーしている可能性も
>考えたほうがいいかもしれないです。。。
QStringはコビーオンライトするようになっているので、ポインタサイズしかコピーしていません。
>>205
QtCreatorで配置したオブジェクトに任意の処理を加えたいって
ことならオレはこうしてる。
これならQMainWindowクラスに記述するコードは必要最低限に
なるかな。

void MainWindow::on_actionOpen_triggered()
{
MyArea *localarea = centralWidget()->findChild<MyArea *>();
if (localarea!=0) {
localarea->on_actionOpen_triggered();
}
}
ながれをぶったぎってすみませんが、
Qt4.8.0以降でOpenGLを使う場合、glutをincludeしなくなっているので
gluLookAt()が使えません。そうすると、自前で視点変換の行列を
用意しなければならないのですか。それとも代わりの関数がどこかの
クラスに用意されているのでしょうか。
#include <GL/glu.h> を追加すればいいんでないの
ttps://bugreports.qt-project.org/browse/QTBUG-12227
そういう問題じゃない?
>>217
なるほど。たしかにglu.hでうごくみたいですね。
<QtOpenGL/QGLWidget>のなかでgl.hしか読み込んでいなかったので
そうしようと思いませんでした。
リンクによると、Qtではglutを使わない方針になっているんですね。
>>218
Qt4.8から使い始めたから知らなかったけど、
includeしてたのってGLUTじゃなくてGLUじゃない?

OSXはこんな感じで書けばいいみたい
ttp://qt-project.org/forums/viewthread/14269
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 した時の挙動も若干違いましたが。
>>213
ググったら似たようなトラブルが山のように出てきたので、
おそらくそうですね。

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

私も趣味で開発(タダ)してるんで、金はかけられないですw
巨大文書用のエディタクラスですか。。。
作るならQPlainTextEditと上位クラスのコード読まないと無理そうですね。
>> 212
ああ、それいいかもですね。
setTextDocument の スピード について main thread で検証してみて、
それが速ければ試してみる価値がありそうです。
結果は後日報告します。ありがとうございます。

いやー、随分悩んだのですが、相談すると自分が考えつかないような
解法を色々教えていただけて、助かります。
223営利利用に関するLR審議中@詳細は自治スレへ:2012/04/03(火) 23:10:53.31
Qt 5 Alphaリリースしました
224108:2012/04/04(水) 03:52:13.17
Qt5では、簡単に言うと何がいいのでしょう?
>>199
これつかわないと64ビット版のwindows向けにビルドできないのでしょうか???
>>227
WOW64でいいなら使わなくてもよいでしょう
組み込みでもOpenGL使えるのかな
>>229
ドライバがあれば、な。
>>229
Qt 4ではドライバがあっても問題が多過ぎて満足に使えませんでした。
問題を報告したら、今のアーキテクチャではもう無理なので、Lighthouse迄待ってくれと言われました。
Qt 4.8のLighthouseのOpenGLドライバは、問題がまだあるけれどそこそこ動きます。
みなさんって Qt4 を Windows か Mac、Linux もしくは 複数のどれで利用しています?
アプリケーションの大枠としてはだいたい同じ挙動になりますが、OSごとに若干GUI系のレスポンスが違いませんか。。。
Windowsだけ、このWidget_Aが遅くてアップデートがうまく動かないとか、
Macだけ、このWidget_Bが遅くて、もっさりしているとか。

Windowsだけ、QLineEdit(コピペしたときの見た目が更新されない), と
QTreeWidget(1クリックでフォーカスが表示されない) のアップデートが遅く、
Mac だけ QTreeWidget の plasticStyle がもっさり(カクカク)しています。
解消したいんですが、OS特有なんで原因がよくわからないんですよね。。。
>>232
ここ数年こういったQtの実装の不十分さが目立って来ています。
報告しても、古いからもう改善しないとクローズされるのが何度もあって、言う気も失せています。
そのへんはしかたないと思うけどね。
Javaとかと違ってネイティブで動くことに意味があるんだし。
235営利利用に関するLR審議中@詳細は自治スレへ:2012/04/08(日) 00:55:01.74
QMLの不具合は報告するとすぐさま修正されるよ
QWidgetは放置されるけど
馬鹿には無理
オプソは総じて、過去の遺産のメンテみたいな面白くもないことはしたがらないからな
自分で直すか有償サポート申し込めってことだな
オープンソースといってもNokia関係者が8割だそうだ。
239営利利用に関するLR審議中@詳細は自治スレへ:2012/04/09(月) 12:59:20.02
NokiaはQMLで何がしたいんだろう?
Qtで作ったMeeGoを捨てて、Windows Phoneに寝返ったNokiaに、
もう一度Qtの開発者達へ目を向けさして、Nokiaのメインストリームにして欲しいんじゃないかな。
Qtの GUI 系のアップデートって、メソッドの呼び出し順序で挙動が変わりますね。
QPlainTextEdit を拡張して、左側にラインナンバーを表示させているのですが、
再定義を以下のようにすると

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

Editer本体の描画がうまく動かなかったのですが、
この(1)(2)を逆にしたら問題なく動くようになりました。
重要なイベントを先に動かしたほうがいいみたいですね。
単に理解できてないだけなんじゃね
それは単純に、(2)が上書きしているからじゃないの?
Widget が透ける設定じゃなけりゃ、塗りつぶすでしょ。
>>243
PlainTextEditの描画を少し右寄せして、空いた隙間にライン描画のための QWidget を配置しています。
両者は重なっていないので、塗りつぶしは発生しないです。

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

>>244
>PlainTextEditの描画を少し右寄せして
どのようにして右寄せにしていますか。
なんでupdateじゃなくてrepaintなの?

あと http://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.
は関係あるのだろうか
>>245
setViewportMargins(x, 0, 0, 0);
ですね。

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

なので、継承クラスで PaintEvent をオーバーライドし、
「本来のPaintEvent + 同時にアップデートされなかったWidgetのアップデート」
を行うようにしています。
伝え忘れましたが、行番号はSQroll範囲全てにあるわけではなく、
現在見ている Window範囲にしか存在せず、必要に応じて行番号を
アップデートする仕組みで動作しています。
>>246
どっかのドキュメントで 「update ではなく、repaint を呼び出すべき」というのを見かけ、
それを盲目的に信じていました。
申し訳ないですが、一ヶ月近く前の話なので覚えていないです。ごめんなさい。
lineNumberArea実装の例はQtのサンプルに含まれてるよ
俺はそれ参考にして実装してる
>>244
>塗りつぶしは発生しないです
どうやって確認したの?
Code Editor Example | Documentation | Qt Developer Network
http://qt-project.org/doc/qt-4.8/widgets-codeeditor.html
>>250,252
私もこれを参考にしました。
LineNumberAreaの行番号表示のアルゴリズム と、QPlainText の共存方法自体はほぼ同じです。
ただ、描画イベントの処理系はサンプルのままだとうまく動かなかったので、変更を加えています。
あと、他機能との実装の兼ね合いもあるので。。。

>>251
エリアがかぶっていないからです。
<--LineNumberArea->
<----(blank)--------------|----QPlainTextArea-------------->
というような感じですね。
結局、Qtのせいではなくて理解が足りなかったということでおk?
>>254
私はエキスパートはおろか、本業プログラマですらないので、
Qtの問題性を疑うより私の理解不足を疑うほうが妥当だと判断します。

ただ、文脈を持たないその指摘に、なんの意味があるかがよく分かりません。
低レベルな質問でスレ汚しをするな、という指摘なら謝ります。
>>255
> 私はエキスパートはおろか、本業プログラマですらないので、
> Qtの問題性を疑うより私の理解不足を疑うほうが妥当だと判断します。

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

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

煽るより正しい情報を書き込めよ
258デフォルトの名無しさん:2012/04/11(水) 22:10:03.60
実践 Qt 4プログラミング
http://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デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん:2012/04/11(水) 22:21:57.74
エディタの所のカスタムテキストエディタは、1行エディタとかやってるとこからして
IME周りからやってくれるのかな?だとしたらほしいなあ。よくわかんないし
262デフォルトの名無しさん:2012/04/12(木) 01:23:36.35
翻訳元これかな、サンプルコード見るとそこまで凝ったエディタでもなさそう

Advanced Qt Programming
http://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 をインストール出来るのでしょうか?
265264:2012/04/12(木) 08:38:46.24
すみません訂正です。

誤:/Application/Xcode.app
正:/Applications/Xcode.app
266デフォルトの名無しさん:2012/04/12(木) 08:56:20.72
>>264
頑張ってこのスレ読み返せば解決する
267デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん:2012/04/12(木) 22:46:34.89
sleep の問題の解決になっていないのですが、threadの終了を待つには

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

で十分でした。
マシンによると思うのですが、うちのやつだと100回以内にループを
抜けていたので sleep するレベルではありませんでした。
271デフォルトの名無しさん:2012/04/12(木) 22:53:29.53
wait()だろ普通
272デフォルトの名無しさん:2012/04/12(木) 23:09:12.95
>>271
wait() って、そのインスタンスに走らせたスレッド(runが動いているやつ)を止めるのではなく、
呼び出し元のを止めるんですね。。。
wait()を使うことにします。
ありがとうございました。
273デフォルトの名無しさん:2012/04/12(木) 23:17:50.70
wait()はメインスレッド止まるけど、while使うとQCoreApplication::processEvents()呼ぶから画面がぬるぬる動くんじゃね
274デフォルトの名無しさん:2012/04/13(金) 07:31:31.12
>>270
QTimer::singleShot()で呼び出されるスロットで、スレッドの終了判定をするというのはどうでしょうか。
スレッドが終了していなければ、singleShot()を再度呼び出す。
ビジーループにならず、wait()でメインスレッドが固まるのも避けられます。
275デフォルトの名無しさん:2012/04/13(金) 09:40:19.86
>>269
>Threadの継承クラス以外で sleep 関数に類似する関数は使えないのでしょうか。
QTest::qSleep()は別として、メインスレッドでsleep関数に類似するものを使うとGUIが固まるので、
敢えて用意していません。
276デフォルトの名無しさん:2012/04/13(金) 13:22:55.99
QTimerだとかで小細工しなくても、こんなんで十分じゃね?
while(!thread->wait(300))
{
qApp->processEvents();
}
277デフォルトの名無しさん:2012/04/14(土) 00:11:59.16
270です。

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

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

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

>>276
wait()のみと、while 方式の両方のいいとこをとったような実装ですね。
while内の判定がスマートw
278デフォルトの名無しさん:2012/04/14(土) 00:54:10.88
Macでアプリの配布ってどうやります?
Deploying an Application on Mac OS X
http://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デフォルトの名無しさん:2012/04/14(土) 09:03:04.90
countとかすると、0じゃない値が帰ってくる?
ワンラインで取ろうとせず、どの行程でコケてるか調べてみたら。

しばらく使ってないから忘れたけど
menubar -> menu -> action
って親子関係じゃなかったっけ?
281デフォルトの名無しさん:2012/04/14(土) 09:04:22.15
あ、ごめん。menubar じゃなくて toolbar か。
282デフォルトの名無しさん:2012/04/14(土) 09:17:00.41
ui->button1とかでアクセスできるだろ
283デフォルトの名無しさん:2012/04/14(土) 10:52:39.37
馬鹿には無理
284デフォルトの名無しさん:2012/04/14(土) 11:42:54.59
AccessとQtは同じくらい面白い。
285279:2012/04/14(土) 12:36:13.14
レスありがとうございます。

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

QTでは普通、どのモジュールからもuiオブジェクトから個々の部品オブジェクトにアクセスするものなんでしょうか
286デフォルトの名無しさん: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デフォルトの名無しさん:2012/04/14(土) 12:46:35.96
>>285
その部分だけ ui じゃなくて、コードを使って GUI を作ったら?
そしたら、toolBar から簡単に子供を取れるんじゃないかな。
288デフォルトの名無しさん:2012/04/14(土) 13:39:19.28
じゃあ、toolbar->actions()から自分で検索すれば?
289デフォルトの名無しさん:2012/04/14(土) 14:11:50.67
スレチかもしれんが、286のついでに。

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

アイコンのファイル icns を作るには、Img2icns というアプリが便利だった。
http://www.macupdate.com/app/mac/18369/img2icns
290デフォルトの名無しさん:2012/04/14(土) 14:13:37.19
ちなみに、286 の方法なのですが、snow leopard でコンパイルしたものは、
qt4 をインストールしていない lion で動きました。
10.5 はよくわからんです。
291デフォルトの名無しさん:2012/04/14(土) 14:57:30.19
QT Creatorには新しいファイルの追加でC++ソース、ヘッダの追加は可能ですが
新しいフォルダの追加というのが見つかりません。
ソースファイルを下位フォルダを作成し仕分けする、というようなことは
できないのでしょうか
292デフォルトの名無しさん:2012/04/14(土) 15:12:45.71
できますよ
293デフォルトの名無しさん:2012/04/14(土) 15:15:07.65
>>291
そんなもの下位フォルダ作ってソースをそこに置いて.pro書き換えればいいだけ。
何でもRADツールの機能に頼らないで、.proを手で編集することくらい覚えないと
使いこなせないよ。

つーか.proを直接編集する方が早いし、自由も利く。コメントも書けるし。
294デフォルトの名無しさん:2012/04/14(土) 15:17:20.81
よく解らなくて、すいませんありがとうございました。
295デフォルトの名無しさん:2012/04/14(土) 15:40:33.93
291です。
>>292
>>293
レスありがとうございます。
今までは既存ファイルの追加で新しいファイルを追加していたので
新しいフォルダの作成は気に留めていませんでした。
.proの編集はライブラリ追加等で触っているので出来なくは無いのですが、
可能であればGUIから追加したいと思っていたのですが・・・。
296デフォルトの名無しさん:2012/04/14(土) 16:37:06.65
新しいファイルの追加で出てくるダイアログで右クリックしたらディレクトリくらい作れるだろ
297デフォルトの名無しさん:2012/04/14(土) 16:49:14.93
Qtで作成したアプリケーションってデバッガ上じゃなきゃ動作しないのに
なんで人気なの?
298デフォルトの名無しさん:2012/04/14(土) 16:55:12.51
>>297
ha? Google EarthやPhotoshop Elementsがデバッガー上で動いてたか?
299デフォルトの名無しさん:2012/04/14(土) 17:04:09.99
>>297
んなわけないだろ?
QtのbinディレクトリにPATH通してないんじゃないのか?
300デフォルトの名無しさん:2012/04/14(土) 17:06:15.77
>>295
ヤレヤレ。
やたらにソース嫁ってのもどうかと思うが、こういうのはやっぱりゆとりなのか?
301デフォルトの名無しさん:2012/04/14(土) 18:27:02.18
>>293
ようやく理解できました。
フォルダがツリーに表示されている時はそこから追加、
フォルダが表示されるのはフォルダが必要になった時、なのですね。
先にフォルダだけ作ってからそこから新規作成するのだと思ってました。

>>300
申し訳ないです。出来れば煽りだけではなくソースの提示をお願いします。
302デフォルトの名無しさん:2012/04/14(土) 18:30:12.52
>>255と同じ臭いがする…
303デフォルトの名無しさん:2012/04/14(土) 19:02:13.24
馬鹿には無理
304デフォルトの名無しさん:2012/04/14(土) 19:22:14.51
286です。
このコマンドを利用したあとで、何度かコンパイルをしていたら
QWidget: Must construct a QApplication before a QPaintDevice
というエラーが出るようになりました。

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

特定のコンポーネント(渡しの場合はQProgressDialog)でのみ発生する可能性があるので、
気をつけたほうがよさそうでした。
305デフォルトの名無しさん:2012/04/14(土) 19:26:01.46
macは糞
306デフォルトの名無しさん:2012/04/14(土) 19:27:03.60
>>304
馬鹿には無理
307デフォルトの名無しさん: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デフォルトの名無しさん:2012/04/14(土) 19:30:06.78
なんで素人ってエラーメッセージ読まないんだろうな
309デフォルトの名無しさん:2012/04/14(土) 19:39:10.41
エラーメッセージからは
「QPaintDevice を 使う前に QApplication を作れ」
とだけしか読み取れないのですが。。。

問題が発生するアプリケーションを破棄し、リビルド -> デプロイ用にコマンド呼び出し
としたら直りました。
310デフォルトの名無しさん:2012/04/14(土) 21:23:02.15
既に Deploy したものを Qt Creator が上書きするのがよくないかもしれないですね。
毎回デスクトップにコピーしてから、それを Deploy 用にすることにします。
311285:2012/04/14(土) 22:17:28.95
レスありがとうございます

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

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

toolBar->serachAction('playButton');

みたいなことが出来ればいいのですが、
こういうメソッドはないのでしょうか?探しても見つからないです。
あまり需要がないということでしょうか。
コードでActionを生成しましょうということなのですかね・・
312デフォルトの名無しさん:2012/04/14(土) 22:22:59.77
ないときはつくれよ
313デフォルトの名無しさん:2012/04/14(土) 23:08:28.81
>>311
自分でsearchActionとやらを作れ
余裕だろ
314デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん:2012/04/15(日) 01:32:12.61
それでいいよ
319デフォルトの名無しさん:2012/04/15(日) 09:15:55.10
>>317
qtに限った話じゃないが、一気に作ろうとせず、ちょっとずつ挙動を
確認しながら作ってみたら?
どっかでイベントが呼び出されていないとか、間違った変数を使っているとかさ。
あと、見た目じゃなく qDebug() などでwidetの構成を出力してみたりとか。
本当は追加されているのだけど、paintイベントが走らず見えていないだけかもよ。

まずは問題箇所を切り分けないと。
320デフォルトの名無しさん:2012/04/15(日) 10:41:35.00
>>317
PySideだけどこんな感じで出来た
http://pastebin.com/vT7YTcwX
321デフォルトの名無しさん: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デフォルトの名無しさん:2012/04/15(日) 17:25:29.87
>>322
馬鹿の考え休むに似たりってやつか…
326デフォルトの名無しさん:2012/04/16(月) 21:30:16.10
せやから、AccessとQtは同じくらいおもしろい言うとるヤンか!
327デフォルトの名無しさん:2012/04/16(月) 21:57:23.61
なんのはなしやねん
328デフォルトの名無しさん: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デフォルトの名無しさん:2012/04/17(火) 16:55:33.56
エラーメッセージ貼れ
330デフォルトの名無しさん:2012/04/18(水) 01:49:52.57
エラーメッセージに原因が書かれてる
そこを直せばコンパイルできる
331デフォルトの名無しさん: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デフォルトの名無しさん:2012/04/20(金) 01:51:55.64
qt5 alphaをVS2010でビルドするとqtsvgでエラーでるんだが、誰かビルド成功したひといる?configureかperl buildが悪さしてるっぽいんだけど。
因みにqtbaseはビルドできて実行もできる。
しかも最新ソースをgitクローンしようとしたら途中で失敗する。
334デフォルトの名無しさん:2012/04/20(金) 17:04:00.67
>>333
問題なくビルドできたのはLinuxだけでした。
335333:2012/04/20(金) 22:14:44.58
>>334
その後、qtsvgでエラーの原因分かりました。
単純にconfigure時のsyncqtスクリプトで環境変数QTDIRを参照していて、
旧バージョンのパスC:\Qt4.x.xを参照していたのが原因でした。
でも今度はQtWebkitでicu何チャラがないみたいなエラーがでてしまった…。
336デフォルトの名無しさん: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デフォルトの名無しさん:2012/04/22(日) 10:32:28.78
EUCはオワコン
338デフォルトの名無しさん: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デフォルトの名無しさん:2012/04/23(月) 05:30:35.79
>>339
その代わりにフリッカを防ぐという利点がある。
341デフォルトの名無しさん:2012/04/23(月) 05:36:20.53
それって利点なの?
フリッカを防ぎたいときは単にpaintEventで描画すればいいだけで
paintEvent以外での描画を禁止する意味あるの?
342デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん:2012/04/23(月) 16:52:06.61
>345
VS2010はSP1かい?
もしアップデートしてないなら試してみてはどうかな
347デフォルトの名無しさん:2012/04/23(月) 18:34:04.07
>>346
そういえば、EXPRESS版からProにしたときにちゃんとSP1あてなおしたか
あやしくなってきました。後日、環境整えて再チャレンジします。
348デフォルトの名無しさん:2012/04/23(月) 19:35:28.08
>>343
>PAINTイベント以外で描画しても
>フリッカで困ったこと一度もないけどな
嘘をつくな、できる訳がない。

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

349デフォルトの名無しさん:2012/04/23(月) 19:44:54.47
>>344
>ちなみにフリッカとは関係ない
ウィンドウレベルでというのを理解してないな。
350デフォルトの名無しさん:2012/04/23(月) 22:15:55.17
恥の上塗りですね
わかります
351デフォルトの名無しさん:2012/04/25(水) 09:38:12.71
NOKIAがジャンク級になっちまったい。 いずれサムスンが買収かな?
サムスンQt... いやな響きだ。
352デフォルトの名無しさん:2012/04/25(水) 19:46:07.38
オープンソースなんだからフォークすりゃいいじゃん
353デフォルトの名無しさん:2012/04/25(水) 23:25:17.28
だれか・・・プラグインの追加方法を教えてください
>>338の方法では無理でした
354デフォルトの名無しさん:2012/04/26(木) 00:13:47.37
細かく見てないけど
Qt4.8.1 VS2010版だと何もしなくてもQTextCodecでEUC-JPからUnicodeになったよ
355デフォルトの名無しさん:2012/04/26(木) 00:35:35.98
パスが通ってないか拡張ファイルが目的の場所に生成されてない
356デフォルトの名無しさん:2012/04/26(木) 01:08:25.76
スタイルシートでUIの色変えるの、なんかめちゃくちゃ大変なんだけど。
どのパーツのどの状態とか、わけわからん。
Qt使ったアプリが流行ってるっていうけど、ほんとにこんなのみんな使ってるの?
357デフォルトの名無しさん:2012/04/26(木) 07:32:01.70
>>356
Qtのスタイルシートは、失敗作で、使ってはならない機能です。
もう改善もバグの修正もされません。
スタイルシートは、駄作だけれど、他によいところは沢山ありますよ。
358デフォルトの名無しさん:2012/04/26(木) 07:53:12.63
CDSCSS
359デフォルトの名無しさん:2012/04/26(木) 08:00:20.64
でもスタイルシート使わないと出来ないこともあるんでね?
360デフォルトの名無しさん:2012/04/26(木) 10:53:03.77
Qtは失敗作だらけじゃん
それが証拠にQtが使われたプロジェクトなんて極々わずかw
361デフォルトの名無しさん:2012/04/26(木) 11:48:26.79
だらけって...他は?

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

産業機器とかの世界とか、知らないだろ?
必死にネガキャンするのは、何でかねぇw
362デフォルトの名無しさん:2012/04/26(木) 12:01:38.96
☆ 午後からはQt vs WPFをお送り致します。お楽しみに! ☆
363デフォルトの名無しさん:2012/04/26(木) 12:04:30.34
Qtを使ってて、一番普及しているアプリは、KDEだよ。
Windows 使ってて、モバイルぐらいしか興味がない人には、どうでもいいことなんでしょうけど。
それならターゲットに合わせて、素直にC#とか、Objective-Cとかやればいいのに。
creator でたから、急激にWindows ユーザーが、このスレに増えたけど、正直何を期待して
わざわざやるのか俺には理解できない。
やたら、もう終わりとか言ううざい人がいたりするけど、Linuxがどうでもいいのなら、Qtは最初から
終わってますよ。
364デフォルトの名無しさん:2012/04/26(木) 12:06:02.43
>失敗作だらけ
なのに
>使われたプロジェクトなんて極々わずか
365デフォルトの名無しさん:2012/04/26(木) 12:59:53.72
>> 359
カスタムスタイルかQProxyStyleがあれば十分、
スタイルシートはQProxyStyleと同じ考え方で作られている
366デフォルトの名無しさん:2012/04/26(木) 16:38:23.28
>>363
> creator でたから、急激にWindows ユーザーが、このスレに増えたけど、正直何を期待して
> わざわざやるのか俺には理解できない。

俺(と言うかウチ)の場合は死に体のC++ Builderからの乗り換え。書きためた資産があるから、
簡単にC++から他の言語に移行できないし。
367デフォルトの名無しさん:2012/04/26(木) 16:42:22.20
>>366
VC++じゃだめなん?
368デフォルトの名無しさん:2012/04/26(木) 18:26:47.08
>>367
MFCなんか使う気がしない。
.NETだとC++/CLIになって、ANSI C++で書かれた資産が利用できない。
369デフォルトの名無しさん:2012/04/26(木) 20:10:33.68
凄いなぁ。
BCBから乗り換えたかったけど、いろいろと違いすぎて30分で諦めた。
370デフォルトの名無しさん:2012/04/26(木) 21:31:07.77
>>363
どう考えてもPhotoshopやGoogle Earth、Operaの方が普及してると思う
371デフォルトの名無しさん:2012/04/26(木) 21:44:07.41
流石にOperaよりはKDEの方が
372デフォルトの名無しさん:2012/04/26(木) 21:57:53.77
>>369
さすがに30分は早すぎるんじゃぁ...
乗り換えるんだからいろいろ違うのは覚悟の上。Qtはまだ違いが少ない方かも。

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

でもBCBはC++だからまだいい方。Delphiの人はどうするんだろう...
373デフォルトの名無しさん:2012/04/26(木) 22:50:25.32
エンバカデロ死に体なのか
374デフォルトの名無しさん:2012/04/26(木) 23:25:44.85
>>373
一例を挙げると、一時は一日に10件や20件の書き込みがあったメーリングリストに
閑古鳥が鳴いて、数週間や酷いと数ヶ月に1件になった。完全に取り残されたと
思った。

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

そこへ持ってきて2009版で大きな仕様変更が行われたのに、ドキュメント(ヘルプ)が
嘘だらけの無茶苦茶でわけわからなかったのが乗換えを決断する決め手になった。
375デフォルトの名無しさん:2012/04/26(木) 23:45:18.67
会社の名前が変わった時点で開発環境が捨てられ気味に見えたもんなぁ
今の有様を考えると当時の印象は間違ってなかったってことか
昔は開発環境としてMSとガチで殴り合ってた会社だったのにな
376デフォルトの名無しさん:2012/04/26(木) 23:57:04.15
C++Builderは1から使ってたけど嫌になった最大の原因はヘルプの出来がひどすぎること
バージョンアップよりヘルプまともにするほうがよほど重要なのに
377デフォルトの名無しさん:2012/04/27(金) 00:29:52.36
>>375
Turbo C 対 Quick Cの時代が懐かしい...Turbo Cは本当に出来が良かった。
今思うとBCB3〜6位が最盛期だったかな。

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

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

Qtも新機能優先のところが見えるけど、BCBよりずっとマシ。
ドキュメントは英語だけど、遥かに充実してる。
378デフォルトの名無しさん:2012/04/27(金) 00:39:44.62
時代のせいかもしれないけどQtはホント太っ腹に作られてる
379デフォルトの名無しさん:2012/04/27(金) 03:30:39.50
Qt4.7.4Linux版を使用しています
QPushButtonの色を変えるのにsetPaletteを利用していたのですが、
qtconfigのGUIスタイルがGTK+の時だけ色が変わりません
GTK+の時でもスタイルシートなら変更できるんですが、setPaletteでなぜ変更できないんでしょうか?
以前は変更できていたのでデスクトップ環境の設定がおかしいのかもしれないのですが……上手く調べられません
380デフォルトの名無しさん:2012/04/27(金) 12:46:06.54
>>379
スタイルによっては、パレットを部分的に参照していないものがあります。
qgtkstyle.cppを読んで、変える方法を考えてみてはどうでしょうか。
381デフォルトの名無しさん:2012/04/27(金) 12:51:18.37
>>372
30分は大げさに言い過ぎたけど、
クイックレポートを多用してたから諦めた。
382デフォルトの名無しさん:2012/04/27(金) 17:09:17.79
>>381
あぁ、なるほど。それは厳しいね。
誰かそういうもの作ってないかな...
383デフォルトの名無しさん:2012/04/27(金) 20:58:19.64
クイックレポート って何?
384デフォルトの名無しさん:2012/04/27(金) 23:46:47.55
Qtデザイナでフォームにボタンやテキストなどを貼り付けていく感じで、
紙状のフォームにテキストや線やデータベースなどを貼り付けて、
印字帳票をデザインするdelphiやBCBに昔付属してたツール
385デフォルトの名無しさん:2012/04/28(土) 11:49:54.99
Delphiもオブジェクト指向言語でポインタもあるし、案外障害はないんじゃね
愛用のコンポーネントの代替がないとかいうのはどうしようもないが

それよりも、プロパティの機能があっちに比べてだいぶショボいのがイラつくかも
386デフォルトの名無しさん:2012/04/28(土) 18:07:21.67
>>385
属性機能ってどんなところが便利なの?
387デフォルトの名無しさん:2012/04/28(土) 22:17:56.23
Qtも逆境続くなぁ。
KDEと統合したりしないのかね?
388デフォルトの名無しさん:2012/04/30(月) 00:19:38.21
自業自得
389デフォルトの名無しさん:2012/04/30(月) 20:59:31.01
Javascriptが世界を支配する日 - DQNEO起業日記
http://dqn.sakusakutto.jp/2012/04/javascript_14.html

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

JavaScriptのVMは何の言語で書かれてるの?
てめえの使ってるブラウザは何の言語で書かれてるの?
てめえの使ってるOSは、デバイスドライバは、何の言語で書かれてるの?
JavaScriptで書かれてる業務系や基幹システムどれだけあんだよ?小数点切り捨てたら0%じゃねえの?
科学技術計算は?ゲームプログラムは?コンピュータグラフィックスは?
390デフォルトの名無しさん:2012/04/30(月) 21:14:26.20
JavascriptはVMじゃなくinterpreterでしょ。
あとinterpreterはFortranかもしれないしCかもしれない
Delphiだってありうるし、GCJでコンパイルしたPure Javaかもしれない
391デフォルトの名無しさん:2012/04/30(月) 21:29:20.00
横レスだけど、それ論点が違うんじゃないかなぁ・・・
392デフォルトの名無しさん:2012/04/30(月) 21:29:41.63
393デフォルトの名無しさん:2012/04/30(月) 21:54:04.56
QML最強ですねわかります
394デフォルトの名無しさん:2012/04/30(月) 21:58:09.08
うん(力なく)
395デフォルトの名無しさん:2012/04/30(月) 21:59:40.72
同意せざるを得ない
396デフォルトの名無しさん:2012/04/30(月) 22:10:54.44
>>392
多いって・・・。V8だけじゃん。
397デフォルトの名無しさん:2012/04/30(月) 22:22:32.75
そういや、RhinoとJScript.netもあったねぇ。
Rhinoが本当にVM式なのか、VM上で動くInterpretorなのかは知らんけど。
398デフォルトの名無しさん:2012/04/30(月) 22:57:56.69
Qtで作成したアプリもやたらもっさり感満点なのはなんで?
399デフォルトの名無しさん:2012/04/30(月) 23:05:30.43
>>398
俺はそんな感じしないけどなぁ。どんなアプリ?
400デフォルトの名無しさん:2012/04/30(月) 23:22:33.90
うんこなう
401デフォルトの名無しさん:2012/04/30(月) 23:36:22.50
QtCore4.dllとかQtGui4.dllとか同梱されてるアプリは
100%Qt製と思ってええのん?
402デフォルトの名無しさん:2012/04/30(月) 23:36:48.38
Qtで作るともっさりなんじゃなくて、Qtに限らず普通に作るともっさりになりがち
さくさく動くアプリは開発者がさくさく動くように作ってるんだよ
もっさりなのが多いのは開発者がタコかそこに力を入れてないだけ
403デフォルトの名無しさん:2012/04/30(月) 23:51:05.56
同意せざるを得ない
404デフォルトの名無しさん:2012/05/01(火) 00:00:29.26
ユーザーの誤操作で誤動作するプログラムはくそだって
昔、先生がいっていました。
405デフォルトの名無しさん:2012/05/01(火) 00:08:51.78
>>404
当たり前すぎ
406デフォルトの名無しさん:2012/05/01(火) 00:09:14.04
車も原発も糞
407デフォルトの名無しさん:2012/05/01(火) 00:20:53.65
業務系では運用で回避が基本なのでプログラムではなくてオペレータの責任です
408デフォルトの名無しさん:2012/05/01(火) 07:19:08.02
>>407
業務系って、どこの業界だよ。
409デフォルトの名無しさん:2012/05/01(火) 09:10:11.73
>>393
>QML最強ですねわかります
スケーラビリティがあればね。小物アプリまでならとてもいい。
410デフォルトの名無しさん:2012/05/01(火) 14:03:43.87
「QMLはただの選択肢」ってたまにNokiaの人がブログに書いてるけど
選択肢が増えるのって、この業界じゃあんまいいことじゃないんだよな・・・
JavaScriptが嫌われるのもブラウザ戦争による無駄な苦労が大きそうだし
411デフォルトの名無しさん:2012/05/01(火) 16:34:44.05
携帯小物アプリならば選択肢にはなるけれど、CADや複合機などでは選択肢にすらなり得ない。
412 【吉】 :2012/05/01(火) 17:11:17.09
おみくじ
413デフォルトの名無しさん:2012/05/02(水) 00:01:21.93
あ〜

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

公式に書いてある方法じゃ通らないよ
パス通しても・・・
414デフォルトの名無しさん:2012/05/02(水) 00:47:04.00
その程度こともできないで、今時Qtを使う理由ってなんなの?
415デフォルトの名無しさん:2012/05/02(水) 00:58:19.40
C++入門として最適
416デフォルトの名無しさん:2012/05/02(水) 11:22:38.73
>>413
QCoreApplication::addLibraryPath() はやってみた?
417デフォルトの名無しさん: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デフォルトの名無しさん:2012/05/02(水) 13:46:41.68
>>417
・Q_OBJECTと書いたヘッダーファイルをプロジェクトに加えておく
 (.proファイルのHEADERSのところに書いておく)

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

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

先程、新規プロジェクトを立ちあげて、テストクラスを作成したところ
QGLWidgetを継承したサブクラスでsignal,slot共に作成できることが確認できました。
もしかしたら、コンパイル設定がどこかおかしくなってしまったのかもしれません。
一度、新規プロジェクトに作成してソースコードその他を再度登録してコンパイルを試してみます。
420デフォルトの名無しさん:2012/05/02(水) 22:04:35.35
clang++でqt使ってる人いる?
コンパイラーとリンカー、qmakeのどこで指定すんだっけ?
421デフォルトの名無しさん:2012/05/03(木) 00:24:16.82
Qt 5はclang++になっているのでそれを見てみては?
422デフォルトの名無しさん:2012/05/03(木) 01:49:43.03
>>419
qmake実行と同じことだと思うけど、Makefike類をいったん全部消してもダメ?
423デフォルトの名無しさん:2012/05/03(木) 03:22:37.26
俺は意味不明なエラーになったときは全てクリーンしてリビルドするとだいたい直る気がするw
424デフォルトの名無しさん:2012/05/03(木) 06:48:15.77
>>423
この現象は、それでは直らないんだよ。
原因は、新たにmocで処理しなければならないファイルが増えたのでMakefileを
作り直さなければならないことを、qmakeが認識できてないことにあるらしい。
俺もよくわかってるわけじゃないんだが。

クリーンとかリビルドってのは、コンパイル以降の話なのでこの場合は無関係
だと思う。
425デフォルトの名無しさん: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デフォルトの名無しさん:2012/05/03(木) 08:15:16.70
>>425
だよね。俺も経験あって、それで>>418を書いたんだけど、>>417サンの場合は何で
直らないんだろう?
428デフォルトの名無しさん:2012/05/03(木) 23:24:02.71
BlackBerryがQt採用
429デフォルトの名無しさん:2012/05/04(金) 01:53:41.99
QMLだけ対応とかなら
いらないです
430デフォルトの名無しさん:2012/05/04(金) 08:45:22.50
携帯電話向けのQML以外はオープンソースだから自由にやればよい。
NokiaのTroll達はうまい逃げ場を作ったものだ。
431デフォルトの名無しさん:2012/05/05(土) 03:24:01.02
fakevim vimrcひろいあげないんだな。
http://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デフォルトの名無しさん:2012/05/06(日) 03:15:34.79
>>432
>オープンソースのものをとりあえずコンパイルしてみたいという段階の初心者なのですが、
であれば、CMakeは使わずにMinGWを使えば簡単にコンパイルできます。
434432:2012/05/06(日) 12:09:53.94
レスありがとうございます。
フリーのソフトのプロジェクトをビルドしたい感じでして、
INSTALLファイルを見てみるとcmakeでビルドするように書いてあるのです。

ディレクトリ構成がMinGWでビルドする用になっていない気がしまして・・
あまり関係無いでしょうか。
435デフォルトの名無しさん:2012/05/06(日) 13:16:55.75
>>434
>フリーのソフトのプロジェクトをビルドしたい
まず、mingw 4.4、ActivePerl(http://www.activestate.com/activeperl)をインストールし、
qt-everywhere-opensource-src-4.8.1.zip(http://qt.nokia.com/downloads)を展開します。
これでビルドして使えるようになります。
>configure.exe
>mingw32-make.exe
>mingw32-make.exe docs

Qtを使うだけならば、http://qt.nokia.com/downloadsのSDKでインストールすれば楽です
436デフォルトの名無しさん:2012/05/07(月) 01:54:52.20
Debian + Qt2.8.1 にアップデートしたら、
QNetworkManager が、RC4 暗号化を使ってる https サイトに接続できなくなった、、、

デバッガで追うのは明日以降にして、バージョン戻し中、、、
徹夜しそう、、、orz
437デフォルトの名無しさん:2012/05/07(月) 02:13:12.80
バージョン戻したら動いてくれて助かった、、、
とりあえず LD_LIBRARY_PATH で回避。
438デフォルトの名無しさん: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デフォルトの名無しさん:2012/05/08(火) 17:11:14.14
clang早く来てくれー
440438:2012/05/08(火) 19:10:19.57
sourceforgeが込んでてMinGWのアップデートに失敗、4.6.1と4.6.2が混在している状態だったので死んでただけだったorz
441デフォルトの名無しさん:2012/05/08(火) 22:37:44.62
QGraphicsWebviewでスクロールするとflashがずれるのどうにかならんかなー
442デフォルトの名無しさん:2012/05/08(火) 23:16:16.53
PyQt4を使っています。
http://pastebin.com/qXE22gg9
のようなコードを書いてscrollAreaの中に縦の長さが動的に変化する(動的にlayoutに追加している)Widgetを組み込んでおり、横方向はscrollAreaに合わせ、縦はボタン数に応じて伸長するようにさせたいのですが、どうしたらいいのでしょうか?
adjustSize()では横方向の大きさがあわず、しかもなぜかspinBoxの値が2の時にbuttonPanelの大きさが変わっていないのかボタンが小さくなってしまいます(3以降は逆にだんだん大きくなっていきます)。
ButtonPanelをButtonLayout(QVBoxlayoutを継承しButtonPanelの機能を持たせたクラス)に変えたら、横方向はぴったりなのですが、中身が縦方向に伸長しませんでした。
443デフォルトの名無しさん:2012/05/09(水) 01:04:48.20
Qtを初めて使ったのですが、デバッグについて質問させていただきます。

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

QtSDKをインストールする以外にデバッグを行うためには細かな設定が必要なのでしょうか?
それとも、インストール時の問題なら、再度入れなおしてみるのですが・・・
444デフォルトの名無しさん:2012/05/09(水) 01:14:13.81
Qtを初めて使ったのですが、痛くてとても入りません。
445デフォルトの名無しさん:2012/05/09(水) 01:36:42.63
>>442
俺が適当に書いたサンプルコードをそのまま使うなよ…
ButtonPanel.__init__で
self.layout.setSizeConstraint(QLayout.SetFixedSize)
でいけた(PySideで確認)、他にはボタンのminimumSizeやsizePolicyをいじるとか
446デフォルトの名無しさん:2012/05/09(水) 07:28:06.74
>>443
VC++で使うならWindows SDKのDebugging Tools for Windowsを入れないとダメだったと思う
よくわからないけどとりあえず触ってみたいってことならMinGW版のSDK入れればそのままいけたはず
447デフォルトの名無しさん: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を実行してこのファイルを生成して下さい。・・・」
のような表示が出るのですが、ジェネレータの選択オプションが空になっており
何も選べず、先に進めません。このジェネレータとは何なのでしょうか?
どうすれば先に進めるか教えていただけると嬉しいです。


http://toro.2ch.net/test/read.cgi/tech/1329530477/401-500
449デフォルトの名無しさん:2012/05/09(水) 15:12:17.28
>>442
こんな感じで
http://pastebin.com/BX82WLxu
450デフォルトの名無しさん:2012/05/09(水) 20:10:22.78
あの本出てるぞ。今度は出す出す詐欺じゃなくて、マジで出た
451デフォルトの名無しさん:2012/05/09(水) 20:12:06.10
実践Qt4?
誰か買った奴いないの
452デフォルトの名無しさん:2012/05/09(水) 20:50:32.40
後数ヶ月でQt5がリリースされるタイミングで出されてもという気がしないでもない
453デフォルトの名無しさん: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デフォルトの名無しさん:2012/05/09(水) 21:51:09.09
>>455 っておれ?
456デフォルトの名無しさん:2012/05/09(水) 21:52:59.95
>>454です。
安価が間違っていました。>455ではなく>>445でした。
457デフォルトの名無しさん:2012/05/09(水) 22:12:39.05
>>451
買った
458デフォルトの名無しさん:2012/05/10(木) 08:35:57.77
Qt 5も出す出すと、また延期。現状ボロボロだからまたまた延期で、
出ても使えるようになるのは5.1か5.2。
459デフォルトの名無しさん:2012/05/10(木) 18:32:09.70
まるで MS の製品の話を聞いているようだ
460デフォルトの名無しさん:2012/05/10(木) 19:10:20.80
Qt Projectになってから収拾が付けにくくなっているな。Qt 4との互換性も徐々にないがしろにされていっているし。
Troll達がNokiaで生き残るためにはそれしか方法がなかったのだろうが。
461デフォルトの名無しさん:2012/05/11(金) 00:13:16.56
馬鹿には無理
462デフォルトの名無しさん:2012/05/11(金) 14:34:24.48
質問です。
QLineEditを用いて、文字入力をしているのですが
その際、一つ実現出来ない機能があって悩んでます。。。
文字を入力する際、QLineEditに表示されているカーソルを
「|」ではなく「_」にして、線を文字の下に表示するように
したいのですがどうすれば出来ますでしょうか?
また、「_」は全文字ではなく、常にカーソルがある位置にある
文字の下にのみ「_」を表示させたいです。
463デフォルトの名無しさん:2012/05/11(金) 15:11:50.94
アンダースコアが入らないってこと?
464デフォルトの名無しさん:2012/05/11(金) 15:23:11.43
ばかですか?w
465デフォルトの名無しさん:2012/05/11(金) 15:27:56.53
>>463
アンダースコアは入力出来るのですが、
カーソルの位置にある文字の下にアンダースコアが入れられずに悩んでる状況orz
例えば、TextEditに文字が無い場合はTextEditの先頭で"_"が点滅していて、
「a」と入力するとaの下で"_"が点滅。
右のキーを押すと"_"がaの隣に移動して点滅という具合です。
466462,465:2012/05/11(金) 15:31:50.63
>>463
少し訂正です。
「カーソルの位置にある〜」と書きましたが、
そもそもEdit上で点滅しているカーソルを"|"ではなく"_"にしたいという考えです。
467デフォルトの名無しさん:2012/05/11(金) 16:07:33.55
QLineEdit の派生クラスを作って、カーソルを自前で描画すればいいのでは?
468デフォルトの名無しさん: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デフォルトの名無しさん:2012/05/11(金) 16:25:43.66
>>466
これかな
Change QLineEdit text cursor shape | Qt DevNet forums | Qt Developer Network
http://qt-project.org/forums/viewthread/1156
470462,465:2012/05/11(金) 16:39:02.92
>>467
描画して点滅させるってことは、タイマー制御で?
そこまでやらなきゃいかんのか・・・なんておもったら、
どうやらご指摘通りやらないとダメなようですね
(プロパティを変更して終了ってわけではないって事ですな)

>>468-469
参考ページ有難う!
丁度似たようなページ
http://vivi.dyndns.org/vivi/docs/qvi/qvi-002.html
を見ていて、「幅しか返られないのかぁ」なんておもってたら、
その続きがあったのですね。
参考にさせて頂きます。
471462,465:2012/05/11(金) 18:38:55.33
結果報告
>>468のサイトよりソースをダウンロードし、
それをカスタマイズすることで意図する動作となりました。
有難うございますm(_ _)m
472デフォルトの名無しさん:2012/05/11(金) 21:38:20.94
お役に立ててなによりでござるぞ
473デフォルトの名無しさん:2012/05/13(日) 05:29:52.98
Iビーム
474デフォルトの名無しさん:2012/05/13(日) 14:07:33.12
475デフォルトの名無しさん:2012/05/13(日) 15:46:31.29
これは・・・
デスクトップ向けのC++部分はintelが買い取ってくれないかな
476デフォルトの名無しさん:2012/05/13(日) 17:49:23.69
そだね、インテルかIBMがいいね。Google だとバグだらけ。
477デフォルトの名無しさん:2012/05/14(月) 13:41:24.44
macやlinuxでQWinHostみたいなのありますか?
478デフォルトの名無しさん:2012/05/14(月) 14:10:31.83
googleは自社で開発できる能力はなく、買収しかできないからなw
479デフォルトの名無しさん:2012/05/14(月) 14:32:54.40
あります
480デフォルトの名無しさん:2012/05/14(月) 17:41:34.85
やっぱ、最終的に勝つのは、プログラム界のブラジル・Gtkだな・・・
481デフォルトの名無しさん: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デフォルトの名無しさん:2012/05/14(月) 19:14:10.26
>>481
>>4のQtってVS2008のだけど2010のやつ使ってる?
483デフォルトの名無しさん: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デフォルトの名無しさん:2012/05/15(火) 11:39:35.53
>>483
pro ファイルを開いて、stddef.h の行があったら、それを削除するとどう?
485481: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
486481: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
487481: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'
488481:2012/05/15(火) 13:42:57.56
ソースはここのを改変したもの
http://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サンプル
http://twolinux.blogspot.jp/2010/10/writing-simple-media-player-in-qt.html
もほぼ同じエラーになります…
489デフォルトの名無しさん:2012/05/15(火) 14:34:28.80
http://qt-project.org/doc/qt-4.8/phonon-module.html
こういうのとか読んでみた?
Phonon使うには.proファイルに
QT += phonon
を加えてPhononモジュールをリンクしないと使えないよ
490481:2012/05/16(水) 10:37:44.52
>>489
!!!!動きました!!!!

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

こんな初歩的な質問に答えて頂きありがとうございます。
491デフォルトの名無しさん:2012/05/18(金) 01:17:14.81
Qt 4.8でinitializeGLFunctionsで落ちるんですが原因わかりますでしょうか?
492デフォルトの名無しさん:2012/05/18(金) 02:21:16.37
環境くらい書けよ
493デフォルトの名無しさん:2012/05/18(金) 06:49:21.39
環境
494デフォルトの名無しさん:2012/05/18(金) 08:56:36.00
>>491
プロジェクトのオプションで、実行環境がデフォルトのビルド環境になっているとエラーが出る。
システムか、クリーンにするべし。
495デフォルトの名無しさん:2012/05/18(金) 08:56:51.68
4.8.0以降はglut全滅。というかincludeすらしてないよ。
4.7.4にもどしたらいい。
496デフォルトの名無しさん:2012/05/18(金) 14:00:54.98
>>495
プラットフォームに合わせて、GLUT/glut.hかGL/glu.hをincludeすればglutは使えるし、
QMatrix4x4などでglutを使っているのを書き直せばglutなしにもできます。
497デフォルトの名無しさん:2012/05/18(金) 19:05:25.50
今一番安定なのは4.7.4かな
498デフォルトの名無しさん: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デフォルトの名無しさん:2012/05/19(土) 19:46:56.74
え?まじで・・・

Qtでタブレットアプリ作れるのはいつやら・・・
502デフォルトの名無しさん:2012/05/19(土) 20:33:43.48
KDEタブレットがあるじゃないか
503デフォルトの名無しさん:2012/05/19(土) 20:48:03.48
>>501
Nokiaが関わる以上だめたね。QtはNokiaに潰された。
504デフォルトの名無しさん:2012/05/20(日) 01:54:17.51
Nokiaももうすぐつぶれる
505デフォルトの名無しさん:2012/05/20(日) 02:35:06.96
年末迄持たないだろうね。
506デフォルトの名無しさん:2012/05/20(日) 20:33:36.31
すなおにアンドロイド機種だせばよかったのにね
507デフォルトの名無しさん:2012/05/21(月) 14:47:43.23
QTableWidgetで列の幅の自動調整はできませんか?
ラベルにあわせたり、テーブルの横幅に合わせて等幅にしたりしたいです
508デフォルトの名無しさん:2012/05/21(月) 15:03:13.48
QAbstractItemDelegate::sizeHintとか
509デフォルトの名無しさん:2012/05/22(火) 21:02:45.57
Qt Projectは、Nokiaに見放されようとしているTrolltechの開発者の逃げ場として考え出されたもので、
Qt 5でサポートされる機能も、Nokiaに拾ってもらおうとしているものだけをやろうとしている。
それ以外のものは、オープンソースにしたので、メンテナがいないからサポートされないと逃げている。
510デフォルトの名無しさん:2012/05/24(木) 06:14:53.63
すっごい初歩の質問で申し訳ない

すでに最新のMinGWはインストールされてるんだけど
QtSDK付属の古いMinGWを一緒に入れてQtからはそっち使うようにしたほうがいいんかな
511デフォルトの名無しさん:2012/05/24(木) 06:40:35.38
なんだオワコンか
512デフォルトの名無しさん:2012/05/24(木) 14:59:57.45
勝手に買収しといて、ポイ捨てとは・・

Nokiaに殺意すらおぼえる。全Qtプログラマーの恨みをひとえに買うことだろう。
513デフォルトの名無しさん:2012/05/24(木) 15:15:34.21
iPhoneもAndroidも使えないマルチプラットフォームって
514デフォルトの名無しさん:2012/05/24(木) 20:05:43.19
4.7から4.8にしようと思ったら変わり過ぎてて死んだ。他の皆はスムーズに移行できてるんだろうか。
515デフォルトの名無しさん:2012/05/24(木) 20:22:50.97
20レス位上
516デフォルトの名無しさん:2012/05/24(木) 20:47:34.87
4.7.4がこの先10年使われるようになるとは
まだ誰も思ってなかった
517デフォルトの名無しさん:2012/05/25(金) 03:23:59.11
p = fork(qt);
assert(p->version <= 4.7);
518デフォルトの名無しさん:2012/05/25(金) 08:00:01.30
>>513
>iPhoneもAndroidも使えないマルチプラットフォームって
この2つを正式サポートしないというのはとってもおかしい。
519デフォルトの名無しさん:2012/05/25(金) 08:10:50.44
リナザウみたいにQtを根底から使うならともかく
アプリケーション毎に数10M余計に配布するなんてアホみたいだからな
520デフォルトの名無しさん:2012/05/25(金) 14:59:41.74
いやQt for Androidはランタイムはランタイムだけで1パッケージになってる
521デフォルトの名無しさん:2012/05/25(金) 17:07:36.22
今時「ランタイムを別途インストールしておいて下さい」なんてもっとありえないわ。
522デフォルトの名無しさん:2012/05/25(金) 17:44:39.17
自動的にインストール画面になる
とりあえず知らないなら語るな恥ずかしいから
523デフォルトの名無しさん:2012/05/25(金) 18:35:00.16
Qt for Androidってどのくらいできてんの?
524デフォルトの名無しさん:2012/05/25(金) 19:33:50.56
>>522
自分の説明不足を勝ち誇られても
525デフォルトの名無しさん:2012/05/25(金) 19:59:50.17
別に君が素晴らしいシステム作ってコアメンバーと協議の上マージしてもいいんだよ?w
526デフォルトの名無しさん:2012/05/25(金) 22:13:28.70
身売りしなければ自ら手をつけたが、妨げになるから直接手を出さないのだよ。
527デフォルトの名無しさん:2012/05/25(金) 22:22:07.54
>>523
アクセラレーションが効かない程度
528デフォルトの名無しさん:2012/05/28(月) 19:01:01.61
>>521
>今時「ランタイムを別途インストールしておいて下さい」なんてもっとありえないわ。
Windowsではそうするのがずっとそして今も当たり前。
529デフォルトの名無しさん:2012/05/28(月) 19:35:03.88
>>528
Windowsで商用ソフトの場合インストーラーでそこを解決するからね。

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

今はアメーバピグが必要なflashランタイムのバージョン上げただけでどうすれば良いのかわからないユーザーが大量に出て阿鼻叫喚の騒ぎになる世の中。
530デフォルトの名無しさん:2012/05/28(月) 19:55:44.63
だからと言って
popup出てきたらとりあえずインストール続行してください
とか勝手に習慣付けてしまうと
ウィルスやスパイウェアの蔓延につながる
531デフォルトの名無しさん:2012/05/28(月) 20:01:25.75
だから多少配布サイズが大きくなろうが必要なランタイムはインストーラーに全部入りで配布されるのがwindowsでは主流になってる訳で。

それが気持ち悪いとか無駄だとか思ってしまう人間はこっちの側の人間だから、大多数の物のわかってないお客様に合わせるしかない。
532デフォルトの名無しさん:2012/05/28(月) 22:00:19.35
スラド民はどっかいけ
533デフォルトの名無しさん:2012/05/28(月) 22:56:48.90
また奴らがなにかやらかしたのか
534デフォルトの名無しさん:2012/05/29(火) 10:46:50.33
>>531
だって開発ソフトの話だろ?
C++でプログラミングする奴が別途インストールに抵抗あるってのはわけわからんぞ
535デフォルトの名無しさん:2012/05/29(火) 11:09:13.87
いつからそんな話に
536デフォルトの名無しさん:2012/05/29(火) 13:27:21.90
>>535
520
537デフォルトの名無しさん:2012/05/29(火) 13:42:59.30
現在フォーカスしてるエリアごとにメニューバーに表示されるメニューを動的に消したり現したりしてるんですが
menuBar()->addAction( menu ) 
の処理が重いらしくフォーカスかえるごとにラグが発生するんですがこれって普通でしょうか
insertActionやmenu->menuAction()->setVisible(bool)でも同様に処理が遅くなるんですが
menu->addActionでは全く処理が遅くなりません
538デフォルトの名無しさん:2012/05/29(火) 13:45:31.31
>>536
それは開発ソフトの話じゃなくてエンドユーザーに配布する時の話じゃないのか
539519:2012/05/29(火) 16:06:09.46
みんなごめんよ…
540デフォルトの名無しさん:2012/05/29(火) 16:22:35.27
>>537
XPでmenu->menuAction()->setVisible(bool)使ってるけど重くないよ
そっちの環境は?
541537:2012/05/29(火) 16:25:51.91
>>540 Windows7 64bit
新規に立ち上げてmenuBarに追加なりしてみたけど
そっちのほうでは処理落ちがないみたいなので
どこか干渉してる気がしないでもないですけど
やってることはmenuBar()->addAction()だけなのに何故処理落ちがするんだろう
542デフォルトの名無しさん:2012/05/29(火) 17:35:12.43
>>539
謝る暇があったらどっちの話だったのかはっきりさせてよ。
543デフォルトの名無しさん:2012/05/29(火) 17:59:04.57
こんなん利用者側の話に決ってんだろ、コード書けて自分で遊ぶならその位できて当たり前

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

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

つかねスマホでこんな面倒な事をしたら☆一付けられちゃうぞ
何が言いたいかというとNokia氏ね
544デフォルトの名無しさん:2012/05/29(火) 19:08:47.05
☆1どころかインストールすらしてもらえないよ。
545537:2012/05/29(火) 19:29:04.75
QMainWindowのrestoreState()を削除してみたら処理落ちが消えました
iniファイルが膨大な量になってたのが関係してたみたいです
546デフォルトの名無しさん:2012/05/29(火) 20:45:16.15
デフォルトはレジストリなので大量だとおかしくなる気がするけれど、
iniファイルにするように変えているなら、大量でも問題なさそうな気がする。
547デフォルトの名無しさん:2012/05/31(木) 00:29:50.20
後免奈半利線
548デフォルトの名無しさん:2012/05/31(木) 13:44:31.55
Qt CreatorでVC++のコンパイラを使ってるんだけど
/MTとかコンパイラオプションを指定したい場合はどこですればいい?
549デフォルトの名無しさん:2012/05/31(木) 15:14:48.61
>>548
proファイルに以下の行を追加
QMAKE_CXXFLAGS += 追加のコンパイラーオプション
QMAKE_LFLAGS += 追加のリンカーオプション
QtCreaterのデフォルトのオプションが気に入らない場合は += ではなく = にして自分で全て設定する。
550デフォルトの名無しさん:2012/05/31(木) 16:23:55.42
>>549
レスありがとう。
レスを参考にやってみたところ、VC++でいう/NODEFAULTLIB:**はできました。
まだLNK2005エラーが出ていますがなんとかなりそうです。がんばります。
551デフォルトの名無しさん:2012/06/01(金) 15:24:52.75
今からQt覚えて人生ウハウハになるかな?
552デフォルトの名無しさん:2012/06/01(金) 15:32:19.79
ならない
AndriodとiOSをサポートする予定のC++Builderの方がまだいい
553デフォルトの名無しさん:2012/06/01(金) 15:32:53.35
俺はC++Builder買う金ないからQt使い続けるけど
554デフォルトの名無しさん:2012/06/01(金) 20:03:29.64
残念だけどQtは負け組み
悪貨は良貨を駆逐する
555デフォルトの名無しさん:2012/06/01(金) 20:24:21.14
ここが被害担当艦なのはわかるんだけど
みんな今はどこでQtの話してんの
556デフォルトの名無しさん:2012/06/01(金) 20:25:02.04
設計がいきあたりばったり感が満点だしな
557デフォルトの名無しさん:2012/06/01(金) 22:12:51.99
C++ BuilderはBorlandを離れてから腐りきったな。バグ多いし、ドキュメントは
無茶苦茶。
558デフォルトの名無しさん:2012/06/02(土) 00:06:41.79
なんかwin8で劇的にwindowsプログラミングの構造が変わりそうだな
MFCなんて勉強してる場合じゃないな
559デフォルトの名無しさん:2012/06/02(土) 02:01:12.84
Win8が出なくてもさすがに今時MFCを勉強してる場合ではないですよ?
560デフォルトの名無しさん:2012/06/02(土) 02:39:44.63
VS2012にもしっかりMFC入ってたしインストール項目の大項目の一つになってたけどな
561デフォルトの名無しさん:2012/06/02(土) 02:49:23.57
じゃあMFC勉強した方がいいね。Feature Packも
562デフォルトの名無しさん:2012/06/02(土) 10:39:05.06
ぶっちゃけこれからはWebの時代だからC++自体がダメだろ
JavaScriptとPHPの勉強しないと負け犬一直線
563デフォルトの名無しさん:2012/06/02(土) 15:34:21.21
JavaScriptとPHPの勉強してたら負け犬一直線
564デフォルトの名無しさん:2012/06/02(土) 15:37:38.80
WTLはあってもMFCは無いは〜
565デフォルトの名無しさん:2012/06/02(土) 15:39:59.41
>>562
んなもん派遣にやらせりゃいいような雑用だから
まとまった金にならん
566デフォルトの名無しさん:2012/06/02(土) 15:42:20.65
LLジャンキーは死滅しねーかなDSL並の糞言語ばかり作りやがって
567デフォルトの名無しさん: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デフォルトの名無しさん:2012/06/02(土) 15:55:29.15
http://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デフォルトの名無しさん:2012/06/02(土) 15:57:26.16
>>567
>>遅すぎてマトモに動きはしない。Javaで書いたOSに至っては、

Javaで書いたOSに至っては、
Javaで書いたOSに至っては、
Javaで書いたOSに至っては、
571デフォルトの名無しさん:2012/06/02(土) 16:00:29.78
高級アセンブリっていう人多少居るけど、
x86ニーモニックやCLIやJavaの中間コード、その他のニーモニックの様に
Cが他の言語のアセンブリ(他の言語の中間言語)として使用される事って殆ど無いよね。
572デフォルトの名無しさん:2012/06/02(土) 16:07:21.32
アーキテクチャ毎のスタックレイアウトやアラインメントを
考慮しないと扱えないからそういう呼び方がされる訳で
LLが爪切りならC/C++はカミソリ
簡単に広範囲を切り裂けるけど諸刃だし扱いは難しい
573デフォルトの名無しさん:2012/06/02(土) 16:09:02.01
さすが週末進行
574デフォルトの名無しさん:2012/06/02(土) 16:13:15.15
>>572 >>569にも有るように、LLってリソースを喰わない言語の事を言うんですけど
575デフォルトの名無しさん:2012/06/02(土) 16:23:47.60
>>574
http://ja.wikipedia.org/wiki/軽量プログラミング言語

ここは日本だぜこの国ではLL=スクリプト言語一般を指す
576デフォルトの名無しさん:2012/06/02(土) 16:25:22.40
>>568
車の様に日本が世界を牛耳ってる業界でもないのに
日本の一部でしか通じない独自表現をドヤ顔で主張されてもねぇ
577デフォルトの名無しさん:2012/06/02(土) 16:27:02.82
世界一般のLLの意味の方がガラパゴスな意味より明確だな
578デフォルトの名無しさん:2012/06/02(土) 16:27:40.25
主張とか便所の落書きにまぁ大層な事で
579デフォルトの名無しさん:2012/06/02(土) 16:28:13.33
まぁLLって言ったらスクリプトですね
580デフォルトの名無しさん:2012/06/02(土) 16:28:20.85
ガラパゴス・プログラマー。略してガラグラマー。いいかもしれん。
581デフォルトの名無しさん:2012/06/02(土) 16:30:39.93
>>579
インタプリターである必要もなくて
スクリプトってプログラムに組み込む制御言語なんだよな
582デフォルトの名無しさん:2012/06/02(土) 16:32:58.88
>>579
PerlやPythonはScriptじゃない(Scriptとしてもつかえるが)から
LLでは無いんだよな
583デフォルトの名無しさん:2012/06/02(土) 16:33:40.05
えっ
584デフォルトの名無しさん:2012/06/02(土) 16:34:49.36
さーてキナ臭くなってきなたな1ぬけた
585デフォルトの名無しさん:2012/06/02(土) 16:43:32.04
公式でスクリプトだなんて言ってる言語も少ないしなぁ。
シェルスクリプト(シェルの組み込み言語), JavaScript(元ブラウザ組み込み言語)
VBScript(元ブラウザ組み込み用に再設計された言語)てなかんじだし。
lispはコンパイルできるけど、Emacs上ならスクリプトと呼ばれる。
586デフォルトの名無しさん:2012/06/02(土) 16:44:47.45
こんなネタで伸びてるなんてQt死んだな
587デフォルトの名無しさん:2012/06/02(土) 18:53:19.39
だからスラド民は巣に帰れと(ry
588デフォルトの名無しさん:2012/06/02(土) 23:32:52.14
Nokiaに身売りした時点で死んでる。
589デフォルトの名無しさん:2012/06/02(土) 23:39:20.55
そういう問題じゃなくて、クラスの設計自体がOOPを知らない奴が
やっつけでやった仕事感満載じゃん
590デフォルトの名無しさん:2012/06/03(日) 00:06:44.52
他人の話題にケチつけて自演してでも自分の話題を盛り上げたい奴が居るようだ。
591デフォルトの名無しさん:2012/06/03(日) 00:18:12.43

マルチポストいくない
592デフォルトの名無しさん:2012/06/03(日) 12:50:19.83
彼氏にチンポしゃぶらせながら寝るわ。
593デフォルトの名無しさん:2012/06/03(日) 22:05:31.73
>>589
kwsk
594デフォルトの名無しさん:2012/06/04(月) 15:15:32.70
>>587
スラドなんか向こうの住民が勝手に2chを目の敵にしてるだけなんだから意識すんなよ気持ち悪い。
595デフォルトの名無しさん:2012/06/04(月) 20:26:37.29
>>592
kwsk
596デフォルトの名無しさん:2012/06/06(水) 08:04:36.71
スラドってAppleファンボーイの巣だから
Objective-Cのバインデイング出してやれば荒らさなくなるんじゃね
597デフォルトの名無しさん:2012/06/06(水) 15:25:52.77
よーわからんが、
ム板なのにコードと関係ない話をもっともらしくしてる奴は
スラド民だってじいちゃんが言ってた。
598デフォルトの名無しさん:2012/06/06(水) 16:14:06.72
MacとWinでクロス開発してるが、何でMacだとmakeがクソ遅いんだ?make -jして並列ビルドしても遅い。

vcのコンパイラが速いだけ?

Linuxではビルドしてないので知らん。
599デフォルトの名無しさん:2012/06/06(水) 16:44:11.43
>>598
きっとディスクが壊れかけてるんだろう
600デフォルトの名無しさん:2012/06/06(水) 17:52:20.20
Macだから。他にも色々遅い。
601デフォルトの名無しさん:2012/06/06(水) 21:28:11.61
>>574, 575
待てや
LLの軽量ってのはリソースが軽量なんじゃなくて、開発工数が軽量ってだけだよ。
AWKなんて昔は重いといわれてたんだが。
602デフォルトの名無しさん:2012/06/06(水) 23:52:03.15
一スレッドで並列処理
603デフォルトの名無しさん:2012/06/07(木) 19:19:37.31
>>574
>LLってリソースを喰わない言語の事を言うんですけど
開発リソースは喰わないね、コード量も少ない。でもメモリーを喰って、速度が遅いのがLL。
604デフォルトの名無しさん:2012/06/07(木) 20:24:06.87
今時は人件費の方がはるかに高くつく事が多いのでそれもまたあり。

21世紀の未来に生きてる筈なのになんでまだコンパイル待ちとかあるんだよ。
605デフォルトの名無しさん:2012/06/08(金) 14:32:22.12
Androidタブレット上にWindows 8環境を――Splashtopが開発者向け新ツール
http://www.itmedia.co.jp/news/articles/1206/07/news010.html

これいいな
606デフォルトの名無しさん:2012/06/08(金) 14:53:27.41
Qtと何か関係があるのか?
607デフォルトの名無しさん:2012/06/08(金) 19:04:52.73
Qt動きそうじゃね?
608デフォルトの名無しさん:2012/06/08(金) 19:43:51.90
QtはWindows 8のMetroスタイルでは、きっと使えないだろう。
609デフォルトの名無しさん:2012/06/08(金) 20:16:48.77
Qt_5_on_Windows_8_and_Metro_UI | Qt Wiki | Qt Developer Network
http://qt-project.org/wiki/Qt_5_on_Windows_8_and_Metro_UI
610デフォルトの名無しさん:2012/06/08(金) 20:39:33.80
>>601,603

日本の独自用語の事じゃなくて
国際的な認識の話だろ >>569
611デフォルトの名無しさん:2012/06/08(金) 20:49:38.13
Aboutを「おおよそ」の意味で使うようなもんだろ
Engrishだから仕方ない
612デフォルトの名無しさん:2012/06/08(金) 20:57:51.15
>>569のWikipediaの記事は引用もソースもない時点でチラ裏と大差ない
LLは和製英語的なものと捉えるのが穏当
613デフォルトの名無しさん:2012/06/08(金) 21:05:54.32
日本人が書いたわけじゃないし、外人がそう表現する文化がある事が解る事が重要で
それそのものが正確かどうかなんざどうでもいいと思うが。
たとえば、江戸時代に宇宙人を信仰してた人間がいたとして、
宇宙人が存在してたかどうかはどうでもいい信仰してた人間がいたという
客観的事実が重要
614デフォルトの名無しさん:2012/06/08(金) 21:31:28.53
615デフォルトの名無しさん:2012/06/09(土) 02:20:31.18
スレチやめろ
616デフォルトの名無しさん: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デフォルトの名無しさん:2012/06/09(土) 16:07:23.51
618デフォルトの名無しさん:2012/06/09(土) 16:20:47.89
MetroとQMLのセットか
誰得なんだよ
619デフォルトの名無しさん:2012/06/09(土) 20:25:50.31
QMLの時点で誰得。
620デフォルトの名無しさん:2012/06/10(日) 14:24:53.36
QML Desktop Components for Qt 5のできの物足りなさ過ぎさとMetroもどっこいだろう。
それに、QMLとMetroで書いたのを、他のプラットフォームで動かすために書き加えるコードが多くなりそう。
621デフォルトの名無しさん:2012/06/11(月) 19:20:42.10
hardがな世にタッチパネルに対応したソフトを
その前にhard自体仕様がもっとカツカツだったり

http://smart-pda.net/review/jetbook_color/screen/
教育機関向け銘打って売り込みを
そこまでして導入する意味はそれほど
622デフォルトの名無しさん:2012/06/11(月) 22:35:12.87
>>621
日本語でおk
623デフォルトの名無しさん:2012/06/12(火) 02:39:47.82
QtCreatorがCDBを認識してくれない・・・
624デフォルトの名無しさん:2012/06/12(火) 19:40:25.65
Qt for Google Native Client
http://qt-project.org/wiki/Qt_for_Google_Native_Client

これアレか?本格的にNative Clientで開発できるようになったって事か?
スマフォ版ChromeがNative Client対応したら移植楽ちんじゃん。
625デフォルトの名無しさん:2012/06/12(火) 21:36:18.24
https://gitorious.org/qtnativeclient/

この辺からソース落としてみたがconfigureとか無いんで
環境構築方法が解からん
626デフォルトの名無しさん:2012/06/12(火) 21:38:07.34
やべ普通に *.pro があったわ
627デフォルトの名無しさん:2012/06/13(水) 00:26:01.35
でもGoogleに開発者登録とChromeWebStoreだっけかあれに登録しなきゃならないんだよなGoogleアプリって
そうしないとテストすらできない
628デフォルトの名無しさん:2012/06/13(水) 15:56:57.65
>>624
これはちょっとだけうれしい
629デフォルトの名無しさん:2012/06/13(水) 21:13:07.84
>>627
最近動かしてないから気づかなかったけど、
いつのまにそうなったの?去年までは自前で作った.nexeが動いたよ?
630デフォルトの名無しさん:2012/06/15(金) 22:52:12.50
ノキアをジャンク級に格下げ、見通しネガティブ−ムーディーズ
http://www.bloomberg.co.jp/news/123-M5NQ9I6S972801.html
6月15日(ブルームバーグ):米格付け会社ムーディーズ・インベスターズ・サービスは、フィンランドの携帯電話メーカー、
ノキアの信用格付けをジャンク級(投機的水準)に引き下げた。同社は携帯電話部門の赤字拡大見通しを示していた。
ムーディーズは15日の発表で、ノキアの優先債務格付けを1段階引き下げ「Ba1」とし、投機的格付けで最も高い水準に設定した。
見通しは引き続き「ネガティブ」とした。
ブルームバーグがまとめたデータによると、ノキアの3月末時点の債務総額は49億2000万ユーロ(約4880億円)。
3大格付け会社では、スタンダード・アンド・プアーズ(S&P)とフィッチ・レーティングスが4月に既にノキアの格付けをそれぞれ「BB+」と、
投機的格付けで最も高い水準に引き下げていた。見通しもネガティブ。
631デフォルトの名無しさん:2012/06/15(金) 23:04:10.02
もうだめだー
632デフォルトの名無しさん:2012/06/16(土) 06:18:22.22
普通にandroid行ってても結果は同じだったかも知れんが、
Windowsは苦し紛れの大博打も良いところだったからな。
633デフォルトの名無しさん:2012/06/16(土) 06:55:22.09
まあこれでもシンビアンをキープし続けるよりは、大分マシになったんだろうけどな
634デフォルトの名無しさん:2012/06/16(土) 10:39:09.50
WindowsPhoneは5年後には
iPhoneより売れているんだぞ
635デフォルトの名無しさん:2012/06/16(土) 16:15:56.55
鬼が笑うってレベルじゃねーな。
636デフォルトの名無しさん:2012/06/17(日) 21:44:56.31
髪のダメージを守る・・・

それが、キューティクル¥
637デフォルトの名無しさん:2012/06/19(火) 20:14:24.88
Qtってノキア潰れたらどうなるの?
638デフォルトの名無しさん:2012/06/19(火) 20:30:26.72
KDEがあるLinux版以外は全く保守されなくなる
639デフォルトの名無しさん:2012/06/19(火) 20:35:55.69
じゃあ勉強しないほうがいいのかな
これから勉強しようと思ってたんだけど
640デフォルトの名無しさん:2012/06/19(火) 20:38:58.00
何事も知ってることに無駄はないが・・・。
あと、オプソだし、Nokiaが氏ねば有料ライセンスが死ぬから
上手いこと行けば化けるかもしれん
641デフォルトの名無しさん:2012/06/19(火) 21:26:19.82
そもそもiphoneが売れすぎたんだ・・・
642デフォルトの名無しさん:2012/06/19(火) 21:45:51.99
ソースは公開されてるんだから、放棄されたら自分で保守すればいい
643デフォルトの名無しさん:2012/06/19(火) 22:42:25.12
>>640
> あと、オプソだし、Nokiaが氏ねば有料ライセンスが死ぬから
Qt の商用ライセンスの権利は既に別会社に売却されたんじゃなかったけ?
644デフォルトの名無しさん:2012/06/20(水) 01:40:58.19
Qt 4.7.4 (32bit) on Linux において、

QWebView *view = new QWebView(parent);
view->setHtml("AAAA");
view->show();

とした場合、*viewのサイズを"AAAA"を表示するのに十分な必要最低限にしたいのですが、
上手い方法はないでしょうか。
QWebViewのソースを見たのですが、sizeHint()は800x600とハードコーディングされているようです。
645デフォルトの名無しさん:2012/06/20(水) 03:05:09.55
>>640
有料ライセンスが死んだら採用する所が減って更に駄目になる気が
646デフォルトの名無しさん:2012/06/20(水) 04:16:25.22
有料ライセンスが死ぬような状況になったら
修正BSDライセンス化するんじゃねーの
647デフォルトの名無しさん:2012/06/20(水) 04:26:59.67
ノキアにとってそれが何の得になるの?
648デフォルトの名無しさん:2012/06/20(水) 06:25:49.34
>>647
アホか。>>640を100回嫁。
649デフォルトの名無しさん:2012/06/20(水) 07:16:38.39
話が全く通じてないな。噛み砕いて説明するのも面倒くさい
650デフォルトの名無しさん:2012/06/20(水) 07:18:27.46
>>647
氏んだヤツに損も得もないだろ
651デフォルトの名無しさん:2012/06/20(水) 07:20:03.93
流石オプソ乞食達はアホだな。
652デフォルトの名無しさん:2012/06/20(水) 07:22:05.02
なるほど、プロプラソフトが開発終了するとソース公開しろよとワラワラ群がるノリなのか。
653デフォルトの名無しさん:2012/06/21(木) 16:53:04.40
マイクロソフトのタブレットはiPadをしのぐか? 2012.06.20 Wed posted at: 18:49 JST
ttp://www.cnn.co.jp/tech/30007053.html

米MSが年内に新型スマホ ウィンドウズフォン8
ttp://www.47news.jp/CN/201206/CN2012062101001041.html
654デフォルトの名無しさん:2012/06/21(木) 17:43:08.72
もう本当に業界人ごっこはメンヘル板でやってくんないかなあ。
655デフォルトの名無しさん:2012/06/21(木) 21:47:12.83
と、モドキが申しております。
656デフォルトの名無しさん:2012/06/21(木) 22:20:11.28
iOSとAndoroidの両方で動くアプリが一発で書けるとかなら需要ありそうなのにね
いい所に貰われて行って欲しい
657デフォルトの名無しさん:2012/06/21(木) 22:36:10.03
Qtの商用ライセンスの権利は、NokiaではなくDigiaが所有しているのだからもう貰われてしまっているんじゃないのか。
658デフォルトの名無しさん:2012/06/21(木) 23:04:12.71
ライセンスの権利じゃなくて、ライセンス事業を売却したんだろ
http://qt.nokia.com/products-jp/licensing/
659デフォルトの名無しさん:2012/06/21(木) 23:33:06.96
KDEのコミュニティの公約って今でも有効なんでしょ?
ここまでQtは成熟してるんだし
開発者たくさんいるし使えなくなることはありえない
660デフォルトの名無しさん:2012/06/22(金) 00:51:21.99
最近使い始めたけど
Qt Assistantが最強すぎる
661デフォルトの名無しさん:2012/06/22(金) 01:44:40.19
Qtlabsの説明見てブラウザ作ってみたんだけど
やたら遅いし日本語表示は変になるしQtwebkit完成度低すぎ
本格的にブラウザ作るならChromium埋め込みがベターかな?
662デフォルトの名無しさん:2012/06/22(金) 03:11:11.65
>>659
nokiaが「潰れたらパブリックドメインにします」って弁護士に遺書預けてあるならともかく、潰れたからっていきなりBSDで公開されたりはしないだろうよ。

もちろんLGPLは有効なままだけど。
663デフォルトの名無しさん:2012/06/22(金) 07:19:04.50
>>662
> nokiaが「潰れたらパブリックドメインにします」って弁護士に遺書預けてあるならともかく、
そんなもんあっても債権者や管財人がダメって言ったら無効だろ
664デフォルトの名無しさん:2012/06/22(金) 07:25:49.88
潰れる前に分離しちくり
665デフォルトの名無しさん:2012/06/22(金) 07:32:14.26
>>663
まあblenderみたいに誰かが権利買い戻す事になるんだろうな。
666デフォルトの名無しさん:2012/06/22(金) 08:01:02.85
>>661
いろいろあるけど、HTML5のCanvasは遅いだけでなく描画品質が酷い。
WebKitの実装を比べるとQtWebKitの完成度は低い方なので注意が必要。
667デフォルトの名無しさん:2012/06/22(金) 09:36:27.16
つか、ライブラリの質もかなり雑だし
.net framework使ったほうがいい
668デフォルトの名無しさん:2012/06/22(金) 10:21:28.46
>>666
情報提供ありがとうw

>>667
スレタイ100回嫁
669デフォルトの名無しさん:2012/06/22(金) 20:13:51.90
まあ.netと比べたらQtが勝つ所ないわな
670デフォルトの名無しさん:2012/06/22(金) 21:13:14.87
.netはWindowsでだけしか使えない。.netのAPIタコだから、WindowsだけでなくQtが勝つ所は一杯ある。
671デフォルトの名無しさん:2012/06/22(金) 21:50:01.65
標準化されてるC++だってところが重要なんだよ。
C#なんてVBみたいなもん。
672デフォルトの名無しさん:2012/06/22(金) 22:33:19.61
なにこの集団独り言スレ
673デフォルトの名無しさん:2012/06/22(金) 22:47:18.47
.netはmacでもlinuxでも動作しますが?
まぁ、のろのろとw
674デフォルトの名無しさん:2012/06/22(金) 23:40:21.58
.NETが勝ってるのはVisual Studioのおかげ
だがVisual C++で.NET使うのは微妙すぎる
C++でGUI作るならQtかFLTKが良さそうだと思った
675デフォルトの名無しさん:2012/06/22(金) 23:55:07.60
wxWidgets
676デフォルトの名無しさん:2012/06/23(土) 00:27:34.71
>>675
うん。あれは結構いい線行ってる。けど両方試して結局Qtを選んだ。
677デフォルトの名無しさん:2012/06/23(土) 06:30:21.24
>>676
Qt 選んだ理由は?
678デフォルトの名無しさん:2012/06/23(土) 09:19:15.40
>>674
Visual StudioでC++を使うのは、使い勝手が良くないよな。
デフォルト設定じゃリファクタリングとかやりたくなくなるし。QtCreaterの方が遥かに洗練されている。
679デフォルトの名無しさん:2012/06/23(土) 10:56:22.47
680デフォルトの名無しさん:2012/06/23(土) 12:18:10.18
>>677
一番大きいのはRAD/IDEかな。wxWidgetsのIDEはCodeBl;ocks+wxSmithとか、wxDev-C++
とかいくつかあるんだけど、みんなイマイチ。wxDev-C++は出来が良かったけど更新止まって
るしDelphi製。C++に移植するって話があったけどどうなったのかな。

Qt Creatorも初期は酷かったけど、最近はかなり良くなった。

あとwxWidgetsはソース配布でビルドが必要。ただビルドが必要なだけなら構わないん
だけど、コンフィギュレーションファイルの設定が沢山あって、細かく設定しなければならない。
バージョンアップのたびにこれを毎回間違わないようにやるのが面倒。まあ、前回のを
残しておいて、WinMergeで比較しながらやればいいんだけど。

数年前の話だから、今は少し変わってるかもしれない。
681デフォルトの名無しさん:2012/06/23(土) 12:23:54.01
>>680
wxDev-C++はその後Windows 7対応とかしてて更新されてるね。スマソ。
682デフォルトの名無しさん:2012/06/23(土) 12:31:10.73
>wxWidgetsはソース配布でビルドが必要

えっ?w
683デフォルトの名無しさん:2012/06/23(土) 12:41:33.22
>>682
インストーラーがあるけど、ソースパッケージのインストーラーなんだよ。
http://www.wxwidgets.org/downloads/
684デフォルトの名無しさん:2012/06/23(土) 13:35:38.63
>>666
いろいろやってみたけどQtwebkitはいまいちだった
ベースが534.34なんて化石エンジンなんだから仕方ないけれど
Qtwebkit使うならそれこそIEコンポーネントとか作ったほうがいいのかもしれない
685デフォルトの名無しさん:2012/06/23(土) 15:43:38.15
経済とは独立したものですし、フリーソフトウェアを使って金を稼いでも構わない点からも、共産主義ではないです。
どちらかというと大企業の搾取に対するカウンターとして生まれたもの。
ソフトウェアがソース非公開になって制限かかりまくって融通が効かなくなり、
研究に支障が出たから必然としてフリーソフトウェアが生まれたわけで、
やっぱりアカデミックの流れかと。

あの頃の大学におけるUNIXの改変はAT&Tの独占禁止法に守られてただけで、
1984年にその独禁法が解禁されてUNIXが改変禁止、秘密保持契約を結ぶなら改変共有禁止となったため、
GNUの開発が始まりまったという経緯があります。
686デフォルトの名無しさん:2012/06/23(土) 16:25:16.16
誤爆?

それはさておき、GPLは、どう見ても、危険な共産主義だろ
687デフォルトの名無しさん:2012/06/23(土) 16:31:09.14
>>683
stable 使えよ
688デフォルトの名無しさん:2012/06/23(土) 19:02:16.93
>> 684
QtWebKitがいまいちな(いまに、いまさん、、、)のは確かだが、Qtのディストリビューションに入っているものは、
Qtリリース時点のもので、QtWebKitのリポジトリのと勝手に入れ替えてくれと言っているよ。
689デフォルトの名無しさん:2012/06/23(土) 19:03:16.90
>>686
冷酷な資本主義よりましかな。
690デフォルトの名無しさん:2012/06/23(土) 19:12:15.14
資本主義の高みから、他人に共産主義を振りまくのがいいんだよ
教祖のストールマンだって実際やってることはそう
691デフォルトの名無しさん:2012/06/23(土) 23:49:13.99
ム板であることを忘れるスレだなおい。
手動かせよ
692デフォルトの名無しさん:2012/06/24(日) 00:49:22.71
しこしこ
693デフォルトの名無しさん:2012/06/24(日) 10:58:46.03
クチュクチュ
694デフォルトの名無しさん:2012/06/25(月) 00:48:02.18
>>686
共産主義の様に他主義に逃げることは禁じない
共産主義の様に、関係を持とうとしてない(ソースを利用しない)
人間に主張を押し付けたりはしない

資本主義の著作権法に法って、著作物の権利をこうしし、
利用者が、自分でソースを改変できる(フリー)ようにしてるだけ。
プログラム本体に対する金品の収集などは一切禁じていない。
プログラム本体とは別途、ソースに課金することは禁じてるが。
695デフォルトの名無しさん:2012/06/25(月) 01:50:28.60
「会議」がアイデアを潰す

若手や中堅がイノベーションを生み出す新しいアイデアを出す時
立ちはだかるのがジジイどもの支配する「会議」という壁だ

・ジジイどもに理解できる企画でなくてはならない
・ジジイどもの好みに合う企画でなければならない
・既に成功した事例がなくてはならない
・ジジイどもに気に入られている人物が提案者でなくてはならない
・ジジイどもに気に入れられていない人物が関わっていてはならない
・ジジイどもの支援が不要な企画でなくてはならない
・にもかかわらずジジイどもにも活躍の場を与えねばならない
・ジジイどもの気まぐれな口出しにいつでも応じなければならない
・失敗してもジジイどもが責任をとらなくてよい企画でなくてはならない
・成功したらジジイどもの業績になる企画でなくてはならない

若い頃は前世代のおかげで繁栄したくせに、自分らの時代には経済を衰退させ
そのツケを後世代に回す団塊ジジイ、バブルジジイどもが日本の病巣
696デフォルトの名無しさん:2012/06/25(月) 03:31:53.87
客もジジイかガキだからな。
697デフォルトの名無しさん:2012/06/25(月) 05:11:57.46
病んでるな
698デフォルトの名無しさん:2012/06/25(月) 07:49:17.44
>>694
昔、北朝鮮が「地上の楽園」と自称してたのとそっくりだな
699デフォルトの名無しさん:2012/06/25(月) 07:50:39.02
やっぱりメンヘラが貼りついちゃってたのね
700デフォルトの名無しさん:2012/06/25(月) 08:08:49.67
いまさらだな
701デフォルトの名無しさん:2012/06/25(月) 20:00:50.33
>>698
どう自称してたんだ?
あとGNUは自称じゃなく事実だがな。
使う前から、ルールに従えないなら使うなとはっきり言ってる。
702デフォルトの名無しさん:2012/06/25(月) 20:04:01.01
GPL汚染
703デフォルトの名無しさん:2012/06/25(月) 20:05:21.78
つかわなければいいだけ
人の物のお世話になって文句言うとか朝鮮人かよ
704デフォルトの名無しさん:2012/06/25(月) 20:07:38.91
そういやThe KMPlayerとか平気でGPL違反してるよな
ここでぐうたれてるヤツも祖国に帰ってどうどうとGPL犯せばいいんじゃね
周りの誰も咎めはせんだろうしお似合いだわ
705デフォルトの名無しさん:2012/06/25(月) 20:15:50.72
>>698
朝鮮にはお前の同胞がいっぱいいるってよ
706デフォルトの名無しさん:2012/06/25(月) 20:17:58.32
まさに地上の楽園だなw
707デフォルトの名無しさん:2012/06/26(火) 03:42:16.76
馬鹿には無理
708デフォルトの名無しさん:2012/06/26(火) 22:40:18.26
仕事ではC++どころか、デスクトップアプリ作ること自体がまずないし
趣味で組む暇もないから手を動かせない
709デフォルトの名無しさん:2012/06/27(水) 01:59:39.41
じゃあ隠居するまで作れないな
710デフォルトの名無しさん:2012/06/30(土) 09:26:56.36
Qt 5、betaが7月中、finalが9月に延期 http://qt-project.org/wiki/Qt_5.0
711デフォルトの名無しさん:2012/07/02(月) 17:36:38.28
Qtでテキストエディタを作っています.
このテキストエディタ特有の機能として,「行ごとに」最終更新日時を保存し,その日時に応じてテキスト変更などをしたいと思っています.
(例えば今日と書いてある行は後からその行の最終更新日時に置換するみたいな)

QTextEditからQTextDocumentを取り出し,firstBlockからQTextBlockを辿っていくことで,行ごとのテキストが取得はできる模様です.
ですがQTextBlockは読み取り専用のため,ある行を特定してその行のテキストを別のテキストと差し替えるといったことができません.

テキストは複数行にわたるので,QTextEditでこのような事が可能になる方法をご存じの方はいらっしゃいませんでしょうか?
712デフォルトの名無しさん:2012/07/02(月) 17:41:11.35
むり
713デフォルトの名無しさん:2012/07/02(月) 17:57:48.81
QTextCursor使って置き換えるしかないんじゃね
714デフォルトの名無しさん:2012/07/02(月) 18:58:25.03
QtWebKitでWebページを表示している画面を画像(スクリーンショット)として取得する方法って無いですか?
一般的には、ウィンドウ内に描画されている画像を取得して、加工して別ウィンドウに表示、などの動作をさせたいのですが。
715デフォルトの名無しさん:2012/07/02(月) 22:06:55.91
QWidget::render
716デフォルトの名無しさん:2012/07/02(月) 22:20:42.94
どうもです
717デフォルトの名無しさん:2012/07/03(火) 12:21:25.07
http://labs.qt.nokia.co.jp/2012/07/03/qt-contributors-summit-2012.html
>Qt Contributors Summit 2012 の開催の直前に Nokia の大きなアナウンスがあり、
>Qt は Nokia の Next Billion 戦略の一部ではなくなりましたが、
>Qt 自体の開発はまだしばらくは続けて行くことなど、
言い換えると、しばらくしたら Nokia は開発に関わらなくなるということですか。
Trolltechだった人達がDigiaに移るのだろう。
718デフォルトの名無しさん:2012/07/03(火) 13:42:15.32
× 関わらなくなる
○ 関われなくなる(経済的に)
719デフォルトの名無しさん:2012/07/03(火) 14:31:08.43
仕方ない
MSを応援するか
720デフォルトの名無しさん:2012/07/03(火) 16:19:43.55
うぇー
721デフォルトの名無しさん:2012/07/03(火) 16:34:00.68
Mac - Apple の死にかけの窮地を救ったのもマイケロソフト
722デフォルトの名無しさん:2012/07/03(火) 18:03:38.06
いい加減古くさいMFCの変わりに
MSVCにQt標準搭載!
723デフォルトの名無しさん:2012/07/04(水) 00:48:04.17
Qt終わってたのか
724デフォルトの名無しさん:2012/07/04(水) 01:40:03.14
5年耐えればWindowsPhoneはiPhoneより売れるようになるから
なんとかなる
725デフォルトの名無しさん:2012/07/04(水) 08:54:11.70
WindowsCE って10年以上前からあるけど流行ってないよね
Jobs が先駆者みたいに言われてるけど スマフォw の元祖は MS
726デフォルトの名無しさん:2012/07/04(水) 08:57:28.40
スレ違いの話までして無知を晒すのは何故?マゾ?
727711:2012/07/04(水) 17:07:04.04
>>713
なるほど…やはり一筋縄でいける解法はないのですね…
ありがとうございました.
728デフォルトの名無しさん:2012/07/04(水) 17:56:42.45
電子書籍も2000年初めくらいにはMSが既に手を出して、見事に爆死してるんだよな
729デフォルトの名無しさん:2012/07/04(水) 19:09:27.22
>>727
> なるほど…やはり一筋縄でいける解法はないのですね…

えっ、 QTextCurosr 使えば簡単じゃないの?
730デフォルトの名無しさん:2012/07/04(水) 19:19:53.04
馬鹿には無理
731デフォルトの名無しさん:2012/07/04(水) 21:28:31.76
>>725
その頃のCEは、通信するたびにリブートしなければならなかった。
MFCはメモリーリークしまくりで、MSからMFCは使わずにWin32を使うようにと言われた。
732デフォルトの名無しさん:2012/07/05(木) 00:19:06.85
>>724
んなもん待たんでも、NACLで組めば、
Android上のChromeで動かせるがな
733デフォルトの名無しさん:2012/07/05(木) 01:16:07.31
>>732
うごかねーよ
734デフォルトの名無しさん:2012/07/05(木) 08:32:54.32
だれかQtを救ってくれよ
735デフォルトの名無しさん:2012/07/05(木) 08:38:56.12
何かのゲーム開発環境で使われてたと思うんだけど思い出せない
736デフォルトの名無しさん:2012/07/05(木) 08:52:51.17
MayaとかMaxのAutodesk系はqtに統一されたんじゃなかったっけ。
737デフォルトの名無しさん:2012/07/05(木) 09:11:33.10
SMplayer
738711:2012/07/05(木) 19:28:41.99
>>729
指定行を操作するのにカーソルを操作しないといけないのはちょっと面倒だな〜と思ってしまいまして.
ただ,今実際にやってみたところ,思った以上に簡単にできたので,その発言は撤回させて頂きますw
739デフォルトの名無しさん:2012/07/08(日) 04:29:26.61
QtをNokiaが放り投げた場合はやはり資金的に厳しくなるのかな
それともどこかしら資金援助するのかね
740デフォルトの名無しさん:2012/07/08(日) 06:15:35.42
Samsungが、タッチパネルでオススメレシピを検索できる機能の付いた
冷蔵庫にQtを採用したそうだから、いっそSamsungが買い取ってくれたら
資金的には何の心配も無くなるだけどなぁ。
741デフォルトの名無しさん:2012/07/08(日) 06:17:53.31
Samsung Qtとかちょっと嫌だわ
742デフォルトの名無しさん:2012/07/08(日) 06:39:54.37
別に今だってNOKIA Qtって呼称じゃないし...
743デフォルトの名無しさん:2012/07/08(日) 08:54:03.35
Sharpが引き取ってタブレット戦争にリナザウで乗り込む展開か
744デフォルトの名無しさん:2012/07/08(日) 11:20:37.86
ないないw
745デフォルトの名無しさん:2012/07/08(日) 14:10:31.15
N9が最終アップデート。MeeGo開発チームがNokiaを離れてJollaに移籍した。
Qt開発チームはDigiaに移籍すると予想。
746デフォルトの名無しさん:2012/07/09(月) 00:30:49.54
747デフォルトの名無しさん:2012/07/09(月) 16:42:37.33
Digiaがオープンソースのバックアップもするようになるよ。
748デフォルトの名無しさん:2012/07/10(火) 08:56:16.02
http://labs.qt.nokia.com/
Windows Phoneへと方針変更した後には、
存在感を示したいがために毎日のように投稿があったけれど最近は随分寂しくなった。
749デフォルトの名無しさん:2012/07/10(火) 12:16:35.27
ふーむ、そろそろQtから別のGUIツールキットに逃げるべきなのかな…
しかしそうすると何がいいんだ?
750デフォルトの名無しさん:2012/07/10(火) 12:26:01.39
wx
751デフォルトの名無しさん:2012/07/10(火) 13:09:41.26
Ext
752デフォルトの名無しさん:2012/07/10(火) 14:26:21.97
>>749
そんな必要ないでしょ?
NOKIAがQtを手放したとして,それで他のGUIツールキットと同じ状態になるんだから。
753デフォルトの名無しさん:2012/07/10(火) 14:48:35.01
HTML5
754デフォルトの名無しさん:2012/07/10(火) 19:00:57.85
C++捨ててWebに走ったほうが早いだろうな。
GUIアプリ案件なんて死滅状態だし、Qtと対抗できるのなんて過去の遺物なMFCくらいだろ
755デフォルトの名無しさん:2012/07/10(火) 19:16:15.10
WebはC++より安いのでは?
756デフォルトの名無しさん:2012/07/10(火) 19:15:46.35
wxWidgets良いな
757デフォルトの名無しさん:2012/07/10(火) 21:31:12.44
WebだってQt動くしなぁ。
Nokiaがいなくなった所で統合開発環境周りや
基幹構造の変化がなくなるだけだろ、
バグやらコンポーネントの追加ならオプソの範疇で
追随できるわけだし何か困ることあんの?
758デフォルトの名無しさん:2012/07/10(火) 21:43:21.79
資金の入ってないオプソは役立たずだから
759デフォルトの名無しさん:2012/07/10(火) 22:12:45.54
目先の金に目が眩んで身売りするからからこんなことになる。
760デフォルトの名無しさん:2012/07/10(火) 22:18:35.09
んなこといってお前もどうせWin版がLGPL化してから入ったニワカなんだろ
761デフォルトの名無しさん:2012/07/10(火) 23:00:37.20
最初からずっと商用版だけを使い続けています。
762デフォルトの名無しさん:2012/07/11(水) 03:33:25.38
ノキアが完全に手を引くことになったらKDEにBSDライセンスで提供される契約になってたのね。
これで安心というか早く手を引けと思った人も多いんじゃねw

http://dot.kde.org/2012/07/09/kde-rely-qt-protect-qts-freedom-contribute-it
763デフォルトの名無しさん:2012/07/11(水) 04:38:57.61
へぇ BSDLになったらGTKと差別化できて並立し続けるかもね
764デフォルトの名無しさん:2012/07/11(水) 06:43:58.20
まあKDEチームはLinux版以外を保守する義理はないから
ほかのOSは放置されるけどな
765デフォルトの名無しさん:2012/07/11(水) 09:26:33.21
KDEチームだって裾野は広げたいだろうし、
最低限の対応くらいはやってくれるんじゃないかと思いたい
766デフォルトの名無しさん:2012/07/11(水) 09:34:53.85
一度ext jsのサンプルでも実行してみるとWebアプリがここまで来たかとビビるよ。
ただ本気でオフラインのアプリを作ろうとすると、進む戻るボタンの扱いとかローカルファイルの扱いとかで挫折する。
データを全部サーバーに保存すればいいが、完全にオフラインアプリの代替にはまだ無理だな。
767デフォルトの名無しさん:2012/07/11(水) 11:35:56.02
古いな
Ext.js より SmartClient だぜ
768デフォルトの名無しさん:2012/07/11(水) 11:51:50.74
NaClだろ常考
769デフォルトの名無しさん:2012/07/11(水) 12:30:07.75
>>766
まぁ,ソフトと一口にいっても広い世界なわけで,Webアプリではどうにもならない
分野も沢山あるしね。
770sage:2012/07/11(水) 15:52:44.85
アンチ粘着のでるでる詐欺本買っちまっただ
771デフォルトの名無しさん:2012/07/11(水) 20:06:01.47
> 646 名前:デフォルトの名無しさん [sage]: 2012/06/20(水) 04:16:25.22
> 有料ライセンスが死ぬような状況になったら
> 修正BSDライセンス化するんじゃねーの
772デフォルトの名無しさん:2012/07/11(水) 21:21:26.63
>>771
否定されて悔しかったのはわかるが、そりゃ根拠を示さずに書いてたら妄想扱いされるよ。
773デフォルトの名無しさん:2012/07/11(水) 21:25:17.25
>>772 そのレス書いた本人が読んだら喜びそうだw
774デフォルトの名無しさん:2012/07/12(木) 03:37:42.75
KDEのコミュニティで数年前にそんな感じの取り決めがあったらしきことが書いてあった
775デフォルトの名無しさん:2012/07/12(木) 15:14:14.06
GTKより全分野でライセンス的に使い易くなるじゃないか。
776デフォルトの名無しさん:2012/07/12(木) 17:39:13.64
資金を出す者がいなくなって、開発者の質が維持できなくなるな。
777デフォルトの名無しさん:2012/07/12(木) 18:10:37.93
モジラみたいな財団立ち上げればいいんじゃね?

奴ら非営利団体のくせにすげー収入あるんだよな。その金でもっと開発者雇えば良いのにどこに消えてるんだ。
778デフォルトの名無しさん:2012/07/12(木) 18:26:58.69
世界的にWebスクリプト書きとか業務アプリ書き奴隷以外はいくら払っても人は足りないし来ないからな
779Qtist:2012/07/12(木) 23:16:15.27
すみません。ちょっと質問させてくさい。
QPushButtonのハンドラとして、普通のCの関数を指定する方法がわかりません。
以下のようなソースで試したところ、

void handler_btn()
{
std::cout << "btn pushed!!!" << std::endl;
}

int main()
{
QApplication a( argc, argv );


QPushButton* push_btn = new QPushButton("テスト");

QObject::connect( push_btn, SIGNAL(clicked()), NULL, SLOT(handler_btn()) );

return a.exec();
}

(null)::handler_btn()は無いので、connectできませんでした
とゆうようなメッセージが実行時に表示されてしまいます。
できないのでしょうか?
780デフォルトの名無しさん:2012/07/13(金) 00:24:58.13
>>779
まずは、SIGNAL-SLOTがどういうものかということから学んでね

http://www.kde.gr.jp/pukiwiki/index.php?Qt%20Reference%20Documentation%2F%B3%B5%CD%D7%2F%A5%B7%A5%B0%A5%CA%A5%EB%A4%C8%A5%B9%A5%ED%A5%C3%A5%C8

ここの1行目の最初の文が答えだ
クラスメンバのSLOT関数なら中身がCオンリーだろうがなんだろうが呼び出せる
781デフォルトの名無しさん:2012/07/13(金) 01:31:32.66
>>779
Qt 5ならC++11を使えばできる。
Qt 4ではQObjectのサブクラスのスロットから呼び出すようにすればできる。
782デフォルトの名無しさん:2012/07/13(金) 01:38:38.44
main.cpp だけでその機能を実装するってどういう風にやればいいんだと思って調べてみたら
http://labs.qt.nokia.co.jp/2010/07/20/create-signals-and-slots.html
こんな感じか↓
mocって奥が深いのな


#include <QtGui>
#include <iostream>

class btn: public QPushButton{
Q_OBJECT
public:
btn(){}
private slots:
void handler_btn(){
std::cout << "btn pushed!" << std::endl;
}
};

int main(int argc, char *argv[]){
QApplication a( argc, argv );
btn push_btn;
QObject::connect(&push_btn, SIGNAL(clicked()), &push_btn, SLOT(handler_btn()));
push_btn.show();
return a.exec();
}
#include "main.moc"
783デフォルトの名無しさん:2012/07/13(金) 06:34:36.79
slotはメンバー関数と別物なんだが、
なんで関数ならslotとして使えると思ったんだろ
784デフォルトの名無しさん:2012/07/13(金) 06:36:18.33
private slotの接続を外部で接続するって無いわぁ・・・
だったら最初からpublicにしないか
785デフォルトの名無しさん:2012/07/13(金) 09:52:43.66
ていうかprivate slotsに書いても外からconnectできるのか!
ちょっと勉強になったわw
786デフォルトの名無しさん:2012/07/13(金) 10:45:33.49
自演乙
アホ
カス
しね
787Qtist:2012/07/13(金) 11:09:24.84
>>782さん
回答ありがとうございます。
最後のmain.mocは、Makefileがあるところで、qmakeコマンドをたたけば
生成されるんでしょうか?
今、出先ですぐ試せれないので・・・教えてクンですみません
(書き忘れましたが、開発環境はUbuntu10.04 でQt4 使っています)

>>779-785
みなさん、ありがとうございます。
自分のやろうとしていることが、フツーじゃないことに気づかされました。^^;
昔、XWindowで作ったときのノリじゃダメなんですねー
788デフォルトの名無しさん:2012/07/13(金) 13:15:22.86
>>786
なんだこのキチガイ
789デフォルトの名無しさん:2012/07/14(土) 00:10:48.60
>>785
slot関数をSLOTとして使う場合は、アクセス指定は影響しない。
つまり、アクセス指定が private slots: だろうが protected slots: だろうが、外部から自由に呼び出せる。

slots: を記述するときの private/public/protected が影響するのは
slot関数を普通のメンバ関数として使用するとき。

…らしい。


本家ドキュメントにはこっそり書いてあるが、眠いときには読み飛ばすなこりゃってレベル
オライリーの翻訳入門本にも書いてなかったし…
790デフォルトの名無しさん:2012/07/14(土) 08:25:57.98
>>789
> 本家ドキュメントにはこっそり書いてあるが、眠いときには読み飛ばすなこりゃってレベル
> オライリーの翻訳入門本にも書いてなかったし…
工学社の「Qt プログラミング入門」 では、p48 の最初の方で説明してあるね

以下、引用
ーーーーーーーー
アクセス指定は、通常メソッドとしてコールする場合は有効ですが、
「スロット」として接続する場合は無視されます。 したがって、「protected slots:」
で定義された「スロット」をクラス外部から参照することが可能です。
791デフォルトの名無しさん:2012/07/14(土) 09:50:36.30
なんかQt Creatorでデバッガがまともに動かないな
792デフォルトの名無しさん:2012/07/14(土) 10:24:17.26
え?
cdbだけどちゃんと動いてるよ。以前は酷かったけど、2.2位からはだんだんまともに
なってきた。
793デフォルトの名無しさん:2012/07/14(土) 15:40:23.33
== test.pro ==
QT += core gui
TARGET = test
TEMPLATE = app
SOURCES += test.cpp
CONFIG += console

== test.cpp
#include <iostream>
#include <QtGui>
#include <QtCore>
class btn : public QPushButton{
Q_OBJECT
public:
btn(){}
private slots:
void handler_btn(){
std::cerr << "hello " << std::endl << std::flush;
}
};
int main( int argc, char** argv ){
std::cerr << "start " << std::endl << std::flush;
QApplication a(argc, argv);
btn push_btn2;
QObject::connect(&push_btn2, SIGNAL(clicked()),
&push_btn2, SLOT(handler_btn()));
push_btn2.show();
return a.exec();
}
#include "test.moc"
794デフォルトの名無しさん:2012/07/14(土) 18:52:24.89
.oO(なんか盛大に勘違いしているようだw)
795デフォルトの名無しさん:2012/07/15(日) 07:33:13.34
>>790
なんでスロットの時に無視するんだろ?
何か経緯があるのかね
796デフォルトの名無しさん:2012/07/15(日) 15:28:20.10
ただのマクロだから
797デフォルトの名無しさん:2012/07/15(日) 20:23:51.94
QWidget を focus を取らずに show させる方法をご存じないですか。
http://stackoverflow.com/questions/966688/show-window-in-qt-without-stealing-focus
上記ページにしたがって、
- setAttribute(Qt::WA_ShowWithoutActivating);
- setFocusPolicy(Qt::NoFocus);
- showを呼んだ直後に focus を元のにあわせる
を試してみたのですが、どれも新しく表示した widget に focus を取られてしまいます。

アドバイスいただけないでしょうか。
798デフォルトの名無しさん:2012/07/15(日) 20:42:42.33
書き忘れましたが、利用方法としては
QLineEdit に書かれている英数字とマッチするQString List のエントリを
LineEdit下部に Widget で 一覧表示するというものです。
googleの入力補完のような見た目のものを作ろうとしています。
799デフォルトの名無しさん:2012/07/15(日) 20:45:57.50
>>797
show() した後に、QWidget::setFocus() でフォーカスを
再設定するんじゃだめなの?
800デフォルトの名無しさん:2012/07/15(日) 20:58:38.45
>>799
曖昧な箇所なので同じ挙動を取るかわかりませんが、

(1) lineEdit_m の入力イベントをキャッチ
(2) widget_m を show
(3) lineEdit_m->setFocus()

という流れだと、フォーカスを持っていかれます。
GUI箇所なのですが、イベントから数百ミリ秒後にウィジェットが出るようなので、
内部的に別スレッドで動かし、準備ができたらGUIを作るという流れかもと懸念しています。
(内部実装に詳しくなくて申し訳ないです)
それでしたら、widget_m が focus を取るのは (3) の後になりそうです。
801デフォルトの名無しさん:2012/07/15(日) 22:42:27.19
>>800
widget_m をサブクラス化し、focusInEvent() イベントを受けたら、lineEdit_m にフォーカスを設定するとか、
またはシグナルを発行して外部で lineEdit_m にフォーカスを設定するとか、すればええんじゃなかろうか
802デフォルトの名無しさん:2012/07/15(日) 23:25:31.85
4.8.2 VS2010ではsetAttribute(Qt::WA_ShowWithoutActivating)
で普通に行けてる気がする
803デフォルトの名無しさん:2012/07/16(月) 14:24:07.88
QTextCodecが糞すぎるなぁ
EUC-JP→Unicodeすらできやしない
804デフォルトの名無しさん:2012/07/16(月) 14:45:02.26
>>803
> QTextCodecが糞すぎるなぁ
> EUC-JP→Unicodeすらできやしない
まじっすか?
805デフォルトの名無しさん:2012/07/16(月) 15:18:26.94
なんか前もその話題上がってたな

確かにリファレンスには
QTPLUGIN += qjpcodecs
#include,QtPlugin>
Q_IMPORT_PLUGIN(qjpcodecs)
書いたら行けるとだけ書いてるのにな
806デフォルトの名無しさん:2012/07/16(月) 15:26:23.18
>>801,802
何が原因だったのか結局わからなかったのですが、公式に google の検索補完 を作るという記事がありました。
これを真似(半コピペw)して作ったら、問題なく動きました。

Google Suggest Example
http://qt-project.org/doc/qt-5.0/network-googlesuggest.html

このコード読んでいると、自分の力不足 + 知識不足を痛感しましたww

807デフォルトの名無しさん:2012/07/16(月) 15:47:35.28
>>803
>EUC-JP→Unicodeすらできやしない
やってみた。できるよ。いい加減なことは言わないようにしよう。
808デフォルトの名無しさん:2012/07/16(月) 16:02:12.60
>>805
ダイナミックプラグインでは不要。
リファレンスにスタティックプラグインの場合にそうすると書かれている。
809デフォルトの名無しさん:2012/07/16(月) 16:25:56.16
荒れる前に、ためしに俺もやってみた
環境:WinXP QtCreator2.3.1 Qt4.7.4

とりあえず何も考えずに
QTextCodec *c = QTextCodec::codecForName("EUC-JP");
書いてしまった場合は、c=NULLってなるね
QTextCodec::availableCodecs() ではEUC-JPがあるのに。

#include <QApplication>
#include <QtPlugin>

Q_IMPORT_PLUGIN(qjpcodecs)

int main(int argc, char *argv[])
{
QApplication app(argc, argv);
...
return app.exec();
}

QTPLUGIN +=qjpcodecs

以上を加えると、 cannot find -lqjpcodecsd
ってエラーになった。
まぁ環境によって異なるんだろうけど、リファレンスに書いてあることだけを行ってもダメだね
810デフォルトの名無しさん:2012/07/16(月) 16:30:41.51
Windows じゃ EUC_JP は扱えない
811デフォルトの名無しさん:2012/07/16(月) 16:53:51.75
>>810
扱える。
release/debugが合ってないんじゃないか。
812デフォルトの名無しさん:2012/07/16(月) 17:32:12.49
4.8.2 MSVC2010では
QTextCodec *c = QTextCodec::codecForName("EUC-JP");
はNULLにならないみたい
ここまでしかテストしてないけどw
813デフォルトの名無しさん:2012/07/16(月) 17:38:26.15
QtをbuildするときにUNICODEモードにしていると予想
814デフォルトの名無しさん:2012/07/17(火) 01:05:54.61
俺もWinXPだけど3年以上前からしたらば読み込むのにQTextCodec使い続けてるから出来ないはずはない
コード読み直してみたけどリファレンス通りの事しかしてなかったよ
815デフォルトの名無しさん:2012/07/17(火) 01:21:55.19
809と同じような環境だけど、たしかにNULLが返されるな
816デフォルトの名無しさん:2012/07/17(火) 07:49:13.70
Windows用Q 4.8のバイナリライブラリで試してみた。
EUC-JPからUTF-8への変換が問題なくできている。
817デフォルトの名無しさん:2012/07/17(火) 08:04:49.29
>>809
>以上を加えると、 cannot find -lqjpcodecsd
>ってエラーになった。
>まぁ環境によって異なるんだろうけど、リファレンスに書いてあることだけを行ってもダメだね
スタティックプラグインの場合にすることだからやっても的外れだよ。

818デフォルトの名無しさん:2012/07/17(火) 19:47:22.87
つか、Qt自体が糞
Qt使うくらいならMFCの方がぜんぜん生産性は高い
819デフォルトの名無しさん:2012/07/17(火) 20:32:58.10
>>818
ありえねー
820デフォルトの名無しさん:2012/07/17(火) 22:43:00.21
MFCは直感的じゃないし、出来るのか出来ないのか調べる手間かけるなら
力ずくでガリガリ書いていったほうが早いレベル。

Qtはかなりの事が出来るんだけど、ちょっと込み入ったもの作ろうとすると
10個くらいのクラスと格闘することになる。

一緒に心中するつもりならQtの方がいいんだろうけど、外野での不安材料が
多くてとても心中する気になれないってところ。
821デフォルトの名無しさん:2012/07/17(火) 23:05:43.19
qmakeってディレクトリと拡張子だけでソースコードとヘッダー取り込んでくれたりしないのかな。
いちいち名指しすんのメンドクセ。
822デフォルトの名無しさん:2012/07/18(水) 10:40:10.68
チラシはチラウラで桶
823デフォルトの名無しさん:2012/07/18(水) 12:32:05.09
だが待って欲しい。チラシの裏にチラシを書いたらそれはもう裏とは呼べないのではないだろうか。
824デフォルトの名無しさん:2012/07/18(水) 15:58:13.48
QtCreator2.5からTODOが付いたお
使い方はソースのコメントにTODO:と書くだけ
以上チラウラ
825デフォルトの名無しさん:2012/07/19(木) 00:02:56.05
>>823
両面に印刷されているチラシでも、大抵表と裏はあるよ。
まあ、裏に書いても読めないけど。
826デフォルトの名無しさん:2012/07/20(金) 12:03:25.20
NokiaのQ2決算、モバイル端末不調で19%減収、14億ユーロの赤字
http://itpro.nikkeibp.co.jp/article/NEWS/20120720/410285/
827デフォルトの名無しさん:2012/07/20(金) 12:07:35.24
案外WP7端末売れたんだな
828デフォルトの名無しさん:2012/07/20(金) 12:48:51.59
そうか?
モトローラと同じ運命になりそうな
829デフォルトの名無しさん:2012/07/20(金) 13:37:18.40
>>828
ノキアとwp7の区別もつかないのか
830デフォルトの名無しさん:2012/07/21(土) 12:51:53.72
よっしゃー!ノキアは俺様が買った!
QtはMITライセンスにするおっおっおっ!
831デフォルトの名無しさん:2012/07/21(土) 14:27:00.54
馬鹿には無理
832デフォルトの名無しさん:2012/07/21(土) 21:10:33.87
無理には馬鹿
833デフォルトの名無しさん:2012/07/22(日) 10:19:05.40
道理が通れば馬鹿が引っ込む
834デフォルトの名無しさん:2012/07/23(月) 09:57:57.06
Qtでリアルタイムなミニゲームを作りたいんので、
参考になるサイトを教えてください。
よろしくお願いします
835デフォルトの名無しさん:2012/07/23(月) 10:30:37.24
Qtでやる意味がわからないので無理
836デフォルトの名無しさん:2012/07/23(月) 10:32:01.20
>>835
じゃあ、何でやるのがいいのですか?
837デフォルトの名無しさん:2012/07/23(月) 10:34:36.34
>>836
エスパーじゃないから君が何をやりたいのかなんて我々にはわからんよ。

まず何故君がQtでやりたいと思ったかを書きなよ。
838デフォルトの名無しさん:2012/07/23(月) 10:37:53.90
馬鹿には無理
839デフォルトの名無しさん:2012/07/23(月) 11:38:17.51
コピペ荒らし
840デフォルトの名無しさん:2012/07/23(月) 11:57:40.36
無理には馬鹿
841デフォルトの名無しさん:2012/07/23(月) 21:23:11.75
>>835
入力をQtに任せるだけだろ。
処理のメインはOpenGLでいいだろうから無駄じゃないだろ。
文字列の表示だけでもなんらかのツールキット使わずに表示すんのは偉い面倒だぞ。
842デフォルトの名無しさん:2012/07/23(月) 21:44:31.70
FTGL使えよ
GUI要らないならGLFWがおすすめだ
843デフォルトの名無しさん:2012/07/23(月) 21:54:36.52
ui_hogehoge.h ってどこにあるんですか?
読んでみたいんですけど
844デフォルトの名無しさん:2012/07/23(月) 21:57:38.79
buildディレクトリの中にできてたな
845デフォルトの名無しさん:2012/07/23(月) 22:25:46.07
>>842
GUIいるわハゲ
設定メニューとかめんどくせぇだろうがボケ。
846デフォルトの名無しさん:2012/07/23(月) 23:10:51.18
>>844
ありがとうございます
読んでみます!!
847デフォルトの名無しさん:2012/07/24(火) 14:43:11.30
Qt開発陣のやる気はすばらしいとおもうので、俺が金持ちだったらまじでかいたい。
848デフォルトの名無しさん:2012/07/24(火) 19:42:44.89
経済面で保証されなくなってももそのやる気が続くだろうか。
今はただの金食い虫で崩壊へとまっしぐらな帰属先に何らの収益も寄与していない。
849デフォルトの名無しさん:2012/07/24(火) 21:37:32.45
>>848
お金ちょ〜だい!
850デフォルトの名無しさん:2012/07/24(火) 22:11:35.21
資本主義の豚どもに共産主義の素晴らしさわ知らしめるのがオプソの役割なのに
結局資本が無いと何もできないのかよ
851デフォルトの名無しさん:2012/07/24(火) 22:15:03.14
同乗するなら金をくれ!
852デフォルトの名無しさん:2012/07/24(火) 23:32:15.01
>>850
共産主義国じゃGPLは尽くないがしろにされてて
共産主義とは犬猿の仲だからな
853デフォルトの名無しさん:2012/07/24(火) 23:36:35.07
Qtにのっかかってるソフトウェア結構多いしどこかしら買うんじゃないの
854デフォルトの名無しさん:2012/07/25(水) 00:13:54.84
Adobeが買えば最高なんだけどネェー
ごおgぇみたいに飼い殺ししないし
855デフォルトの名無しさん:2012/07/25(水) 01:13:22.60
>>850
ほとんどのオープンソースは、企業が見返りを求めて投資や寄付をしているから成り立っているんだよ。
856デフォルトの名無しさん:2012/07/25(水) 01:21:57.09
>>846
QtCreator使ってるなら
"ui_hogehoge.h" の上でCtrl押しながらマウスカーソル合わせれば対照へのリンクになる
クリックすれば飛べる

結構いろんな場所でこの機能は使える
知ってると便利
857デフォルトの名無しさん:2012/07/25(水) 12:54:10.18
>>856
なんと!
便利ですね!ありがとうございます!
858デフォルトの名無しさん:2012/07/25(水) 22:01:15.76
monoは再独立したあとVBから資本金あつめたみたいだし、
Qtも再独立した方が機動性いいのかもね。
そのなかでスマホ向けだけ有料とかうまく商用製品の競争優位を作れればいいんだけど。
859デフォルトの名無しさん:2012/07/25(水) 23:07:04.96
本当に馬鹿なことをしたものだ。
860デフォルトの名無しさん:2012/07/26(木) 01:19:46.81
どこで見たのか忘れたが、N9端末開発チームは独立したみたいだよ。
MeeGoとQtで生きていくって。スマートフォンにピッタリだって。
861デフォルトの名無しさん:2012/07/26(木) 07:31:59.34
>>852
共産主義国なんてあったっけ?
単なる共産党独裁ならあるけど。

まさかキューバやベネズエラ?
862デフォルトの名無しさん:2012/07/26(木) 15:37:20.53
世界で最も成功した共産主義国は日本だと言われているな
863デフォルトの名無しさん:2012/07/26(木) 15:56:36.33
し・ゃ・か・い・し・ゅ・ぎ
864デフォルトの名無しさん:2012/07/26(木) 16:45:45.75
共産主義・社会主義体制は短いスパンではうまくいくのだが、
数10年とたつと制度疲労をおこし崩壊すると言われている。

今がまさにその時?
865デフォルトの名無しさん:2012/07/26(木) 18:41:18.07
まさに公務員労働組合天国
866デフォルトの名無しさん:2012/07/26(木) 18:48:43.82
アカは認めたがらないけど、アカを名乗る国が軒並み腐敗するのは
アカで地上の楽園が作れるなんて、机上の空論って証明なんだよ
867デフォルトの名無しさん:2012/07/26(木) 19:08:01.98
反原発脱原発で集まってるアカ連中をみると
アカはあほばっかりに見える
868デフォルトの名無しさん:2012/07/26(木) 20:21:31.84
ごめん、自分が変なレスしたばかりにQt関係ない流れになっちまった。。。

ところでJavascriptのは最近どーなの?
869デフォルトの名無しさん:2012/07/26(木) 22:49:57.91
Nokiaにウンコマーンアホがもっといてくれたら
QtはNokiaの元でももっと発展できたろうになぁ
870デフォルトの名無しさん:2012/07/27(金) 07:56:00.03
Trolltechのままの方が発展して、iOSやAndroidをサポートしていたろうに。
871デフォルトの名無しさん:2012/07/27(金) 08:01:19.74
>>870
iosサポートされても静的リンクしなきゃならんし
872デフォルトの名無しさん:2012/07/27(金) 08:13:45.02
AndroidのAPKにまとめるのも静的リンク扱いだっけ
汚染されるんじゃ誰も使わないな
873デフォルトの名無しさん:2012/07/27(金) 08:26:43.26
>>872
dalvikコードの動的リンクができない話と誤解してるだろ。
それにandroid版qtは別パッケージ配信。
874デフォルトの名無しさん:2012/07/27(金) 08:31:35.53
necessitasの仕組みはよくできてて合理的だけど
複雑だからアプリに組み込んだときに一般のユーザーがついてこないんじゃないかと思う。

アプリの説明欄で簡潔に説明するのは難しい。
変なインストーラが起動した★☆☆☆☆ってなりそう。
875デフォルトの名無しさん:2012/07/27(金) 08:50:56.21
>>873
別パッケージだろうと動的リンクとみなされないからclasspath exceptionなんてものがあるんじゃねーの?
876デフォルトの名無しさん:2012/07/27(金) 09:11:08.36
>>875
あなたの世界のandroidの開発環境では
ネイティブコードもdalvikコードに変換されるようだが、普通は違うんだよ。普通は。
877デフォルトの名無しさん:2012/07/27(金) 09:21:40.22
おおこわいこわい
878デフォルトの名無しさん:2012/07/27(金) 09:25:14.84
>>875
根本的な認識がズレてる。
外部ライブラリとしてjarを利用してapk作成する場合にjar内のコードがアプリ本体コードにマージされる。
それを動的リンクできないと言っているだけ。
もちろん.soはdalvikコードと静的リンクできません。
わかった?
879デフォルトの名無しさん:2012/07/27(金) 09:27:20.47
おおこわいこわい
880デフォルトの名無しさん:2012/07/27(金) 09:40:29.51
デマ流しておいて偉そうだなコイツw

ios版Qtって、公式とは関係ないって認識でok?Qtぽい何か的な
881デフォルトの名無しさん:2012/07/27(金) 09:41:37.72
何がこわいんだ?
882デフォルトの名無しさん:2012/07/27(金) 10:40:09.60
饅頭
883デフォルトの名無しさん:2012/07/27(金) 12:59:20.34
次はBSDライセンスが怖いです
884デフォルトの名無しさん:2012/07/28(土) 06:25:08.67
QtのScrollAreaって、スクロールするたびにredraw呼び出されるので正常?
1度全部描画(表示領域より大きい領域)したらうまいことbitbltしてくれるものだと思ってたのに。
885デフォルトの名無しさん:2012/07/28(土) 12:19:23.01
>>884
> 1度全部描画(表示領域より大きい領域)したらうまいことbitbltしてくれるものだと思ってたのに。
viewport() の部分だけ描画するのが作法だと思ってたよ
886デフォルトの名無しさん:2012/07/28(土) 16:04:27.15
なんだよscrollareaってスクロールバーと連動できるってだけで
スクロール描画は自前かい。
887デフォルトの名無しさん:2012/07/28(土) 19:10:36.94
自前じゃなかったら、縦横10000pxみたいな
とても一度に描画できないサイズの奴コントロールできねえだろ
888デフォルトの名無しさん:2012/07/28(土) 19:12:33.89
VBer とかだろ、放置しなよ。
889デフォルトの名無しさん:2012/07/28(土) 19:12:55.22

典型的な勘違い野郎
890デフォルトの名無しさん:2012/07/28(土) 19:27:03.09
viewportって言ってるんだから、openglみたいに
描画部分だけうまくクリッピングしてくれるのかと思ったんだよ。
viewportじゃなくって、ただのviewだな。
891デフォルトの名無しさん:2012/07/28(土) 19:40:18.32
>>889
アイタタタ... (w
892デフォルトの名無しさん:2012/07/28(土) 19:42:50.56
>>883
BSDライセンスになったら開発が低迷するから怖い。
893デフォルトの名無しさん:2012/07/28(土) 20:10:43.11
openglだって毎フレーム自分で描画しなおすんだから事情は同じじゃん
894デフォルトの名無しさん:2012/07/29(日) 03:45:12.83
openglだと頂点データ全部ぶち込んでクリッピングはopenglの仕事

データのでかいゲームマップとかだと事情は変わるかもしれんが
895デフォルトの名無しさん:2012/07/29(日) 05:46:07.95
デフォルトでは適当にいい感じにクリップしてblitして、>>887みたいな奴だけオーバーライドして自前で最適な実装するようになってても罰は当たらないよな。
896デフォルトの名無しさん:2012/07/29(日) 16:58:35.46
scrollareaの中身をQWidgetからQLabelに変更したら
自動でスクロールバーが出て、期待通りにスクロール出来たぞ。

pixmapに自前paintしてsetPixmap。

やっぱりpaintEventをごそごそする必要ないじゃないか。



なんだけど、今回の場合pixmapで問題発生。pixmapのサイズ制限
(どうもピクセル数はsigned shortの範囲でないと駄目らしい)
に引っかかってしまった。

結局振り出しに戻る。
897デフォルトの名無しさん:2012/07/29(日) 17:14:32.05
夏休み始まったな
898デフォルトの名無しさん:2012/07/29(日) 19:21:21.68
>>897
だな
頭の中も暑いぜ
899デフォルトの名無しさん:2012/07/29(日) 21:04:06.65
>>896
ピックスマップのサイズはプラットフォーム依存で、大きなものは分割して処理。
900デフォルトの名無しさん:2012/07/30(月) 10:16:32.79
>>897に言われなければ夏休みが終わるまで気付かないところだったよ、ありがとう。
901デフォルトの名無しさん:2012/07/30(月) 10:42:34.93
ニートは毎日夏休み
902デフォルトの名無しさん:2012/07/30(月) 14:50:05.21
じゃあ俺は冬休みにする
903デフォルトの名無しさん:2012/07/30(月) 15:20:09.22
昔の2chは今のスラドなみの雰囲気はあったけどな
最近は・・・というかここ数年頭おかしい奴が、メチャクチャにしている、死ねばいいのに。
904デフォルトの名無しさん:2012/07/30(月) 18:09:34.98
今のスラド並って最悪じゃん
905デフォルトの名無しさん:2012/07/30(月) 18:48:19.39
上にも下にも裾野が広がってる証拠で結構なこと
906デフォルトの名無しさん:2012/07/30(月) 20:14:21.01
スラドってマカーがジョブズマンセーしてるだけの気持ち悪いサイトじゃん
907デフォルトの名無しさん:2012/07/30(月) 20:19:19.53
Visual Studio 2012 Part2
http://toro.2ch.net/test/read.cgi/tech/1339253467/605
605 :デフォルトの名無しさん :2012/07/30(月) 15:06:58.97
昔の2chは今のスラドなみの雰囲気はあったけどな
最近は・・・というかここ数年頭おかしい奴が、メチャクチャにしている、死ねばいいのに。
908デフォルトの名無しさん:2012/07/31(火) 04:49:08.85
2chの質はさておき、代替品としてスラドだけはないわ。
909デフォルトの名無しさん:2012/07/31(火) 18:04:05.74
2ch発祥のソフトは数多くあるが、スラド発祥のソフトって何かあったっけ?
910デフォルトの名無しさん:2012/07/31(火) 20:13:23.72
slashcode
911デフォルトの名無しさん:2012/07/31(火) 23:13:05.34
スラドの話うざいやめれ
---
如何なる内容であってもスラド民のレスはNGします
912デフォルトの名無しさん:2012/07/31(火) 23:56:24.05
スレから内容が脱線しすぎるのは確かによくないが
idも無い板でどうngにするんだ?
1レスずつ読んでからngにするのか?
馬鹿としか思えん。
だいたいなんでアピールしたんだ?
913デフォルトの名無しさん:2012/08/01(水) 00:48:13.21
如何なる内容であろうとACでの書き込みは一切無視します

ってやつのパロディなんだろ
914デフォルトの名無しさん:2012/08/01(水) 00:54:49.82
>>913
それは中身みなくても判別できるからなぁ
ガワだけもってきてパロディとはいえないよな
915デフォルトの名無しさん:2012/08/01(水) 01:26:23.63
だからいちいちムキになるなよ・・・w
スラドのノリを2chに持ち込まないでくあさいwww
916デフォルトの名無しさん:2012/08/01(水) 04:06:06.47
913のやつもそうだけど
スラドってなんでいちいち書き込みの最後に
ゴミみたいな文章付けて投稿するんだろう
917デフォルトの名無しさん:2012/08/01(水) 05:07:08.57
モデ対象にされずに自己主張
+後から消すのも変えるのも自由自在

それで「ACは卑怯でうんぬん〜」するところまでがテンプレ。

てかお前らなんでそんなにスラド好きなんだ。
918デフォルトの名無しさん:2012/08/01(水) 07:34:26.54
単にQtの話題が尽きたんだろ
誰かネタあったら投下してやれ
919デフォルトの名無しさん:2012/08/01(水) 07:48:50.25
キューティーハニー
920デフォルトの名無しさん:2012/08/01(水) 08:01:31.48
外人って本文よりでかい署名好きだよな
921デフォルトの名無しさん:2012/08/01(水) 08:06:55.69
>>919
キューティールビー
922デフォルトの名無しさん:2012/08/01(水) 08:16:00.64
Rubyのバインディングとかあるの?
923デフォルトの名無しさん:2012/08/01(水) 08:49:00.38
924デフォルトの名無しさん:2012/08/01(水) 12:01:59.15
925デフォルトの名無しさん:2012/08/02(木) 18:08:00.76
崩壊そして新天地へ。
926デフォルトの名無しさん:2012/08/02(木) 22:33:31.58
927デフォルトの名無しさん:2012/08/03(金) 15:43:49.21
Nokiaから売却されるなら朗報だよな。
928デフォルトの名無しさん:2012/08/03(金) 17:20:52.66
どこに売却されるかによるんじゃないかな
929デフォルトの名無しさん:2012/08/03(金) 20:37:57.90
売った方も買った方も経営者は失格。
930デフォルトの名無しさん:2012/08/04(土) 08:11:45.81
実質デスクトップ限定なGUIツールキットなんてビジネスとしてはあまりにも先行き真っ暗だよなー。
931デフォルトの名無しさん:2012/08/04(土) 08:47:02.51
お先真っ暗なのは君の情報収集能力じゃね?

組み込み機器でも使用例あるし。
932デフォルトの名無しさん:2012/08/04(土) 09:45:32.75
今は組み込みで使われている方が多い。
933デフォルトの名無しさん:2012/08/04(土) 11:44:30.11
Samsungの冷蔵庫にも使われてるそうだ。
タッチパネルで「今日のレシピ」とか見られるらしい。
934デフォルトの名無しさん:2012/08/04(土) 12:27:47.05
C++ベースだからな
組み込みでバリバリ使ってます
935デフォルトの名無しさん:2012/08/04(土) 12:46:10.23
気持ち悪いのが多いと思ったらここは組み込み系の巣か。
936デフォルトの名無しさん:2012/08/04(土) 12:48:14.24
組み込み以外のC++なんて、日本じゃ仕事ないだろ
937デフォルトの名無しさん:2012/08/04(土) 12:51:29.92
例のこの先真っ暗君だろ、温かく見守ってやろうよ。
938デフォルトの名無しさん:2012/08/04(土) 12:51:42.39
>>935
C++厨で組み込み厨でスラド民の三重苦を抱えた人達に酷い事言うもんじゃない
939デフォルトの名無しさん:2012/08/04(土) 13:16:47.62
冷蔵庫なんかだとそれこそAndroidでもWindows Embeddedでもよさそうだが。

「Qtは載るけどAndroidはちょっと無理」みたいな環境ってやたら狭くて狭くなる一方じゃないか?
940デフォルトの名無しさん:2012/08/04(土) 13:47:56.77
>>936
あるよ。
俺は装置制御アプリ作ってる。
941デフォルトの名無しさん:2012/08/04(土) 16:55:25.67
装置制御って組み込みの仲間に入れられてそう。
942デフォルトの名無しさん:2012/08/04(土) 18:01:01.06
PCで制御してるから組み込みじゃないんだけどね
943デフォルトの名無しさん:2012/08/04(土) 19:49:49.64
>>935
俺は印刷系
944デフォルトの名無しさん:2012/08/05(日) 21:46:06.93
制御系が多いんじゃないの。レジとか情報端末は普通にwindowsだろうし。
945デフォルトの名無しさん:2012/08/05(日) 22:36:55.72
冷蔵庫はTRON
946デフォルトの名無しさん:2012/08/06(月) 05:05:25.82
ホストにつながるような大型プリンタで、Unix WS で制御しているとかもあったし。
947デフォルトの名無しさん:2012/08/06(月) 06:39:40.99
>>935
COBOLでも使ってろタコ
948デフォルトの名無しさん:2012/08/06(月) 06:44:17.55
お前らOpenGLスレに迷惑かけるなよ
949デフォルトの名無しさん:2012/08/06(月) 20:02:28.29
Qtスレにまでわざわざ来るな
950デフォルトの名無しさん:2012/08/06(月) 23:03:26.98
キュリオシティはVxWorks
951デフォルトの名無しさん:2012/08/07(火) 04:31:32.70
組み込みや制御系にも居場所はなさそうだな。

あとはAutoDeskに買ってもらえるのに望みをかけるぐらいか。あそこが買ってもオープン化には興味なさそうだけど。
952デフォルトの名無しさん:2012/08/07(火) 06:08:33.86
なんで居場所がないことになってんだよ
ソースも公開されてるしバリバリ使わせて貰ってますがな
953デフォルトの名無しさん:2012/08/07(火) 06:16:13.52
ネガキャンしたくて仕方ないんだろ
954デフォルトの名無しさん:2012/08/07(火) 11:20:40.11
OpenGLスレにわざわざ出張してステマする奴らに言われたくないだろうな。
955デフォルトの名無しさん:2012/08/07(火) 12:08:06.70
見えない敵より、見える敵と戦おう
956デフォルトの名無しさん:2012/08/07(火) 14:00:26.81
自分と向き合わないとな。
957デフォルトの名無しさん:2012/08/07(火) 16:43:39.98
まず鏡か
958デフォルトの名無しさん:2012/08/07(火) 21:25:37.74
QAbstractListModelの実装の仕方が良くわからないです。正しい実装の仕方はどうなんでしょうか。

クラスに一行データを追加する前と後で
beginInsertRows(QModelIndex(), 0, 0);
// 配列にデータを追加
endInsertRows();
のようにシグナルをエミットするようにしたのですが、ビューに空のデータが追加されたようになってしまいます。
ビューをクリックしてデータを編集したときはちゃんと更新されます。
この2つのメソッドではなくreset()を使うと動きますが、やっちゃいけない方法に思えます。
959デフォルトの名無しさん:2012/08/08(水) 12:26:22.85
それでいいよ
960デフォルトの名無しさん:2012/08/08(水) 16:05:57.56
>>958
reset()は不要。rowCount()、data()、flags()、setData()などのコードを見直してみて。
961958:2012/08/08(水) 21:39:11.59
>>960
確かにsetData(),data()あたりのコードが間違っていたようです
ちゃんと表示されるようになりました。ありがとうございました
962デフォルトの名無しさん:2012/08/08(水) 22:55:54.32
前から思ってたんだけど、QAbstractItemModelの時点で
行の挿入やら削除のメソッドがpublicに定義されてるのって、なんか気持ち悪くね?
個人的には、こういうメソッドをユーザに呼んでもらっても困るようなモデルが多いんだけど
963デフォルトの名無しさん:2012/08/08(水) 23:02:26.57
>>962
横からだからよく分かんないけど、理想的にはどうだったらいいの?
964デフォルトの名無しさん:2012/08/08(水) 23:29:28.44
このメソッドを使うとあなたに呪いがかかる。決して使ってはならない。
965デフォルトの名無しさん:2012/08/08(水) 23:33:55.90
>個人的には、こういうメソッドをユーザに呼んでもらっても困るようなモデルが多いんだけど
なんでそういうモデル作ったの?
作りが悪くね?
966デフォルトの名無しさん:2012/08/09(木) 16:49:00.32
気持ち悪くない。困らない。作りは悪くない。
967デフォルトの名無しさん:2012/08/09(木) 17:24:01.07
DigiaがNokiaからQtを取得した。
968デフォルトの名無しさん:2012/08/09(木) 17:51:45.52
Digia plans to quickly enable Qt on Android, iOS and Windows 8 platforms
正しい流れだ。
969デフォルトの名無しさん:2012/08/09(木) 17:56:31.68
Digiaってどんな企業?
970デフォルトの名無しさん:2012/08/09(木) 18:07:30.01
Nokiaにべったりだった企業。
971デフォルトの名無しさん:2012/08/09(木) 18:08:38.54
そして、Symbianを放り出されて裏切られた。
972デフォルトの名無しさん:2012/08/09(木) 20:30:29.77
つまりどういうことだってばよ?
973デフォルトの名無しさん:2012/08/09(木) 21:03:59.37
974デフォルトの名無しさん:2012/08/09(木) 21:29:44.13
NokiaがダメにしたQtがまともになるかもしれないということだよ。
975デフォルトの名無しさん:2012/08/09(木) 22:02:29.32
QMLについては何も触れられてないけど、どうなるの?
976デフォルトの名無しさん:2012/08/09(木) 22:36:31.63
モバイルに力いれていくなら、QMLはますます重視されて
QWidgetsは軽視されるだろう
977デフォルトの名無しさん:2012/08/09(木) 22:37:24.48
Windows8とも書いてあるし、まぁそこまで悲観せんでもいいんでない
978デフォルトの名無しさん:2012/08/09(木) 23:00:55.31
Win8っていってもmetroスタイルのことだけで
デスクトップはアウトオブ眼中じゃね
979デフォルトの名無しさん:2012/08/10(金) 08:40:50.01
>>975
Qt 5はQML前提だからね。
>>978
デスクトップも続くよ。
980デフォルトの名無しさん:2012/08/10(金) 09:58:50.30
つまり、Didia が iOS, Android, Win8 で早急に Qt が動くようにするというのは、
QML が動作するようにするってこと?
981デフォルトの名無しさん:2012/08/10(金) 10:07:05.24
QMLが動くってことはそのバックエンドのC++も動かないと不可能
982デフォルトの名無しさん:2012/08/10(金) 10:53:01.04
>>980
QMLは動作はしているけれど、まだまだ不十分なのをちゃんと動くようにして、
サポートプラットフォームにするということだよ。
ウィジェットも動いているけれど、後回しでコンボボックスとかは動きが変でまだ使い物にならない、そして優先度は低い。
983デフォルトの名無しさん:2012/08/10(金) 10:53:41.66
Titaniumみたいになるんかなぁ
984デフォルトの名無しさん:2012/08/10(金) 20:32:49.03
出来が中途半端で動作がトロいんですね。わかります
985デフォルトの名無しさん:2012/08/11(土) 03:25:57.58
Qt5ってどうなの?
986デフォルトの名無しさん:2012/08/11(土) 13:30:52.65
Widgetを複数配置するときWidget1は幅固定、Widget2は残りの幅全てを使う
ってな事がしたいんですが、一番完結に実装するおすすめの方法ありますかね?
他の環境みたいにちまち調整するのは面倒です
987デフォルトの名無しさん:2012/08/11(土) 14:11:41.90
え?
ネタ?

988デフォルトの名無しさん:2012/08/11(土) 14:13:25.96
サイズポリシーすら理解できないならウィンドウサイズ取得して自分で設定すれば?
989デフォルトの名無しさん:2012/08/11(土) 14:42:41.93
>>986
Qt CreatorかQt Designer使うの? それともコード手書き?
990デフォルトの名無しさん:2012/08/11(土) 16:26:54.28
>>989
手書きです。QVBoxLayoutみたいな感じで
さくっと書けないものかと思ってます。
991デフォルトの名無しさん:2012/08/11(土) 21:48:14.01
>>986 >>990
ストレッチファクタを0と1にしてみては。
992デフォルトの名無しさん:2012/08/11(土) 23:00:52.19
QHBoxLayout使えよ
993デフォルトの名無しさん:2012/08/12(日) 08:03:50.65
ちまちま調整って具体的になんのことを言ってるんだ?
レイアウトに入れてサイズポリシー設定するだけだろうに
994デフォルトの名無しさん:2012/08/12(日) 13:58:33.22
>>991
>>993
すみません。サイズポリシー設定だけでできました。
簡単な質問で申し訳ありません。
995デフォルトの名無しさん:2012/08/12(日) 18:29:38.67
Nokia、全Qt事業をフィンランドのDigiaに売却
http://sourceforge.jp/magazine/12/08/09/2048249
日本語の記事
996デフォルトの名無しさん:2012/08/12(日) 18:34:09.99
玉フィンフィン
997デフォルトの名無しさん:2012/08/12(日) 19:33:48.53
もうSymbianはダメだな
998デフォルトの名無しさん:2012/08/12(日) 20:10:28.38
まだ大丈夫だったのか?
999デフォルトの名無しさん:2012/08/12(日) 20:58:48.06
Qt 5ではSymbianのコードは削除されている。
1000デフォルトの名無しさん:2012/08/13(月) 05:32:53.94
Qtは衰退しました
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。