1 名前:ひろみちゅ mailto:sage [2011/08/19(金) 13:24:49.29 ] 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 総合スレ 11 【Win/Mac/Linux】 hibari.2ch.net/test/read.cgi/tech/1306071448/
2 名前:ひろみちゅ mailto:sage [2011/08/19(金) 13:25:29.88 ] ■リンク ・Qt Development Frameworks (Nokia社のQt公式サイト) qt.nokia.com/title-jp ・SRA社(日本の代理店)の日本語で読める Qt 関連ドキュメント www.sra.co.jp/qt/relation/index.html ・Qt Users Forum Japan qtusersforum.s2.zmx.jp/forum/index.php ■ライセンス関連まとめ 各ライセンスでの自作アプリのソース公開/頒布 Qtのライセンス アプリのライセンス Qtの頒布/(変更部分のソース公開) GPL GPL(ソース公開必須) 必須 LGPL 任意(ソース公開不要) 必須 商用 任意(ソース公開不要) 不要 *: LGPLは動的リンク時 実際には他にも条件(リバースエンジニアリング関係とか)あるので、 きちんとライセンスの条文を読むこと。
3 名前:デフォルトの名無しさん [2011/08/19(金) 13:25:55.39 ] Windows ユーザー向け Tips ・プロジェクトのパスに日本語を入れちゃダメ ・日本語のソースコードは、MinGW版ならUTF-8、VC版ならSystem(Shift-JIS) プロジェクト作成後に「プロジェクト」タブの「エディタの設定」→「デフォルトの文字コード」 ・デバッグ出力などが文字化けする場合、プログラムの最初で文字コード変換設定をする QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf-8")); //ソースの文字コードを直接指定("utf-8"や"Shift-JIS") // QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale()); //システムロケールの文字コードを指定 QTextCodec::setCodecForTr(QTextCodec::codecForName("utf-8")); //翻訳用マクロ tr()の文字コード qDebug() << "うまく表示できた?"; ・MinGW版配布時は mingwm10.dll も一緒に入れる(public domain。配布上の制限はない)
4 名前:ひろみちゅ mailto:sage [2011/08/19(金) 13:27:22.04 ] ■インストール方法:MinGW版Qt & Qt Creator (1)「Qt SDK for Windows」をインストール qt.nokia.com/downloads/sdk-windows-cpp ■インストール方法:VisualC++版Qt & Qt Creator MinGW版との違い:Phononが利用可能。VC版の方が速いらしい (1)「Microsoft Visual C++ 2008」(Express Edition 以上) をインストール (2)「Microsoft Debugging Tools」をインストール www.microsoft.com/japan/whdc/devtools/debugging/installx86.mspx (3)「Qt libraries for WIndows(VS 2008)」をインストール qt.nokia.com/downloads/windows-cpp-vs2008 (4)「Qt Creator Binary for Windows」をインストール qt.nokia.com/downloads/qt-creator-binary-for-windows (5)環境変数PATHを設定(もともと入ってたパス;Qtインストールパス\bin) (6)Qt Creator を起動して、「ツール」→「オプション」 「Qt4」→「Qt Versions」を開いて自動検出された「PATH に含まれる Qt」をクリックし「MSVC バージョン」を 9.0 にする 「デバッグヘルパ」が×印になっていれば「リビルド」ボタンをクリックしてリビルド もし失敗したら「プロジェクト」→「ビルドして実行」→「nmake の代わりに jom を使用する」のチェックを外してリビルド
5 名前:ひろみちゅ mailto:sage [2011/08/19(金) 13:28:08.90 ] ■Qt Creator 日本語化プロジェクト Qt Creator を日本語化するプロジェクトです(非公式) qt-creator-jp.sourceforge.jp/ ■Python バインディング PyQt4(GPL。定番) www.riverbankcomputing.co.uk/software/pyqt/intro PySide(LGPL。) www.pyside.org/downloads/ ごちゃごちゃ言わず、QtQuickも使ってみてください(><;) では、どうぞ!
6 名前:デフォルトの名無しさん mailto:sage [2011/08/19(金) 13:35:11.85 ] >ごちゃごちゃ言わず、QtQuickも使ってみてください(><;) ハ,,ハ ((⊂ ヽ ( ゚ω゚ ) / ⊃)) | L | '⌒V / ヽ,_,/ ヽ_./ お断りします __,,/,, i お断りします ( _ | \\_  ̄`'\ \ ヽ ) > ) (_/´ / / ( ヽ ヽ_)
7 名前:デフォルトの名無しさん mailto:sage [2011/08/19(金) 14:44:48.61 ] SDKってサイズでかすぎない? あんまりデカイの入れたくないから極力削りたいんだけど (HDD増設しろというのは横に置いておいて) Symbianは興味も無いから入れないとして Qt Creator上で開発するとすれば、Simulatorは入れなくて良いのかな?
8 名前:デフォルトの名無しさん mailto:sage [2011/08/19(金) 15:01:49.64 ] でかいよね Qt Quickとか 別プロジェクトにすればいいのに
9 名前:デフォルトの名無しさん [2011/08/19(金) 18:19:41.06 ] >>7 Simulatorも入れなくてよいですよ。 SDKのアップデータが煩わしいので、Qt CreatorとQtを入れるようにしています。
10 名前:デフォルトの名無しさん mailto:sage [2011/08/19(金) 19:13:55.90 ] >>9 Qt CreatorとQtライブラリを個別に落としてインストールするだけで良いのかな?
11 名前:デフォルトの名無しさん [2011/08/19(金) 19:54:25.55 ] >>10 そうしているよ。
12 名前:デフォルトの名無しさん mailto:sage [2011/08/20(土) 09:20:33.82 ] SDKサイズうざいけど手動でごちゃごちゃやるのも面倒だから全部入れてるわ俺
13 名前:デフォルトの名無しさん mailto:sage [2011/08/20(土) 12:22:13.48 ] その為のSDKだから間違っちゃいないよ
14 名前:デフォルトの名無しさん mailto:sage [2011/08/20(土) 13:34:38.60 ] 前スレ最後の妙に味わいのあるAAが気になる
15 名前:デフォルトの名無しさん [2011/08/20(土) 14:21:48.43 ] SDKはDefaultは使わずに、CustomでAPIs、Qt Moblility(デスクトップ用にビルドしたものは入ってない)、Qt Simulator Documentation、Symbian Documentation、Simulator、Device Filesを外して、 Qt DesignerとQt Linguistを追加するとサイズも小さくてインストールも早くてよい。
16 名前:デフォルトの名無しさん mailto:sage [2011/08/22(月) 03:05:37.21 ] >>3 #include <QTextCodec> もテンプレに入れておきなよ。
17 名前:デフォルトの名無しさん mailto:sage [2011/08/22(月) 23:57:15.67 ] 【CodeGear】Embarcaderoオッチャ その25【Delphi】 hibari.2ch.net/test/read.cgi/tech/1310977286/
18 名前:デフォルトの名無しさん mailto:sage [2011/08/23(火) 00:49:39.51 ] Qt for Google Native Client Preview labs.qt.nokia.com/2010/06/25/qt-for-google-native-client-preview/ っしゃ。これでブラウザでも勝てる?
19 名前:デフォルトの名無しさん mailto:sage [2011/08/23(火) 01:30:07.02 ] それ1年以上前の記事だけど今どうなってんの?
20 名前:デフォルトの名無しさん [2011/08/24(水) 13:27:46.90 ] Windows で、ある拡張子を Qt で作成したアプリに関連付けし、 エクスプローラで関連付けされたファイルをダブルクリックすると、 アプリが起動し、main(int argc, char *argv[]) がコールされます。 このとき argv[] に入っているファイル名の文字エンコーディングは何なのでしょうか?
21 名前:デフォルトの名無しさん [2011/08/24(水) 20:08:42.89 ] >>20 そこ迄動いているなら、argv[]の中を見てみれば分かる。
22 名前:デフォルトの名無しさん mailto:sage [2011/08/24(水) 20:29:41.82 ] >>20 5スレ前のログだが #include <QtGui> int main(int argc, char *argv[]) { QApplication app(argc, argv); QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf-8")); //ソースの文字コードを指定("utf-8"や"Shift-JIS") QTextCodec::setCodecForTr(QTextCodec::codecForName("utf-8")); //同上 QString str = argv[1]; // 添え字チェックはとりあえず無視 qDebug() << str; //NG str = app.arguments()[1]; qDebug() << str; //OK str = QString::fromLocal8Bit(argv[1]); qDebug() << str; //OK return 0; }
23 名前:デフォルトの名無しさん mailto:sage [2011/08/24(水) 21:57:51.30 ] Qt初心者なんですが、ぱっと触ってみた感じでは、 GUIはデザインツール使わずに、ゴリゴリ書いたほうが分りやすくないですか? みなさんはどうやって書いてます? 現在、Windows用とMac用で同一アプリ作っているんですが、 Qtだとコードが一本化されそうなんで期待大です。
24 名前:デフォルトの名無しさん mailto:sage [2011/08/25(木) 01:12:13.98 ] >>23 俺は、QtであろうとJavaであろうと秀丸エディタ+コマンドラインコンパイル
25 名前:デフォルトの名無しさん mailto:sage [2011/08/25(木) 01:59:47.31 ] デザイナは使いこなせないのでコード書く派です。
26 名前:デフォルトの名無しさん mailto:sage [2011/08/25(木) 02:20:49.85 ] VisualStudioからデザイナが起動できないから 全部コードで書いてる
27 名前:デフォルトの名無しさん mailto:sage [2011/08/25(木) 12:05:08.55 ] >>23 デザインツール使った方が良いよ
28 名前:デフォルトの名無しさん mailto:sage [2011/08/25(木) 15:06:59.56 ] ( ゚ω^ )b
29 名前:デフォルトの名無しさん mailto:sage [2011/08/25(木) 15:16:39.31 ] なんやそのツラ、腹立つなあ
30 名前:デフォルトの名無しさん mailto:sage [2011/08/25(木) 15:49:01.00 ] >>23 簡単なGUIならともかく,パーツの数がある程度増えてレイアウトも複雑に なるのならデザインツール使ってWYSIWYGでやった方が良い。 どうせ紙にポンチ絵描くくらいなら,デザインツールで直接作ってしまった 方が手っ取り早いよ。
31 名前:デフォルトの名無しさん mailto:sage [2011/08/25(木) 17:52:27.33 ] 慣れれば楽だよ。
32 名前:デフォルトの名無しさん mailto:sage [2011/08/25(木) 18:26:30.52 ] >>24 漢だな。
33 名前:デフォルトの名無しさん mailto:sage [2011/08/25(木) 19:46:06.90 ] リダイレクト一発。修正はしない。
34 名前:デフォルトの名無しさん mailto:sage [2011/08/25(木) 19:49:36.19 ] 秀丸からVisualStudioを使うマクロがあったな
35 名前:デフォルトの名無しさん mailto:sage [2011/08/26(金) 15:36:21.27 ] ツールバーにいろいろ追加していると右のほうにはみ出てしまうんだが多段表示にできないの? 起動後にいちいちドラッグで多段にするのめんどい
36 名前:デフォルトの名無しさん mailto:sage [2011/08/26(金) 19:17:54.65 ] 次期Microsoft OfficeのVBAはJavaScriptになるそうです。
37 名前:デフォルトの名無しさん mailto:sage [2011/08/26(金) 22:14:11.40 ] JScriptじゃなくて?w
38 名前:デフォルトの名無しさん mailto:sage [2011/08/26(金) 22:26:21.95 ] 帳票ツールってどうしてる?
39 名前:デフォルトの名無しさん mailto:sage [2011/08/27(土) 03:56:13.13 ] 帳票こそVBAで書けよ
40 名前:デフォルトの名無しさん mailto:sage [2011/08/27(土) 08:05:25.91 ] なるほど。
41 名前:デフォルトの名無しさん mailto:sage [2011/08/27(土) 23:50:33.19 ] 座標や幅の設定ってgeometry 使わないとできないのでしょうか? 普通に widget->x = 100; とか widget->setX(100); みたいなのができるかと思っていたのですが、 それらしい関数がわかりませんでした。 固定的な幅と高さの設定は分かったのですが。。。 この座標等を「この設定にしたい」という場合は、 現在の geometryを取得 必要な場所だけ上書きして、残りは前の設定を入力。 geometory を 再設定 という流れが通常という認識でよろしいですか?
42 名前:デフォルトの名無しさん mailto:sage [2011/08/28(日) 00:25:29.38 ] >>41 move、resize
43 名前:デフォルトの名無しさん mailto:sage [2011/08/28(日) 00:38:49.46 ] >>42 なるほど。ありがとうございます。
44 名前:デフォルトの名無しさん mailto:sage [2011/09/01(木) 03:16:33.23 ] PySideはいまだにバグだらけ。
45 名前:デフォルトの名無しさん [2011/09/01(木) 11:25:05.12 ] これ?既出かな? Monkey Studio (MkS) - C++/Qt 4 用クロスプラットフォーム統合開発環境 ttp://www.monkeystudio.org/
46 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 00:11:28.92 ] Qt 4.7.4 Qt Creator 2.3
47 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 00:36:33.01 ] メンテナンスツールはアップデートして益々使いづらくなったような
48 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 00:41:45.94 ] Qtがオワコンになる日がこようとは
49 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 00:44:29.53 ] Qt Creatorとどう違うのかがFAQにすら書いてないね。 うーん。
50 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 00:51:14.88 ] アホ毛
51 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 13:54:36.42 ] >>46 4.7系最終版だな ttp://sourceforge.jp/magazine/11/09/02/0332244 >>48 別に終わってない。 >>48 ざっと Features ページを読む限り、汎用IDEにQt 関連機能を追加したものってところか。
52 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 19:56:50.29 ] >>47 SDKはもう少し使いやすい構成にしてメンテナンスツールをまともにしないといけない。
53 名前:デフォルトの名無しさん mailto:sage [2011/09/04(日) 15:00:46.30 ] プロジェクトの中で使われている、フォント名を調べるには
54 名前:デフォルトの名無しさん mailto:sage [2011/09/04(日) 17:27:02.78 ] はい
55 名前:デフォルトの名無しさん mailto:sage [2011/09/04(日) 20:32:36.92 ] >>44 その上にこの窮状 >the Nokia MeeGo funding for PySide is slated to end after this year, >and I have also failed to find a new sponsor for the project within Nokia. www.pyside.org/2011/08/pyside-project-future/
56 名前:デフォルトの名無しさん mailto:sage [2011/09/04(日) 22:17:36.91 ] PyQtがあるから問題なし。
57 名前:デフォルトの名無しさん mailto:sage [2011/09/05(月) 02:20:25.46 ] Qt Creatorをバージョンアップしたらいつの間にか 「Ctrl+←→」の移動範囲が単語単位から大文字区切りになったり 文字列選択中にカッコを押したら選択範囲にカッコが付けられたりと 使用変更されてね? はっきり言って使いにくいんだけど
58 名前:デフォルトの名無しさん mailto:sage [2011/09/05(月) 02:23:45.66 ] ソースコードを読めば云々
59 名前:デフォルトの名無しさん mailto:sage [2011/09/05(月) 07:53:12.00 ] 「Ctrl+←→」は、オプションのキーボードでキーボードショートカット定義。 使いにくい方については、オープンソースなのだから文句は言わずに、オプションで切換えられるようにするパッチを作ってマージリクエストすればよい。
60 名前:デフォルトの名無しさん mailto:sage [2011/09/05(月) 08:57:43.27 ] というか どういう理由で今まで使いやすかったのを 変更したのかね
61 名前:デフォルトの名無しさん mailto:sage [2011/09/05(月) 09:11:32.87 ] 「Ctrl+←→」はキャメルの方が使いやすいから。 カッコの方は機能追加だから。選択範囲をカッコにしたければ消してからカッコを入れればよい。
62 名前:デフォルトの名無しさん mailto:sage [2011/09/05(月) 09:32:20.74 ] 今でより使いやすくなった。
63 名前:デフォルトの名無しさん mailto:sage [2011/09/05(月) 11:09:23.47 ] IntelがMeeGo開発から手を引くらしい。
64 名前:デフォルトの名無しさん mailto:sage [2011/09/05(月) 21:51:43.18 ] QtはQtだしあんま関係ないよデスクトップ用途では 今まで通り進んでゆくだろうし…どっちかっていうと モバイルのほうが特殊な環境なんよ
65 名前:デフォルトの名無しさん mailto:sage [2011/09/06(火) 12:01:16.08 ] QAbstractItemModelの実装例が載ってるサイトしりませんか?
66 名前:デフォルトの名無しさん mailto:sage [2011/09/06(火) 19:33:02.39 ] >>65 本家のdoc.qt.nokia.com/latest/model-view-programming.html#model-subclassing-reference に実装するときに満たすべき要件のガイドみたいなのがある。 実装例は上のページから辿れる所にある以下の2つとか。pdfの方は23ページ辺り(紙面上の表記は239ページ) doc.qt.nokia.com/latest/itemviews-simpletreemodel.html ptgmedia.pearsoncmg.com/images/0131872494/samplechapter/blanchette_ch10.pdf
67 名前:デフォルトの名無しさん mailto:sage [2011/09/06(火) 20:17:35.51 ] >>64 NokiaにいるQtの開発者はNokiaの携帯が売れるから食っていけてるいる訳だ。 商用版はDigiaに売ってしまっているから、Digiaがいくばくか払ってはいるかもしれないが、直接的な収入はまったくない。 QtがNokiaの携帯に使われなくなっているのに、NokiaがQtの開発者を食わせていく価値があるのだろうか。まったくない。 NokiaからIntelに行った開発者もいるが、IntelがMeeGoから手を引けば存在価値はなくなる。 これで、今まで通りにデスクトップ用途で進めるか。進める訳がない。 NokiaにQtを売ったのがそもそもの間違いなのだ。
68 名前:デフォルトの名無しさん mailto:sage [2011/09/06(火) 20:19:39.03 ] またいつものアスペか
69 名前:デフォルトの名無しさん mailto:sage [2011/09/06(火) 20:20:12.91 ] >>65 オープンなトレーニング飼料にスライドとサンプルコードがあるよ。 qt.nokia.com/learning/online/training/materials/essentials_-_widget_edition
70 名前:デフォルトの名無しさん mailto:sage [2011/09/06(火) 20:21:02.00 ] >>68 また、いつものどカスか。
71 名前:デフォルトの名無しさん mailto:sage [2011/09/06(火) 21:28:27.61 ] >>66 >>69 ありがとうございます
72 名前:デフォルトの名無しさん mailto:sage [2011/09/07(水) 01:41:11.76 ] >オープンなトレーニング飼料に 一瞬畜産業でもはじまったんかと思ったわw
73 名前:デフォルトの名無しさん mailto:sage [2011/09/07(水) 13:41:18.08 ] こりゃ、Gtk+の時代・・・ あるで!
74 名前:デフォルトの名無しさん mailto:sage [2011/09/09(金) 01:14:23.83 ] GTK+と共に廃れる時代。
75 名前:デフォルトの名無しさん mailto:sage [2011/09/09(金) 01:20:09.54 ] GTKは糞
76 名前:デフォルトの名無しさん mailto:sage [2011/09/09(金) 03:10:17.10 ] こりゃ、Flkの時代・・・ あるだっちゃ!
77 名前:デフォルトの名無しさん mailto:sage [2011/09/09(金) 03:17:53.35 ] 以下マイナーGUIツールキット知ってる自慢が続きます・・・
78 名前:デフォルトの名無しさん mailto:sage [2011/09/09(金) 03:18:03.36 ] FLTKはスレ立ってないね ストラウなんとかさんの本で出てたが
79 名前:デフォルトの名無しさん mailto:sage [2011/09/09(金) 20:17:35.65 ] >>77 はい。マイナーね。 寒天。その実力は!? - Agar(あがー) ttp://libagar.org/ 乳酸菌は入ってません。 - Lgi (えるじー) ttp://www.memecode.com/ 動物園。今更 System 7対応。お黄泉帰りOldMacの皆様 - Zoolib (ずららいぶ) ttp/www.zoolib.org/
80 名前:デフォルトの名無しさん mailto:sage [2011/09/09(金) 21:02:50.16 ] Qtのソースコードってクラス設計の勉強になります?
81 名前:デフォルトの名無しさん mailto:sage [2011/09/09(金) 21:39:29.76 ] なります
82 名前:デフォルトの名無しさん [2011/09/09(金) 22:42:33.13 ] InterViews復活はまだか?
83 名前:デフォルトの名無しさん mailto:sage [2011/09/09(金) 23:03:14.78 ] Qtのソースは巨大すぎて設計の勉強にならん
84 名前:デフォルトの名無しさん mailto:sage [2011/09/09(金) 23:27:40.11 ] クラスの設計の勉強なら,ソースコードは要らないでしょ? ドキュメントだけで充分わかる。
85 名前:デフォルトの名無しさん mailto:sage [2011/09/09(金) 23:34:58.61 ] Qt4.7のQProcess使って、stdoutを読んで、それに応じてstdinに書きたいのだけど、 readyReadStandardOutput()シグナルが出てくれなくて困ってる。 (stdoutがバッファリングされてるのかな?) 1行ごとか、stdoutがflushされるごとに発してくれたら、 あるいは、Qt側からflushさせることができたらありがたいのだけど。 いい方法ないですか? startのOpenMode引数に QIODevice::ReadWrite | QIODevice::Text や QIODevice::ReadWrite | QIODevice::Unbuffered 指定はやってみたけど、変わらなかった。 ぐぐったらQt3時代のwhile(proc->canReadLineStandardOut()){}みたいなのが出てきたから proc->setReadChannnel(QProcess::StandardOutput); while(proc->canReadLine()){}やってみたが、canReadLine()がfalse返すだけだった。 ためしにシグナルきてなくてもreadAllStandardOutput()呼び出したが、何もこなかった。 waitForReadyRead()呼び出してみたが、処理が帰ってこなくなるだけだった。
86 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 08:54:12.01 ] 複数のQTimerクラスを使って処理を分けたいのですが timeoutが発生したQTimerが、どのQTimerなのか判別できなくて困っています。 A,B,C,Dという4つのQTimerクラスを生成して、それぞれstartを実行させると バラバラにtimeoutが呼び出されるんですが、その際にどのQTimerなのかを 判定するにはどうしたらよいでしょうか。
87 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 08:57:07.00 ] sender()でわからない?
88 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 09:17:07.95 ] >>86 4つのタイマーのスロットを分けるか、スロットを共通にするなら>>87 の言うように sender()で識別可能。
89 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 10:43:01.69 ] >>87 ,88 ありがとうございます。QTimerは動的に生成するのでスロットは共通を 考えていました。sender()の存在は知りませんでした。 timeout時のスロットをこんな感じで実装してみます。 void a::slot(){ QTimer* timer; timer = qobject_cast<QTimer*>(QObject;;sender()); (略) } 取得したtimerと自分で持ってるQTimerを比較して一致したら特定 とできそうです。
90 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 12:18:08.43 ] 比較だけならqobject_castしなくてもよいですよ。
91 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 12:38:20.37 ] >>90 あ、そうか、アドレス比較ならキャストしなくてもいいのか。 すいません、どうもありがとうございます。
92 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 14:08:12.01 ] アドレス比較でもいけるんやろけど、お行儀的には QTimer::timerId() を使って比較する方が賢明な 気がしないでもない。
93 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 15:37:55.88 ] QTimer::timerId()は、setInterval()を呼び出すと変わってしまうからアドレス比較をしなければならない。 スレッドを跨がっていたら、ドキュメントにスレッドセーフと書かれてなくてもtimerId()ならよいけれど、 他のメソッドはスレッドセーフでないから注意。
94 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 17:02:40.64 ] そういうことなら、QObject::property() の方がいいかも。
95 名前:デフォルトの名無しさん mailto:sage [2011/09/10(土) 21:35:23.53 ] アドレス比較でいいと思うけど、お行儀気にするならQSignalMapperでも使えば? >>85 UNIXかMinGWなら内部でPIPE使ってるから、 ./a.out |cat みたいにしても何も表示されないなら無理。 Windowsは知らん。
96 名前:デフォルトの名無しさん mailto:sage [2011/09/12(月) 12:13:35.71 ] だれか↓読んだ人いますか? www.amazon.co.jp/Advanced-Qt-Programming-Creating-Development/dp/0321635906 ・・・Advanced Qt
97 名前:デフォルトの名無しさん mailto:sage [2011/09/12(月) 12:38:54.75 ] カスタマーレビュー見ればいいだろ www.amazon.com/Advanced-Qt-Programming-Creating-Development/product-reviews/0321635906/ref=dp_top_cm_cr_acr_txt?ie=UTF8&showViewpoints=1
98 名前:デフォルトの名無しさん mailto:sage [2011/09/12(月) 14:48:32.46 ] それ日本語版が出るんじゃなかった? QtWebkit、 Model/View(QTreeView、QListView、QTableView)、 QTextEdit、 QGraphicsView あたりを知りたい人向け
99 名前:デフォルトの名無しさん mailto:sage [2011/09/12(月) 21:24:11.68 ] すみません、質問です。 MFC CDCを使って様々な図形を描画している、ソースコードを、 Qtのソースコードへと移植したいんですが、どういった方法がいいでしょうか? 自分でラッパーを書こうかと思ったのですが、大変そうなので、もっと効率的な方法があればと 思って質問させて頂きました。 (仮想マシンのWindows上で動かす以外の案でお願いします。 Qt/MFC Migration Frameworkというのもあるようですが、CDCは関係なさそうなので… 動かすだけなら、Wineというのを使ったほうがいいのでしょうか(?)) 何か的はずれなことを書いているかもしれませんが、 アドバイスのほどよろしくお願いします。
100 名前:デフォルトの名無しさん mailto:sage [2011/09/12(月) 21:25:51.75 ] >>99 すみません、抜けてますが、移植先の環境はCentOS6を考えています。