1 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 00:43:36 ] 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 総合スレ 6 【Win/Mac/Linux】 pc12.2ch.net/test/read.cgi/tech/1264745386/
2 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 00:44:23 ] ■リンク ・Qt Development Frameworks (Nokia社のQt公式サイト) qt.nokia.com/title-jp ・SRA社(日本の代理店)の日本語で読める Qt 関連ドキュメント www.sra.co.jp/qt/relation/index.html ・Qt Users Forum Japan qtusersforum.s2.zmx.jp/forum/index.php ■ライセンス関連まとめ 各ライセンスでの自作アプリのソース公開/頒布 Qtのライセンス アプリのライセンス Qtの頒布/(変更部分のソース公開) GPL GPL(ソース公開必須) 必須 LGPL 任意(ソース公開不要) 必須 商用 任意(ソース公開不要) 不要 *: LGPLは動的リンク時 実際には他にも条件(リバースエンジニアリング関係とか)あるので、 きちんとライセンスの条文を読むこと。
3 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 00:45:04 ] Windows ユーザー向け Tips ・プロジェクトのパスに日本語を入れちゃダメ ・日本語のソースコードは、MinGW版ならUTF-8、VC版ならSystem(Shift-JIS) プロジェクト作成後に「プロジェクト」タブの「エディタの設定」→「デフォルトの文字コード」を設定すると幸せになれる ・デバッグ出力などが文字化けする場合、プログラムの最初で文字コード変換設定をする QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf-8")); //ソースの文字コードを指定("utf-8"や"Shift-JIS") QTextCodec::setCodecForTr(QTextCodec::codecForName("utf-8")); //同上 qDebug() << "うまく表示できた?"; ・MinGW版の配布時は mingwm10.dll も一緒に入れておく(public domain で配布上の制限はない) ■インストール方法:MinGW版Qt & Qt Creator (1)「Qt SDK for Windows」をインストールすればOK 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」をインストール(※Qt Creator上でデバッグする時に必要) 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 を使用する」のチェックを外してみる
4 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 00:46:05 ] ■Qt Creator 日本語化プロジェクト Qt Creator を日本語化するプロジェクトです(非公式) qt-creator-jp.sourceforge.jp/ ■Python バインディング PyQt4(GPL。定番) www.riverbankcomputing.co.uk/software/pyqt/intro PySide(LGPL。Win版はまだ無いけど今後に期待) www.pyside.org/ それでは、はりきってどうぞ!
5 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 02:44:42 ] QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale()); //環境にあわせる QTextCodec::setCodecForTr(QTextCodec::codecForName("utf-8")); //ソースの文字コードを指定("utf-8"や"Shift-JIS") の方が無難な気がする
6 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 04:31:27 ] スレ立て乙です
7 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 04:46:17 ] 前スレの>>995 スレをまたいで話題を続けたくはなかったんだが、あまりに酷い誹謗中傷なので書かせてもらう。 > >>989 みたいな > 「Delphi/Builderではできたからxxでもこうできなくてはならない」 > なんて価値観の押しつけってバカ丸出しだと思う。しかもエンバカ難民。 > 国を捨てて流れ着いた難民が、「元の国ではこんなサービスがあったんだから > この国でも我々は同じサービスを受ける権利がある」なんて主張したらどう思う? > 帰れよ元の国に、って思うんじゃない? 全く的外れ。難民と化したDelphi使いがそれに近い開発環境を求めた結果、 Qt+Qt Creatoにたどり着いた。機能的にはこれでほぼ文句ないと思っている。 ただ、前スレの>>905 はコンパイル時間が気になると言った。 それに対してはプリコンパイルドヘッダーとjomという軽減策がある。 それなのにDelphiを使ったことのない人が、事情もわからずに「コンパイル時間」 の一言を聞いてPyQtを勧めだした。これこそ価値観の押し付けじゃないのか?
8 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 07:14:56 ] >>5 QTextCodec::codecForLocale()って必ず"System"ロケールに合わせるみたいだから MinGW版はソースがutf-8なのにSJISで扱われて困るんじゃないかなー 試しに↓のコードを実行したら、俺の環境だとVCではOKでMinGWだと文字化けしたけど #include <QtGui> int main(int argc, char* argv[]) { QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale()); //環境にあわせる QString str = "日本語"; qDebug() << str; return 0; }
9 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 11:04:00 ] >>8 そうだね。MinGWだと例のコンパイルオプション付けないと化けるけど、MinGWによっては そのコンパイルオプション効かないのもあるし、Qt標準のMinGWはまさにそのコンパイル オプションが効かないヤツ(本家)だから、話がややこしくなる。 QTextCodec::setCodecForTr() の方は、tr()で囲った文字列に有効なんだけど、そのことも 書いてないし。 この辺りは事情が複雑だから、QTextCodecの話は敢えてテンプレートに書かなくても いいんじゃないのかな。書くのなら、 ■WindowsでVCの場合(日本語を含むソースコードはShift_JISで書く) QTextCodec::setCodecForCStrings(QTextCodec::codecForName("Shift_JIS")); QTextCodec::setCodecForTr(QTextCodec::codecForName("Shift_JIS")); ■WindowsでMinGWの場合(日本語を含むソースコードはUTF-8で書く) QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf-8")); QTextCodec::setCodecForTr(QTextCodec::codecForName("utf-8")); とすべきだと思う。
10 名前:デフォルトの名無しさん [2010/04/04(日) 11:41:30 ] >>9 >■WindowsでVCの場合(日本語を含むソースコードはShift_JISで書く) >QTextCodec::setCodecForCStrings(QTextCodec::codecForName("Shift_JIS")); >QTextCodec::setCodecForTr(QTextCodec::codecForName("Shift_JIS")); 日本語環境のVC2005以降なら、UTF-8はSJISに変換されるので、UTF-8で書いてもこれで通ってしまう。
11 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 12:12:32 ] >>7 それに対して、IDEの完成度でPyQtを非難していたヤツはまだいいけど、 なぜかPythonを「所詮はスクリプト言語」とか言い出すアホが居ただけの話。
12 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 12:38:47 ] >>7 IDEを非難してた方もひどいな ポトペタ必要→ポトペタあるよ→統合されたIDEが必要→統合されたIDEあるよ→シームレスさが重要 本当に >>905 がそこまで要求していたのかどうかなんて判らないのに、 「Delphi使いならこう思うはず」っていう主張を延々と。
13 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 12:52:49 ] >>10 VC2005でBOMなしUTF-8も正しく変換される? 聞いた話だから定かじゃないんだけど、VC2005や2008にUTF-8通すと、時々変な挙動を するって...
14 名前:デフォルトの名無しさん [2010/04/04(日) 12:56:41 ] >>12 > 「Delphi使いならこう思うはず」っていう主張を延々と。 Delphiの一番の売りはそこだからね。同じDelphi使いとしては正しいと思う。 使ってない人には理解しがたいかもね。
15 名前:デフォルトの名無しさん [2010/04/04(日) 14:24:19 ] >>13 VCがBOMなしUTF-8をSJISに変換して.exeに入れてしまいます。
16 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 16:54:55 ] >>8 それは QString str = QObject::tr("日本語"); で解決するだろ 俺が言いたいのは #include <QtGui> int main(int argc, char* argv[]) { QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale()); //環境にあわせる QString str = argv[1]; // 添え字チェックはとりあえず無視 qDebug() << str; return 0; } の場合に QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf-8")); じゃまずいんじゃないの?っていう話
17 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 16:59:46 ] >>14 つまり Delphi 厨の自演だったってことですか
18 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 17:53:23 ] >>17 いや、俺はエンバカスレに書き込みがあったので前スレも含めて覗きに来たんだけど。
19 名前:9 mailto:sage [2010/04/04(日) 18:52:11 ] >>16 なるほど、そういうことか。理解した。 しかしテンプレに書くにはやはり話がややこしいね。
20 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 20:23:10 ] Phononって、Windows, Linux, Macで同じような仕様・挙動で動くって事でいいんですか? Windowsのややこしいマルチメディア周りのAPIに触れずに。
21 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 21:23:58 ] 前スレでPyQt勧めた張本人(は規制されてるため代行レス)だが、どうしてこうなった。 >>7 >それなのにDelphiを使ったことのない人が、事情もわからずに「コンパイル時間」 >の一言を聞いてPyQtを勧めだした。これこそ価値観の押し付けじゃないのか? 全くずれている。俺はコンパイル時間という観点での解決法を示しただけだ。それで不満なら、求めてたのと違う、の一言で済む話だ。 なんでそれだけで価値観の押し付けになるのか意味が分からない。 Delphiの事情は知らんが、そもそも事情を知っている必要を感じてなかった。 別環境に流れてくる人が、前と同じものを求めているなんて思わなかったから。 (同じもの求めてるなら、同じ場所に留まっていればいいのだから。昔のVBが好きな人はそうしてるよ) で、その後、なぜか変に噛みついてきた奴がいて、それに変な応じ方をしたやつがいたせいで明後日の方向にずれた ttp://anond.hatelabo.jp/20100403114254も見てくれ
22 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 22:13:01 ] >>21 なぁんだ。そういうわけだったのか。 > 全くずれている。俺はコンパイル時間という観点での解決法を示しただけだ。 > それで不満なら、求めてたのと違う、の一言で済む話だ。 > なんでそれだけで価値観の押し付けになるのか意味が分からない。 これは前スレの>995の余りに酷いずれた認識と表現に対して売り言葉に買い言葉で 書いた。あなたはもちろん前スレの>>995 じゃないよね。 それならあなたに対しては失礼なことをした。すまん。 まぁ、エンバカスレを見てもらえばわかると思うけど、Delphi/C++ Bulderは難民化 しようとしている。新しいWindowsで仕事をするには、バージョンアップする必要が あるんだが、新しいバージョンは品質が悪くて不可解な現象が沢山起きたり、 ヘルプがメチャクチャだったりで、みんな閉口している。前バージョンで発覚したバグも 一向に直さない。 そんなわけでQt、特にQt Creatorへの関心度が上がってる。Qt CreatorはDelphi/Builderの RAD環境に近いからだ。 だからDelphi/Builderからの移行の相談があったら、優しく対応してあげて欲しい。
23 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 22:57:16 ] >だからDelphi/Builderからの移行の相談があったら、優しく対応してあげて欲しい。 そこまでの寛容さを求めるのなら他の言語を「小物に向いている」などという排他的阿呆はきっちり 批判するべきだね。
24 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 23:34:34 ] ID出ないんしどれが誰の意見かさっぱりわかんないっつの どうしても脊髄反射したいならコテつけてくれNGもしやすいし
25 名前:デフォルトの名無しさん mailto:sage [2010/04/04(日) 23:43:22 ] 俺はとにかくひたすらあぼんしまくっているから全然不快じゃないぜ。
26 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 00:08:19 ] >>20 Phononはバックエンド(OSのAPIとか)との橋渡し的なライブラリらしい だから同じソースでOS問わず動くけど、挙動については 例えばWindowsならPCにCodecが入ってないと再生できないとかあるはず
27 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 02:12:35 ] >>16 QApplication::arguments()を使えば引数は文字化けしないみたいよ #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; } その他のケースでシステムロケール文字コードとのやり取りが発生する場合は 明示的にQString::fromLocal8Bit()を使うのがいいんじゃないか?
28 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 03:11:46 ] >26 あ、そうなんですか。 vlcのサイト見てたらPhononがどうこうって書いてあったんで、 Phonon内部にvlc由来かffmpeg由来の?codecが入ってるのかなと 想像してたんですが。
29 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 05:02:12 ] >>28 WikipediaのPhononのページ * 2008 年4月23日現在、Unix系のシステムでサポートされているバックエンドはxine、GStreamer、VLC、MPlayerである[4]。 * Microsoft WindowsでサポートされているバックエンドはDirectX、VLC、MPlayerである。 * Mac OS XでサポートされているバックエンドはQuicktimeである。 QtのPhononモジュールの場合は、WindowsだとDirectShowを、LinuxだとGStreamerを必ずバックエンドに使う VLCやMPlayerが使えてもライセンスがGPLだから需要少ないと思ったのかも
30 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 09:23:15 ] Windowsで,MainWindowのタイトルバー右上の最小化・最大化・閉じるボタンを消したくて, MainWindowのコンストラクタの中に, Qt::WindowFlags curFlags = windowFlags(); Qt::WindowFlags changeFlags = ~(Qt::WindowMinimizeButtonHint | Qt::WindowMaximizeButtonHint | Qt::WindowCloseButtonHint); curFlags &= changeFlags; setWindowFlags(curFlags); って書いてみたら,最大化ボタンと最小化ボタンは消えるけど閉じる(×)ボタンが消えてくれない。 上のchangeFlagsの右辺の | している中に,Qt::WindowSystemMenuHint も加えてみたけどやっぱり 消えない。 どうすれば消せるのでしょうか?
31 名前:デフォルトの名無しさん [2010/04/05(月) 09:49:04 ] >>27 >QApplication::arguments()を使えば引数は文字化けしないみたいよ うん それは知ってたけど argv[1] は C 文字列が「外から」渡される例として書いた fgets(stdin, ...) でも同じ >その他のケースでシステムロケール文字コードとのやり取りが発生する場合は >明示的にQString::fromLocal8Bit()を使うのがいいんじゃないか? そうだね
32 名前:デフォルトの名無しさん mailto:sage [2010/04/05(月) 10:54:29 ] >>30 Qt::CustomizeWindowHint じゃね?サンプルあるよ examples\widgets\windowflags
33 名前:30 mailto:sage [2010/04/05(月) 11:12:58 ] >>32 その通りだった。うまく行ったよ。サンクス。
34 名前:デフォルトの名無しさん mailto:sage [2010/04/06(火) 19:22:55 ] doc.qt.nokia.com/4.7-snapshot/index.html
35 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 00:56:46 ] >>1 > ※正確には通常「LGPL+商用利用向きの例外条項」を選ぶことにな7ります >(Qtインストール先の「LGPL_EXCEPTION.txt」を参照)。 LGPL_EXCEPTION.txt は「商用利用向きの例外条項」ではないんじゃないかな。 むしろ「テンプレートやインライン関数経由でライセンス汚染されたくない人の為の 例外条項」であって、この例外条項を適用しないと商用利用出来ない訳ではない。 qt.gitorious.org/qt/qt/blobs/4.6/LGPL_EXCEPTION.txt > ちなみにGPLでも商用利用が不可能というわけではありません、念のため。 GPL も LGPL も Commercial Developer ライセンスも全て商用利用可能なのに、 不自然に「商用利用」という言葉に拘るから、回りくどい説明になるんだと思われ。 >>1 は何で「商用利用」という単語に拘りたいのかな? 「商用利用」という単語は意味も範囲もかなり曖昧だから危険な言葉だと思うけど。
36 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 04:42:07 ] >>35 LGPLのリバースエンジニアリング禁止の禁止条項は、重要な落とし穴。
37 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 05:45:31 ] なんで「商用利用」を削除したがるん? 単にテンプレをすっきりさせたいのか LGPLのQtが商用で普及すると困る立場の人なのか分からんよ まあ、誰かがまとめWiki作ってくれれば消して構わんと思うけど
38 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 06:57:41 ] しかしリバースエンジニアリングの禁止なんて有効性があるのかな。 とりあえず書いてあることが多いけど、出るとこ出りゃ意味なしって感じもする。
39 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 09:12:52 ] >>36 だから、むしろそれをきちんと書いた方が良いと思うんだよね >>37 きちんと正しい情報を書いてあげた方が親切でしょ
40 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 09:29:21 ] >>38 日本以外のほとんどの国では意味無いね 明文化されてない日本でも無効であるという説が有力
41 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 09:40:10 ] >>40 企業の法務からしたら、EULA にリバースエンジニアリング禁止条項を 入れ辛くなるだけでも嫌な場合もあるんじゃないの。 裁判をやる以前に企業イメージが損なわれるだけでも損失となり得る。
42 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 09:54:34 ] >>37 >LGPLのQtが商用で普及すると困る立場の人なのか分からんよ どのライセンスでも商用利用が可能だと書いたのに、 何でそんな邪推をされるの分からんよ… そんなに商用利用をアピールしたければ、ライセンスの 話と切り分けて、こんな感じにしたら良いんじゃないの。 『Qt は商用利用が可能です。 ただし、バイナリ保有者にもソースコードを公開したくない場合は LGPL または Commercial Developer License を、リバースエンジニアリングを 禁止したい、Qt 自身を非公開で改変したい等、LGPL の要求から外れる 場合は Commercial Developer License を選択すると良いでしょう。 ライセンスを選択する前に各ライセンスの条項を必ず確認して下さい。』
43 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 10:00:07 ] 【License】ライセンス総合【利用許諾】 pc12.2ch.net/test/read.cgi/tech/1266247461/
44 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 10:01:01 ] 相変わらずループしてる
45 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 10:39:28 ] どこが?
46 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 10:41:53 ] 人類
47 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 11:27:34 ] >>44 たしかに新スレの恒例となりつつあるw >>42 次スレの>>1 にはそれ入れてこんな感じにしてもらうってことでいいのかな? ■ライセンス ・オープンソース版(Open-source version) LGPL 2.1 または GPL 3.0 のうちどちらかを利用者が選べます。 ・商用版(Commercial version) こっちはNokia社か日本の代理店(SRA社)とライセンス契約(年間30万くらい?)を結んで使います Qt は商用利用が可能です。 ただし、バイナリ保有者にもソースコードを公開したくない場合は LGPL または Commercial Developer License を、リバースエンジニアリングを 禁止したい、Qt 自身を非公開で改変したい等、LGPL の要求から外れる 場合は Commercial Developer License を選択すると良いでしょう。 ライセンスを選択する前に各ライセンスの条項を必ず確認して下さい。
48 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 12:29:13 ] >>47 それだとまたGPLでも商用利用可能云々とかなりそうなので Qt は上記のどのライセンスを選択しても商用利用が可能です。 位にしとくのがいいか?
49 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 15:30:48 ] >>48 GPLでも商用利用は不可能じゃないよ ソースコードを要求にしたがって渡す必要があるけど
50 名前:48 mailto:sage [2010/04/07(水) 16:43:17 ] >>49 だから俺はそういうツッコミが入るから、どのライセンスでも商用利用可能と言っている。
51 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 16:46:01 ] ちょっと言葉が足りなかったな。 「どのライセンスでも商用利用可能」と明記した方がいいと言っている。
52 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 16:54:40 ] 商業利用不可でライセンスされているものはいろいろある。
53 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 16:58:20 ] (あれ?)けれども、Qtは、どれを選んでも、商用可ってことで。
54 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 17:08:14 ] だからこういうことでいいんじゃね ■ライセンス ・オープンソース版(Open-source version) LGPL 2.1 または GPL 3.0 のうちどちらかを利用者が選べます。 ・商用版(Commercial version) こっちはNokia社か日本の代理店(SRA社)とライセンス契約(年間30万くらい?)を結んで使います Qt は上記のどのライセンスを選択しても商用利用が可能です。 ただし、バイナリ保有者にもソースコードを公開したくない場合は LGPL または Commercial Developer License を、リバースエンジニアリングを 禁止したい、Qt 自身を非公開で改変したい等、LGPL の要求から外れる 場合は Commercial Developer License を選択すると良いでしょう。 ライセンスを選択する前に各ライセンスの条項を必ず確認して下さい。
55 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 17:52:40 ] 質問したら正確に問題が伝わってなかった上にスレが落ちてたorz。 void MainWindow::on_ColorPicker_clicked() { QString value = ui.TextColor->text(); QColor color = QColorDialog::getRgba(); if (color.isValid()) { ui.TextColor->setText(color.name()); ui.TextColor->setPalette(QPalette(color)); ui.TextColor->setAutoFillBackground(true); } return; } これは、ColorPickerというオブジェクト名のボタンが押されたときに カラーピッカーを表示して、TextColorというオブジェクト名のフォームに選択された色を記入するソースだけど 当然、TextColorに対してのColorPickerしか作用しないソースになってしまう。 そこで、このColorPickerとTextColorを変数として外に出したいけど、どうしたらいいのかな?
56 名前:デフォルトの名無しさん [2010/04/07(水) 18:10:49 ] ライセンスキー付きのアプリケーションを商用で出そうとすると、 GPL は、ソースコードを出さなければならないのでライセンスキーでガードできない。ソースコードの再配布もできる。 LGPL は、リバースエンジニアリングして、ライセンスキーを作り出したり、暗号化されているデータを復元ができる。 商用版は、前述のようなことを禁じるようにライセンスで縛れる。
57 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 18:53:03 ] >>56 > LGPL は、リバースエンジニアリングして、ライセンスキーを作り出したり、暗号化されているデータを復元ができる。 公開鍵暗号を使えば、作者しか知らない秘密鍵がバレない限り ライセンスキーを作り出すことが不可能なのでは?
58 名前:デフォルトの名無しさん [2010/04/07(水) 19:08:25 ] >>57 そういうことをしているということをリバースエンジニアリングして、そこをよけるようなバイナリパッチを作れる。
59 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 19:11:55 ] この辺は荒れるしスレ違いだからやめとこうぜ
60 名前:デフォルトの名無しさん [2010/04/07(水) 19:29:44 ] >>58 できるかどうかに拘らず、調べることすらを法的に禁止しなければならないような組織には、 LGPLは向かないと言うことだ。
61 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 19:38:03 ] 自分は >>47 でも >>54 でも良いよ。 もしこの後も異論が出なければ、次スレを立てる人はこれで立てて下さい。
62 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 19:52:55 ] 一年後くらいかな
63 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 20:03:40 ] 前スレは大体2ヶ月くらいで使い終わったみたいよ
64 名前:デフォルトの名無しさん [2010/04/07(水) 20:47:04 ] >58 一応確認だけど、認証部分をよけるようなバイナリパッチを作るのはLGPLでも違法だよね?
65 名前:デフォルトの名無しさん [2010/04/07(水) 21:16:17 ] >>64 リバースエンジニアリングが許されるので、その過程の検証のために副産物として できてしまうのは違法とは言えない。ただし、それを他に伝えたり、伝わってしま ったり、何かに使おうとしたりするのは別判断になる。
66 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 21:49:45 ] 勝手な法解釈だなぁ
67 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 21:55:52 ] こいつらにとっては、シリアル入力必要ないものは、ライセンス取らなくても使い放題なんだろ。
68 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 21:55:56 ] >>65 違法とは言えない わけねーだろ。 リバースエンジニアリングを許可するのと改変を許可するのとは全然違う。
69 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 22:15:42 ] リバースエンジニアリングを禁止して隠蔽しとけば安心みたいな考えが一番危い。 欧米中国はそんな文言があっても、リバースエンジニアリングしてクローン商品を作ることは法的に認められてる。 もちろんコードをコピーしたとか特許に触れたとか別の違法行為が無ければの話だが。
70 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 22:23:35 ] 脱線して来たな
71 名前:デフォルトの名無しさん [2010/04/07(水) 22:27:49 ] >>67 そんなこと言ってないじゃないか。使うのは別のことだと書いてある。 >>68 改変をしてよいとも言ってない。
72 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 22:31:19 ] 商用で使わせていただくんだったら、ライセンス料ぐらい払えとは思う。
73 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 22:58:38 ] >>71 バイナリパッチが違法と言えないと言っているわけだsが
74 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 23:00:00 ] >>69 > 欧米中国はそんな文言があっても、 中国は「どんな文言があっても」の間違いだろwwww
75 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 23:15:57 ] 中国の新著作権法自体にそれほど不備があるとは思えないな その運用・執行について別問題
76 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 23:25:36 ] >>72 ライセンス料を気にせず自由に使って欲しいからオープンソースにしてるんだろ 俺はその心を大事にしたいと思う
77 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 23:38:53 ] 以前LGPLを使う人のことを乞食呼ばわりしてるヤツがいたな。 NOKIAはQtで儲ける必要なんかないんだから、LGPLをありがたく使わせてもらえば いいのに。商用ライセンスだけじゃ品質向上がなかなか進まないからGPL/LGPLを 用意してユーザーを増やしてるようだ。 商用ライセンスは、どうしてもLGPLでは困るケース...パッケージソフトを 開発して販売する場合とか...のためにあると思われ。
78 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 00:11:43 ] スレ違いなんで他でやってください。
79 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 00:26:12 ] リバースエンジニアリング禁止条項なんて、大して意味ないだろ 人気ソフトなら必ずだれかがやってる
80 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 00:33:09 ] >>78 こういう話は止めろと言っても終わらないよ スレ本来の話題を提供するか、面白いコードを投下するか、 そうでなければ自然に話が終わるのを待つしかない
81 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 06:09:27 ] っつーか 基地外が自演してるだけにしか見えない
82 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 07:43:12 ] Qt CreatorのGUIデザイナの良いチュートリアル無いかな 個人的には↓がすごい参考になったが物足りん ttp://thesmithfam.org/blog/2009/09/17/qt-stylesheets-button-bar-tutorial/
83 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 09:16:56 ] つ 「Qt プログラミング入門」
84 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 13:27:49 ] この話題つぶしっ
85 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 13:50:44 ] ttp://www.cutt.co.jp/book/978-4-87783-221-6.html これ古い?
86 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 13:58:09 ] www.sra.co.jp/qt/relation/
87 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 14:08:29 ] 個人的には↓がすごい参考になった www.youtube.com/watch?v=LYF0spYkXUs www.youtube.com/watch?v=E7Ud6FonsR4 www.youtube.com/watch?v=U7yje3D1UM4 www.youtube.com/watch?v=pPp35CbVLKE www.youtube.com/watch?v=h53_pgtg9kw www.youtube.com/watch?v=6WGCxLIjRNg www.youtube.com/watch?v=vPZ40_o82wU www.youtube.com/watch?v=UJxBm8btdZc www.youtube.com/watch?v=SHEFvdxUFtk www.youtube.com/watch?v=TyfO-7lvy_c
88 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 14:13:35 ] QtCreator: Defining your own custom slots. ttp://www.youtube.com/watch?v=c0HkTtUNxrw QtCreator tutorial (1): How to make a very basic program. ttp://www.youtube.com/watch?v=2AV9nRHJNK4
89 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 16:10:36 ] >>85 つ ttp://www.amazon.co.jp/product-reviews/4877832211/ref=dp_top_cm_cr_acr_txt?ie=UTF8&showViewpoints=1 VSアドオンが前提の本。
90 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 00:07:48 ] >>77 symbianの開発者が増えたら御の字だもんな
91 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 08:32:41 ] ┌─┐ │●│ └─┤ _ ∩ ( ゚∀゚)彡 ┌─┬⊂彡 │●│ おっぱい!おっぱい! └─┘ おっぱい!おっぱい!
92 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 14:24:40 ] >>87-88 ありがとうございました
93 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 19:32:28 ] どういたしまして
94 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 19:38:29 ] PyQt のプログラミングについてはここで質問しても良いですか? python スレの方が良いですか?
95 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 22:13:32 ] sjisのテキストを読みたいんだけど、 うまく読み込めない 教えてエロい人!! QFile file("test.txt"); QTextStream in(&file); QTextStream out(stdout); file.open(QIODevice::ReadOnly); out << in.readAll(); file.close();
96 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 22:23:50 ] QTextCodec::setCodec()
97 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 22:28:47 ] つ 「Qt プログラミング入門」
98 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 22:30:10 ] ▁▁▁▁ ▁▁▁▁ ▁▁▁▁ ▁▁▁▁ ╱╲ ╲╱╲ ╲╱╲ ╲╱╲ ╲ ╱ ╲▁▁▁╲ ╲▁▁▁╲ ╲▁▁▁╲ ╲▁▁▁╲ ╲ ╱ ▁▁╱ ╱ ╱ ╱ ▁▁╱ ╱ ╱ ╲╱▁╱╲ ╲╱▁▁▁╱╲╱▁╱╲ ╲╱ ▁▁╱ ▔╱ ╲▁▁▁╲ ▔╱ ╲ ▔▔╲ ╲ ╱ ▁▁╱ ▁╲ ╱▔▔▔╱ ╲╱▁╱╲ ▔▔╲╱╲▔╲╱ ▁▁╱ ▔╱ ╲▁▁▁╲ ╲ ▔▔╲ ╲ ╱ ▁▁╱ ╱▔▔▔╱ ╲╱▁╱╲ ╲╱ ▁▁╱ ▔╱ ╲ ▔▔╲ ╲ ╱▔▔▔╱ ╲╱ ╱ ▔▔▔▔
99 名前:95 mailto:sage [2010/04/09(金) 22:32:09 ] >>96 ダメぽ int main() { QFile file("/home/redhat98/subject.txt"); QTextStream in(&file); QTextStream out(stdout); in.setCodec(QTextCodec::codecForName("Shift-JIS")); file.open(QIODevice::ReadOnly); out << in.readAll(); file.close(); return 0;}
100 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 22:32:43 ] ヘ⌒ヽフ ( ・ω・) dd / ~つと)
101 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 23:22:23 ] >>99 最初に QCoreApplication app(argc, argv); を入れると改善したりしない?
102 名前:95 mailto:sage [2010/04/09(金) 23:27:51 ] >>101 ちゃんと表示されました ありがとうございました
103 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 01:14:17 ] >>94 質問内容がQt寄りかpython寄りかを判断して決めてくれ。 こないだpythonの話題でこのスレ荒れたばっかなので、それでも迷ったらpythonスレの方で頼む。
104 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 01:32:13 ] windowsクラッックに設定するとQtにも反映されるの? www.dotup.org/uploda/www.dotup.org797194.gif 左:サンプルの見本、右:自分の環境でコンパイル&実行 Qtの内部ではwin32使ってるのか?
105 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 01:52:00 ] >>104 される。 普段はAero環境でそれになじんだ表示がされているが、 XPからリモートデスクトップで入ってクラシック表示になると同じQtで作ったプログラムがクラシック表示になってたし。 XPにバイナリごと持っていったらXPになじんだ表示になってた。
106 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 11:05:02 ] .Netスタイルのメニュー表示できないの? www.dotup.org/uploda/www.dotup.org798064.gif 左:.Net 右:Qt
107 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 11:24:58 ] 出来ますがなにか? つ 「Qt プログラミング入門」
108 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 11:29:38 ] >>106 無知乙
109 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 11:49:33 ] >>106 勝手にデフォルト環境になじんだ設定になるっての。 とりあえずインストールして動かしてみろ。 すぐに分かる話だ。
110 名前:106 mailto:sage [2010/04/10(土) 12:20:04 ] >>109 何をインストールするんだ? QMenuでicon指定するとtitleが表示されないのだが、iconとtitle両方表示するにはどうすればおk? www.dotup.org/uploda/www.dotup.org798193.gif
111 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 12:25:19 ] ツールバーじゃね?
112 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 14:50:57 ] チャートコントロールって何を使ってますか?
113 名前:デフォルトの名無しさん [2010/04/11(日) 12:08:54 ] >>110 doc.trolltech.com/4.6/appicon.html
114 名前:デフォルトの名無しさん mailto:sage [2010/04/11(日) 18:40:39 ] QFileDialog::getSaveFileNameで、事前にファイル名をプリセットすることは できますか? 上書き保存の場合
115 名前:デフォルトの名無しさん mailto:sage [2010/04/11(日) 18:47:21 ] doc.trolltech.com/4.6/qfiledialog.html#getSaveFileName
116 名前:デフォルトの名無しさん mailto:sage [2010/04/11(日) 21:24:07 ] Qtは読み書きできる画像ファイルのフォーマットとしてTIFFには対応しているようだけど、 マルチページTIFFは扱えないの?
117 名前:デフォルトの名無しさん mailto:sage [2010/04/11(日) 22:23:20 ] PyQtでPIL
118 名前:116 mailto:sage [2010/04/11(日) 22:58:06 ] >>117 サンクス。ただ、今回はC++で書かれた膨大に蓄積されたソース資産を利用するので、 残念ながらPythonは使えないんだ。
119 名前:デフォルトの名無しさん mailto:sage [2010/04/12(月) 13:05:50 ] libtiff使えば自前サポートもそれほど手間じゃなかろ
120 名前:デフォルトの名無しさん mailto:sage [2010/04/12(月) 13:12:48 ] ありがとうございました
121 名前:116 mailto:sage [2010/04/12(月) 15:15:56 ] >>119 やっぱりそれしかないか。サンクス。 何か尋ねた本人でもないのに「ありがとうございました」いうヤツが出没してるな。
122 名前:デフォルトの名無しさん mailto:sage [2010/04/12(月) 15:58:40 ] ありがとうございました
123 名前:デフォルトの名無しさん mailto:sage [2010/04/12(月) 21:03:47 ] pushButtonにフォーカスを移動した状態で、Enterキーを押した場合の SLOTって作れるの?
124 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 08:45:30 ] Apple ジョブズ氏「クロスプラットフォーム開発環境は劣化アプリ量産と技術進展を阻害」 ttp://journal.mycom.co.jp/articles/2010/04/12/apple331/index.html これはiPhoneの話。 でもこのぶんじゃQtがMacから排除されるのも時間の問題だな。
125 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 10:04:30 ] Qt Creatorで、Newってやって、Qt Designer Formを選んで実行しました。 そうしたところ、〜.uiファイルしか出来ませんが、これって何なん? .uiファイルだけじゃなくて、.h/.cppも一緒に作って欲しいに決まってるじゃね?
126 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 10:17:21 ] そうだね
127 名前:125 mailto:sage [2010/04/13(火) 10:24:46 ] いやだから、皆はどうやってんの? Newってやって、Qt Designer Formを選んだのが間違い? .uiファイルから.h/.cppを生成するメニューがある?
128 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 10:35:26 ] Qt デザイナーフォームクラス
129 名前:125 mailto:sage [2010/04/13(火) 10:45:53 ] d あっという間にデキマスタw これでダイアログ作りまくりwww
130 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 14:39:17 ] ダイアログのButton BoxにSLOT付けようとすると、 >No Documents matching 'ui_Dlg.h' could be found. >Rebuilding the project might help みたいなエラーが出ますが、何でしょう?
131 名前:130 mailto:sage [2010/04/13(火) 14:55:49 ] ダイアログ一式作り直したらエラーが消えたので、本当にバージョンミスマッチでした。解決しました。 再作成しなおしたダイアログでSLOT作ってコンパイルすると、今度は、 >Dlg.h:24: error: `QAbstractButton' has not been declared なんですが、何ででつか?
132 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 15:09:58 ] >>131 QAbstractButton' has not been declared
133 名前:130 mailto:sage [2010/04/13(火) 15:38:59 ] 対処方法教えて下さい(><)
134 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 15:42:08 ] declare QAbstractButton
135 名前:130 mailto:sage [2010/04/13(火) 15:54:25 ] >#include <QtGui/QAbstractButton> を足して、 slotの実体書いたらコンパイル通りマスタ。
136 名前:デフォルトの名無しさん mailto:sage [2010/04/14(水) 22:06:46 ] ヘ⌒ヽフ ( ・ω・) dd / ~つと)
137 名前:デフォルトの名無しさん mailto:sage [2010/04/14(水) 23:20:42 ] >>123 signalじゃなくslot? signalならclickedが出ると思うんだけど、普通のクリックと区別したいってことなら、 QPushButtonを継承して、keyEventをオーバーライドするか、 QObject継承してるクラス(親ウィジェットでしか使う予定ないなら、親ウィジェットでもいいよ)で eventFilter実装して、そのクラスからのsignalにする手もある。
138 名前:123 mailto:sage [2010/04/15(木) 18:11:25 ] >>137 すいません、signalでした。lineEditなどには、returnPressedシグナルが ありますが、pushButtonでも同じことができるとENTERキーだけで進めるかと 思ったもので、 keyEvent内でENTERキーを捕まえて、シグナルを発行すればいいんですね。 ありがとう やってみます
139 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 18:13:42 ] signal / slot ってプリコンパイルで標準C++に展開されるんですよね? どのように展開されるのか説明キボン
140 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 18:34:28 ] qt creatorで仕事とか大きなプログラム作っている人いる?
141 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 19:14:13 ] >>139 debug release どっちかのフォルダに moc_hogehoge.cpp とか出来てるはず
142 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 19:44:30 ] 質問です。 Vista 64とxpにQt 4.6.2、mingwを入れて使っています。 両者で同じプロジェクトをビルドするとき、xpでリリースビルドをqtcreaterからビルドした時だけ qmakeが何か例外を出して止まってしまいます>< msysやcmdのコマンドラインからだとちゃんとビルドできるのですが・・・ ライブラリとCreaterをバラで入れたりSDK丸ごとに入れ替えたり色々やっても変わんないし・・・ xpだとおかしくなったりします? まあ、コマンドラインからビルドできるから問題ないっちゃ問題ないんですが何か気持ち悪い・・・
143 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 19:48:16 ] で その例外のメッセージを貼ろうとは思わないのかね
144 名前:デフォルトの名無しさん [2010/04/15(木) 20:06:33 ] 確かに貼った方が良いですね。 でも 問題が発生したため、qmake.exeを終了します。ご不便をおかけして申し訳ありません。 というMSへの通報ダイアログなんで情報量が皆無・・・ プロセスの戻り値は-1073741819 (要はゴミ値)。
145 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 20:17:46 ] FFFFFFFFC0000005 ゴミには見えない
146 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 20:24:15 ] 色眼鏡で見ている人には見えない
147 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 21:42:06 ] QCoreApplication app(argc, argv); app.exec();←これが無くてもちゃんと動く 何でですか?
148 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 22:18:06 ] 意弁当投げてないから
149 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 22:23:55 ] フォルダ内をファイル名をfailname*.*とかでサーチして正確なファイル名を 得るのに便利なクラスってありませんか?
150 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 22:27:12 ] javaだとArrayListにStringを格納する事ができますが、 QStringは何に格納すればいいんですか?
151 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 22:30:29 ] QList QStringList
152 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 22:31:31 ] >>148 txt
153 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 22:35:08 ] >>150 ok
154 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 22:35:51 ] >>149 性器表現
155 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 10:18:20 ] >>147 ヘルプを読め Generally, no user interaction can take place before calling exec(). As a special case, modal widgets like QMessageBox can be used before calling exec(), because modal widgets call exec() to start a local event loop.
156 名前:142 mailto:sage [2010/04/16(金) 11:12:50 ] もう原因追究に疲れたのでwindows SDKとvs用Qtライブラリにしちゃった。 問題なく動くようになったしこれでいいや。
157 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 11:31:42 ] >>142 .pro の config をいじったら直ったかもなぁ
158 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 11:43:46 ] >>157 いや、もうその辺は結構いじったので。 そもそもコマンドラインやvistaじゃ動くのでかなりお手上げ。
159 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 18:00:58 ] >Qt フォルダ選択ダイアログ でググったら、ファイル選択ダイアログが出てきた。 フォルダ選択ダイアログは無いんでつか?
160 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 18:15:42 ] 公式のサンプルくらい見てから使うライブラリ決めろよ
161 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 18:30:45 ] あるよ。
162 名前:sage [2010/04/16(金) 19:38:32 ] 質問です。 Qt creator って、クラスを継承すると親クラスのメンバは補完してくれなくなりますか? class my_reader : public ifstream {...} としたら、 my_reader-> の時ifstreamのメンバが補完されなってしまい、不便で。 OSは ubuntu 9.10 です。
163 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 20:56:36 ] my_reader-> としたときに、クラスmy_readerのメンバのみを補完候補に上げたいというなら無理じゃない?
164 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 21:03:22 ] インテリセンスでよく使うメンバだけを表示するにはどうしたらいい?
165 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 21:15:33 ] 自作
166 名前:162 mailto:sage [2010/04/16(金) 21:19:10 ] >>163 失礼。 typoです。 ifstreamのメンバも補完候補に挙がって欲しいのですが、現状、my_reader固有のメンバしか補完候補に挙がってこないのです。
167 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 21:55:42 ] qtextstreamを使う前に、qfileでopenとしないと テキストを読み込めないのですか?
168 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 22:56:08 ] yes
169 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 01:31:08 ] さーせん Qtライブラリをwindows sdk x64でビルドしたら64bitバイナリが作れるようになったのはいいのですが、デバッグできません(64bit, 32bitどっちのデバッガも試してみたんでけどね)。 やっぱ、Qt Creatorも64bitでビルドしないとだめっすかね。
170 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 03:25:07 ] >>166 ifstreamはテンプレートクラスなので、それでは継承できないのでは? www.unkar.org/read/pc11.2ch.net/tech/1115707321 の23〜25あたり。 MyClass::test内でstd::basic_ifstreamを継承しcloseを呼び出す例。 template <typename CH> class MyClass : public std::basic_ifstream<CH> { public: void test(){ this->close(); } };
171 名前:149 mailto:sage [2010/04/17(土) 10:41:37 ] VisualC++では、ディレクトリ内のファイル検索にFindFileFirst関数がありますが 同じ様な Qt関数はないですか
172 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 11:06:51 ] qtcreatorで開発しているんだけど、 なんで*.proにQT += webkitと書かないとコンパイルに失敗するの?
173 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 11:14:56 ] >>172 お前がwebkit使ってるから
174 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 11:27:47 ] >>171 QDir::entryList() 聞く前に自分でヘルプもっと探せないと、Qtやってくのつらいと思うよ。
175 名前:172 mailto:sage [2010/04/17(土) 11:29:08 ] >>173 そんくらい見りゃわかるよ なんで、#includeだけじゃダメなのかってこと
176 名前:174 mailto:sage [2010/04/17(土) 11:38:34 ] >>171 補足。 > VisualC++では、ディレクトリ内のファイル検索にFindFileFirst関数がありますが FindFirstFileでしょ? WIN32 APIだから、WindowsならVisual C++じゃなくても使える。 windows.hをインクルードして、kernel32.libをリンクするように.proファイルに書けば、 Qtからだって使えるよ。コンパイラはMinGWでもOK。もちろんVC++のコンパイラ (MS SDKを含む)でQtを使う場合もOK。 Linuxとか別のプラットフォームなら>>174 に書いた方法でやらなきゃダメだけど。
177 名前:デフォルトの名無しさん [2010/04/17(土) 11:48:06 ] >>170 : をを!そんな技が必要だとは。 ありがとうございます。試してみます。
178 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 11:53:54 ] >>175 そういう決まりなんだから、素直に従うしかないじゃん。 つ qmake Variable Reference の QT の項 予想としては、コンパイルエラーじゃなくてリンカーエラーなんじゃないの? 必要なインポートライブラリがリンクされないからだと思われ。
179 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 12:38:39 ] >>175 ヘッダには関数やらクラスの宣言だけが書いてあって、実態は別のところにある。 includeだけじゃ、宣言だけで中身の無い鳩山状態。
180 名前:デフォルトの名無しさん [2010/04/17(土) 12:54:15 ] >>175 doc.trolltech.com/4.6/qmake-project-files.html
181 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 13:16:02 ] Qt Creatorで日本語のコメント書いてると文字削除した時にカーソル消えることがあるんですけど 一度消えたらQt Creator再起動するしかない?
182 名前:171 mailto:sage [2010/04/17(土) 13:21:18 ] >>174 ありがとうございます
183 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 14:36:13 ] >>175 VC だって #pragma hogehoge 書くか makefile にリンカオプションつけるだろ それといっしょ
184 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 15:01:58 ] getOpenDialogのselectFilterって、特定の拡張子を除外することはできる? All Files(*.*)だけど、*.abcだけは除外するとか
185 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 15:44:34 ] >>184 QFileDialog::getOpenFileName()のことだよね? glob形式のパターンマッチング「〜以外」を表現できないから、無理なんじゃないか?
186 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 15:51:10 ] ↑脱字スマソ × glob形式のパターンマッチング「〜以外」 ○ glob形式のパターンマッチングは「〜以外」
187 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 16:06:21 ] なんか FindFileFirst とか getOpenDialog とか selectFilter とか、 語句を平気で間違ったまま書くやつがいるな。 こういう手合いが一番タチ悪い教えて君になりやすい希ガス。
188 名前:175 mailto:sage [2010/04/17(土) 16:07:13 ] 何でつけなきゃならないのか、わからないけど 結局はおまじないなんだな 感謝する
189 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 16:10:42 ] >>178 、>>179 にちゃんと答えがあるじゃん
190 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 16:35:48 ] お前らがqtで2ちゃんねるブラウザを作るとしたら、 スレビュー(スレを表示する所)をどう作る?
191 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 16:44:21 ] QWebView
192 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 16:58:32 ] >>188 プログラムにおまじないなんかねぇょ
193 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 17:01:17 ] >>190 レス逆参照してtree表示
194 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 17:03:46 ] 実質スレ表示にWebの機能なんていらないんだよな
195 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 17:06:29 ] QWebView使わなくてもQTextEditかQTextBrowserで十分じゃないかな?
196 名前:190 mailto:sage [2010/04/17(土) 17:07:32 ] >>191 俺もQWebViewを使おうかなと思ったけど、 使い方がわかんね >>193 kwsk
197 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 17:57:40 ] >>196 >>193 が言ってるのは恐らくJane Styleでいう「検索」→「スレのツリー形式表示」 なんか面白そうだけど、安価つけないやつも多いからな
198 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 17:58:03 ] たとえば >>191 を表示したときに >>196 がレスしてることがわかるようにする機能
199 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 17:59:55 ] 安価つけなかったり番号間違ったり誤爆ったり 完全にツリーにするのは難しいだろうけど あきらかにレスがあるのがわかると便利かな ツリーじゃなくてもいいよ
200 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 18:44:52 ] >>195 d.tnose.net/?p=1666 datの差分をレンダリングするとき遅すぎて使えない 4.6のQWebViewについてくるDOMで実用レベルらしい
201 名前:デフォルトの名無しさん [2010/04/17(土) 21:22:16 ] >>196 >使い方がわかんね doc.trolltech.com/4.6/qwebview.html doc.trolltech.com/4.6/examples-webkit.html 読めば分かる。
202 名前:デフォルトの名無しさん [2010/04/17(土) 21:24:31 ] >>196 >使い方がわかんね doc.trolltech.com/4.6/qwebview.html doc.trolltech.com/4.6/examples-webkit.html 読めば分かる。
203 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 21:59:10 ] loopyに2回も同じこと言われんでも分かる
204 名前:デフォルトの名無しさん [2010/04/18(日) 10:10:36 ] >>188 >何でつけなきゃならないのか、わからないけど >結局はおまじないなんだな doc.trolltech.com/4.6/qmake-project-files.html 読めば分かる。
205 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 22:27:31 ] どうすれば、foreachが使えるようになるの?
206 名前:デフォルトの名無しさん mailto:sage [2010/04/18(日) 23:57:23 ] PowerPCにLeopardのmacがあったんで、xcode3.1とqt4.6.2を インストールしてサンプルとか簡単なソースをビルドしてみたが、 「プログラムを開始できませんでした。パスかパーミッションに誤りはありませんか?」 と出てしまう。 んで、そのテストのプログラムを直接動かそうとすると、 ターミナルが起動して英文でいろいろと出た後に "Bad CPU type in executable"って書いてあるんだけど PowerPCでは使えない?
207 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 00:21:23 ] >>462 Qt をどうやってインストールした? PowerPC もサポートしているようだけど、 ビルド方法によってはバイナリに含まれてないかも。 ttp://doc.trolltech.com/4.6/developing-on-mac.html
208 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 00:22:14 ] × >>462 ○ >>206
209 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 00:40:16 ] >>207 たしかに対応してるみたいだね。サンクス。 特に何も考えずにqt-sdk-mac-opensource-2010.02.dmgを ダウンロードして実行してインストールしただけなんだけど。 Xcodeの方が最新版は使えないから一つ前のを探して xcode314_2809_developerdvd.dmgってのをインストールした。 う〜ん、よくわからん。
210 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 13:26:37 ] >>209 SDK に PPC のバイナリが入ってない可能性があるかも。 ターミナルから file コマンドで qmake とか調べてみたら。
211 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 13:40:02 ] >>209 qmake -spec macx-xcode でプロジェクトを作り直してみる
212 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 17:37:01 ] QThreadの使い方が良くわかりません なにか参考になるサイトとかありませんか?
213 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 18:05:35 ] "入門 Qt4プログラミング" で一応スレッドの例があるよ。
214 名前:デフォルトの名無しさん [2010/04/19(月) 18:17:43 ] >>205 >どうすれば、foreachが使えるようになるの? インストールしただけで doc.trolltech.com/4.6/qtglobal.html#foreach に 書かれていることが使えるようになります。
215 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 18:19:29 ] QNetworkAccessManager を使って QNetworkRequest で get するとしばらくしてから SLOT fin に戻ってくるようなのですが (その間メインウィンドウの方では他の操作が可能です) これはマルチスレッドの処理が元々 QNetworkAccessManager に実装 されているということでしょうか? もしそうなら QThread は使わなくても済みそうなのですが・・・
216 名前:デフォルトの名無しさん [2010/04/19(月) 18:20:17 ] >>212 >QThreadの使い方が良くわかりません doc.trolltech.com/4.6/threads.html doc.trolltech.com/4.6/thread.html doc.trolltech.com/4.6/examples-threadandconcurrent.html スレッドを知っていれば、これらを読めば分かります。
217 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 18:22:00 ] >>216 ありがとうございます 助かります
218 名前:デフォルトの名無しさん [2010/04/19(月) 18:29:15 ] >>215 >これはマルチスレッドの処理が元々 QNetworkAccessManager に実装 >されているということでしょうか? マルチスレッドは使っていませんが、マルチスレッドは考慮されています。 >もしそうなら QThread は使わなくても済みそうなのですが・・・ QThreadを使うか使わないかは、スロットでの処理次第です。
219 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 18:34:53 ] >>218 あほなんでよくわかりません もうすこし噛み砕いて説明して頂けないでしょうか
220 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 18:48:40 ] >>219 もしかしてこういうことができればいいのかな? QNetworkReply *reply = manager->get(QNetworkRequest(QUrl("www.hogehoge.com "))); while(!reply->isFinished()) QCoreApplication::processEvents(); qDebug() << reply->readAll(); reply->deleteLater();
221 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 19:20:49 ] それは変です
222 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 19:56:11 ] >>215 >これはマルチスレッドの処理が元々 QNetworkAccessManager に実装 >されているということでしょうか? そうです。別スレッドで処理するのでブロッキングしません 分かると思うけどslot finを呼び出すスレッドはメインスレッドではないので注意
223 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 20:05:00 ] >>220 >>222 ありがとうございます なんとなくモヤモヤ感が残ってるのですが 今のところ期待した動きになってきたので とりあえずなんとかなりそうです また詰まると思うのでそのときにもう少し 詳しく調べたいと思います
224 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 20:13:28 ] >>222 QNetworkAccessManager は別スレッド作って処理してないぞ。
225 名前:222 mailto:sage [2010/04/19(月) 20:15:01 ] >>224 あ、そうなん? ↓見て書いただけで試してない申し訳ない stackoverflow.com/questions/2334790/qnetworkaccessmanager-handling-asynchronous-thread
226 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 21:18:20 ] あっちはあっちであほがあほにレスしてるんかな
227 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 21:36:27 ] qtextstream out(stdout); out << "test"; どうやったら、改行できるの?
228 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 22:10:22 ] >>227 っ endl
229 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 22:43:58 ] >>228 thx
230 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 22:50:15 ] QFile file("test.txt"); QTextStream in(&file); QLinkedList<QString> list; if(file.open(QIODevice::ReadOnly)) { while(!in.atEnd()) { list.append(in.readLine()); } file.close(); } QTextStream out(stdout); foreach(QString s, list) { out << s; } なんで、コンパイルエラー&うまく表示されないの?
231 名前:デフォルトの名無しさん mailto:sage [2010/04/19(月) 22:57:53 ] out << qPrintable(s); hoge.pro の方に CONFIG += console
232 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 14:16:59 ] QSqlDatabase で SQLite を使ってるのですが 50文字 3column 程度で 500件の insert が 1 分くらい掛かってしまいます QDataStream(QFile) だと一瞬で終わります もちろんただのテキスト出力より遅いのは理解していますが こんなに遅いものなのでしょうか?
233 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 14:18:51 ] >>232 補足情報です db.open と db.close は最初と最後の一回だけです commit も最後の一回だけです (毎回 commit してもそんなに変わらず遅かったですが)
234 名前:デフォルトの名無しさん [2010/04/20(火) 17:23:08 ] >>232 >こんなに遅いものなのでしょうか? まずは、SQLiteを直に使って試してみることだ。
235 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 17:44:00 ] それらのqtの標準ライブラリがターゲットとしているRDBはODBC経由のみでつか? Firebirdはやっぱ無理?
236 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 17:50:56 ] InterBase(firebird)用のplugin(qt4-ibase-plugin)があると思うけど
237 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 17:59:09 ] え”、そんなモノまであったとは(驚
238 名前:デフォルトの名無しさん [2010/04/20(火) 18:21:36 ] >>235 >それらのqtの標準ライブラリがターゲットとしているRDBはODBC経由のみでつか? doc.trolltech.com/4.6/sql-driver.html 訊く前に、リファレンスを調べる。
239 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 20:44:00 ] >>234 そうですね とりあえず python で同じくらいのデータ量でやってみました ある意味予想通りですが一瞬で終わりました インタプリタより遅いってありえなさすです あとで Qt4 版で再現するソース晒すつもりです 他に原因があるかも知れないので出来るだけ単純なので試してまた来ます
240 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 20:55:39 ] Qtでカスタムウィジェットを作って、Qt Designerでそのウィジェットを使うと、 コンパイル時にそのウィジェットのヘッダファイルを入れないといけないし、 実行時にそのウィジェットのDLLを参照する必要があるけど、 もう少し簡単にカスタムウィジェットをQt Designer使えるようにならないかな? dllを使わずスタティックリンクにできるだけでもいいんだけど・・・
241 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 21:00:10 ] >>239 Qt も QSqlDatabase も知らんけど、SQLite は明示的にトランザクションを開始しないと 勝手に毎回 COMMIT するよ。DB 使いには結構有名な話だから知ってるかもしれないけど。 journal.mycom.co.jp/special/2004/php5/007.html QSqlDatabase::transaction () を入れて計ってみても変わらないかな?
242 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 21:13:11 ] とりあえず余計な部分を除いた再現するコードです やっぱり遅いです(1秒以内で終わることを期待しています) (Windows Vista / Core2Duo 2GHz / メモリ 3GB / HDDはローカル) QString s(...); を作っているのは実際のプログラムでその程度の文字列作成があるからです。 これをループの外に出してもほとんど変わりません。 #include <QtCore> #include <QtSql> #include <iostream> int main(int argc, char **argv){ QCoreApplication app(argc, argv); std::cout << "start" << std::endl; QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName("test.db"); if(!db.open()){ // }else{ QSqlQuery q; q.exec("create table testtable (id integer primary key," " c1 varchar(255), c2 varchar(255), c3 integer);"); for(int i = 0; i < 500; ++i){ QString s(QObject::tr("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")); QString v(QObject::tr("'%1', '%2', %3").arg(s).arg(s).arg(i)); q.exec(QObject::tr("insert into testtable (c1, c2, c3) values (%1);") .arg(v)); } db.close(); } std::cout << "end" << std::endl; return app.exec(); }
243 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 21:19:23 ] >>241 まじですか やってみます
244 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 21:26:53 ] >>241 解決しました! 爆速ですw 本当にありがとうございました!!! #include <QtCore> #include <QtSql> #include <iostream> int main(int argc, char **argv){ QCoreApplication app(argc, argv); std::cout << "start" << std::endl; QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName("test.db"); if(!db.open()){ // }else{ db.transaction(); QSqlQuery q; q.exec("create table testtable (id integer primary key," " c1 varchar(255), c2 varchar(255), c3 integer);"); for(int i = 0; i < 500; ++i){ QString s(QObject::tr("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")); QString v(QObject::tr("'%1', '%2', %3").arg(s).arg(s).arg(i)); q.exec(QObject::tr("insert into testtable (c1, c2, c3) values (%1);") .arg(v)); } q.clear(); if(!db.commit()) db.rollback(); db.close(); } std::cout << "end" << std::endl; return app.exec(); }
245 名前:230 mailto:sage [2010/04/20(火) 22:17:44 ] >>231 ちゃんと動きました ありがとうございます
246 名前:デフォルトの名無しさん [2010/04/20(火) 23:32:55 ] ヘ⌒ヽフ ( ・ω・) dd / ~つと)
247 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 00:46:03 ] >>82 の続きですが、qtの解説サイトでお勧めはありますか?
248 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 02:28:14 ] ググった感じだとこのあたりかな? 日本語 www.off-soft.net/ja/develop/qt/qt1-1.html qt-labs.jp/2010/04/13/simplebrowser-with-qtcreator.html 英語 www.tuxradar.com/learnqt cartan.cas.suffolk.edu/oopdocbook/opensource/index.html www.qtrac.eu/C++-GUI-Programming-with-Qt-4-1st-ed.zip
249 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 11:32:56 ] LGPLでアプリを配布するとき書かなきゃならない文章ってありまつか?
250 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 13:36:34 ] 前提条件が何も書いてないので,それだけじゃ返事のしようがない。 ↓ここのやり取りでも読んでくれ。 ttp://qtusersforum.s2.zmx.jp/forum/viewtopic.php?f=16&t=219
251 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 13:37:05 ] 実験段階のソフトを他人(特定多数)に期間限定で使ってもらおうとする場合 その時点で既にライセンスとかソースの公開とか確認しておくことはありますか?
252 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 14:05:49 ] つ [d] >>250
253 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 14:10:12 ] 実験段階だろうが特定多数だろうが事情は変わらない。
254 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 14:18:08 ] QCharの文字をcharにしたいのですが方法が分かりません。 ヘルプでQStringとか調べて、QString::utf16()はあるんだけど、QString::utf8()はコンパイルでエラーっぽいけど、どういうことでしょう。 Utf16とUtf8は簡単に変換できる筈ですよね???
255 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 14:31:57 ] 質問がいみふめ。 最初のQChar→charの話と後のUTF-16とUTF-8の話のつながりがわからん。 ヘルプでQString調べたんならQString::utf8()なんていう関数がないのはコンパイルして エラーを出すまでもなくわかるだろ? 要するにUTF-16とUTF-8の変換をやりたいわけ? ■UTF-16→UTF-8 QString::fromUtf16()でushort*(=wchar_t*)からQStringに入れておいて, QString::toUtf8()で一旦QByteArrayにしてからQByteArray::data()でchar*に取り出す。 ■UTF-8→UTF-16 QString::fromUtf8()でchar*からQStringに入れておいて,QString::utf16()で ushort*に取り出す。 やってみたわけじゃないけど,これで行けると思うが。
256 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 14:43:56 ] QCharの文字をcharにしたいのですが
257 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 14:49:34 ] d from〜、to〜、ってのが要るんですね。 今回、QCharからcharにしたかったので、 > QChar qc; //←qcに値を入れる処理も行う! >char c = qc.toAscii(); //これでUTF-16からUTF-8に変えてるれるつもり で何とかコンパイル通りました。
258 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 14:55:40 ] qc.toAscii() で確実に UTF-8 にしたいなら QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8")); しておかないといけないのでは
259 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 15:00:03 ] dd >>258 QTextCodecの使い方やっと分かりますた。 理解するまで、意外に難しいですね。
260 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 15:02:18 ] そうですね 誰もが一度は通る道 だから >>1 に書いてある
261 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 15:04:07 ] >>257 QChar::toAscii()のリターン値はcharであってchar*じゃないから1バイトしか入らない。 コンパイルは通るかも知らんが,UTF-8は可変長マルチバイトなんだから,QCharに 入っている文字が1バイト文字以外の場合は期待通りには動かないよ。 UTF-16からUTF-8に変換したいならQString使う必要があると思う。
262 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 15:11:54 ] ddd >>260 , 261 そうなんですかー。 後だしジャンケンみたいですが、やりたいことを最後に出します(藁): char PathSeparator; //ライブラリのクラス変数(ファイルパスの区切り文字) >PathSeparator = QDir::separator(); みたいな感じで、Qtからファイルパス区切り文字が欲しい。 解決策1: QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8")); QChar qc = QDir::separator(); PathSeparator = qc.toAscii(); 解決策2: QString qs = QDir::separator(); PathSeparator = qs.toUtf8();
263 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 16:00:06 ] 関係無いけど、 どのOSでもQStringの初期値は、 >Unicode 4.0 なんだ?
264 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 16:13:04 ] >>262 なぁんだ。最初から結果は1バイトだってわかってるんじゃん。 それなら解決策1で良いし, > QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8")); は必要ない。ASCII文字はUTF-8と互換性があるんだから。
265 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 17:49:58 ] UTF-8 UTF8 utf-8 utf8 どれが正しいの
266 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 18:11:36 ] Unicode Transformation Format-8
267 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 18:13:20 ] >QTextCodec::setCodecForCStrings の初期値は何が良いんだろ。
268 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 18:23:51 ] >>267 ソースの文字コード
269 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 19:00:59 ] システムのロケール
270 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 21:01:25 ] qwebviewとqtextbrowerって何が違うの?
271 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 21:10:12 ] >>270 QWebViewには通信機能まで含まれてるから、インターネット接続環境があれば それだけで外の世界のwebページにまでアクセスできる。 簡単なブラウザならすぐ作れるよ。 QTextBrowserはHTMLが表示できるだけなので、リンクが貼ってあるHTMLでも リンク先が外の世界だと飛べない。ローカルファイルなら大丈夫だけど。
272 名前:270 mailto:sage [2010/04/21(水) 21:12:31 ] >>271 QTextBrowserで写真の表示/javascriptの対応を教えてください
273 名前:271 mailto:sage [2010/04/21(水) 21:17:18 ] 補足。>>248 が紹介してくれたここ↓にQWebViewでブラウザを作る例があるね。 ttp://qt-labs.jp/2010/04/13/simplebrowser-with-qtcreator.html
274 名前:271 mailto:sage [2010/04/21(水) 21:20:56 ] >>272 ごめん。知らんので調べないとわからん。 写真は普通にHTML内に<img>タグでローカルの画像ファイルを指定すれば良いんじゃないの? エラい人フォローよろしく。
275 名前:270 mailto:sage [2010/04/21(水) 21:24:33 ] >>273 ありがとう
276 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 21:48:36 ] >>272 QTextBrowser で使える HTML のタグはこちら。 ttp://doc.qt.nokia.com/4.6/richtext-html-subset.html <img> が使えるので画像はOKだが、JavaScript はない。 軽量だが制限も多く複雑なページや動きのあるページには向かないのが QTextBrowser/QTextEdit 普通の HTML + JavaScript も動くがでかいのが QWebView というイメージ。
277 名前:デフォルトの名無しさん [2010/04/21(水) 21:56:43 ] >>272 >QTextBrowserで写真の表示/javascriptの対応を教えてください doc.trolltech.com/4.6/qtextedit.html#html-prop doc.trolltech.com/4.6/richtext-html-subset.html を読めば分かる。
278 名前:デフォルトの名無しさん [2010/04/21(水) 21:58:36 ] >>270 >qwebviewとqtextbrowerって何が違うの? doc.trolltech.com/4.6/qwebview.html doc.trolltech.com/4.6/qtextbrowser.html を読めば分かる。
279 名前:デフォルトの名無しさん [2010/04/21(水) 22:01:55 ] >>247 >qtの解説サイトでお勧めはありますか? doc.trolltech.com/4.6/ これを読めば分かる。
280 名前:270 mailto:sage [2010/04/21(水) 22:04:38 ] >>276 わざわざありがとうございます
281 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 22:49:45 ] qtの日本語解説サイトお願いします
282 名前:デフォルトの名無しさん [2010/04/21(水) 22:59:10 ] >>281 >qtの日本語解説サイトお願いします www.alc.co.jp/index.html
283 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 23:02:56 ] demos/mainwindow の中に saveLayout で geometory と state を保存している部分がありますが これをメニューから実行するのではなく アプリケーション終了時に自動でやりたいと思います この場合 MainWindow::closeEvent() の中に書くのが妥当なのでしょうか? 他に的確な場所ってありますか?
284 名前:デフォルトの名無しさん [2010/04/21(水) 23:07:45 ] >>283 doc.trolltech.com/4.6/qapplication.html#exec を読めば分かる。
285 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 23:42:36 ] >>284 出来ました ありがとうございました
286 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 00:03:05 ] >>281 さすがにalcには載ってないねw 日本語で参考になるのは、 ttp://qtprogramming.s2.zmx.jp/index.html あたりかな。でも基本的に英語のドキュメント読むのは避けては通れないよ。 「を読めばわかる」の人が誘導してくれているけど、英語のドキュメント読まずに 聞いていると思われる人と、目的の解説が探せないで聞いていると思われる 人では明らかに対応が違ってるでしょ?
287 名前:デフォルトの名無しさん [2010/04/22(木) 00:20:32 ] >>286 >さすがにalcには載ってないねw 英語のドキュメントを読もうともしていないということ。 >基本的に英語のドキュメント読むのは避けては通れないよ。 読めないなら他のことをやっても同じ。 >英語のドキュメント読まずに聞いていると思われる人と、 論外。 >目的の解説が探せないで聞いていると思われる人では明らかに対応が違ってるでしょ? 書いてあることを探そうとすらしていないのでは?
288 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 00:21:41 ] >>287 おまいは懇切丁寧でウィットの入った優しい返答の揚げ足をとって何が面白いんだ?
289 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 00:29:13 ] ここで質問すると作業が捗るので 見る見る品質が上がって行きます 2chは糞スレ糞レスも多いですが まだまだ捨てたものではないです 人類の発展に貢献していると思います
290 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 01:48:23 ] 肩の力抜こうぜ 適当な質問に適当に答えたり叩いたりできる場所だって必要さ
291 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 06:13:44 ] exe を複数起動するとウィンドウも複数出来てしまいますが ひとつしか起動出来ない(もし exe を起動しようとしたとき 既に立ち上がってればそれがアクティブになる)ようにするには どのようにコーディングすればよいのでしょうか?
292 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 06:31:01 ] >>291 qt.nokia.com/products/appdev/add-on-products/catalog/4/Utilities/qtsingleapplication/ を読めば分かるかもしれない。
293 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 10:02:03 ] QTreeWidget と QTreeView は どう使い分ければよいのでしょうか?
294 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 10:12:56 ] わからないうちはQTreeWidgetでおk
295 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 11:49:41 ] ttp://randt.jp/?p=729 >Qtアプリケーションを作成していて、undefined reference to vtable for <Class Name>エラーが出るなら エラーが出るんですが、Qtと関係ないクラスにも”Q_OBJECT”って要るんですか? 自作クラスの中のQt部品といえば、QStringとメッセージボックスくらいしか無いのですが。
296 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 12:03:06 ] >>292 それ使ってるよ。うまく動いてる。
297 名前:295 mailto:sage [2010/04/22(木) 13:30:40 ] 自己レス: >”Q_OBJECT”が要る のは勘違いでした。 >[ビルド]-[qmakeの実行]を実行 が必用でした。
298 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 16:20:07 ] Qt Creator でコンパイル指定子(#define 、みたいな)設定できまつか?
299 名前:298 mailto:sage [2010/04/22(木) 16:51:36 ] >DEFINES += でできますた。 ttp://doc.trolltech.com/4.5/qmake-variable-reference.html#defines
300 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 20:26:20 ] これゲームとか作れるの?
301 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 20:29:12 ] 不可能じゃないけど、向いてないよ
302 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 20:37:53 ] それは残念
303 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 22:15:16 ] qtのクラスを継承しない時は、絶対に#include <QString>しないとダメなの?
304 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 22:41:29 ] #include <QtCore>
305 名前:303 mailto:sage [2010/04/22(木) 22:51:15 ] >>304 OK,Thx
306 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 23:14:11 ] QButtonのフォーカスをクリックはできるけどフォーカスを保持しないように (スペースとかでは反応しないように)するにはどうしたらいいのでしょうか? ClickFocusだとフォーカスがボタンに残ってしまいます。 クリック後に自前でフォーカスを移動させるしかない?
307 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 23:26:19 ] taborder=-1
308 名前:デフォルトの名無しさん mailto:sage [2010/04/23(金) 09:46:53 ] Qt Ctreatorで作成したウィンドウのサイズを実行時にユーザーが変更できないように するには,フォームエディタでプロパティのminimumSizeとmaximumSizeをも同じ値に するのが正しいやり方なの?
309 名前:デフォルトの名無しさん mailto:sage [2010/04/23(金) 09:49:40 ] yes
310 名前:デフォルトの名無しさん mailto:sage [2010/04/23(金) 11:49:44 ] no
311 名前:308 mailto:sage [2010/04/23(金) 11:58:01 ] >>310 具体的にどうすれば良いか教えてください。
312 名前:デフォルトの名無しさん [2010/04/24(土) 00:48:40 ] >>311 >310 の no は no。>309 の yes が yes。
313 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 09:10:06 ] QWidget::setFixedSize(const QSize&)
314 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 10:14:04 ] >>313 ヘルプを読むと、それって結局minimumSizeとmaximumSizeを同じ値にしてるだけだから、 ソースコード上に書くか、Qt CratorのGUIデザイナ上でプロパティを設定しておくかの 違いだけ。
315 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 10:35:14 ] で?
316 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 10:39:40 ] QtのDemoに入ってるアプリはsetFixedSizeでやってたから 俺はsetFixedSizeを使ってる
317 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 11:48:29 ] >>315 >>308
318 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 12:42:48 ] フォームエディタでポチポチするよりコンストラクタに一行追加する方が楽だし応用もできる
319 名前:デフォルトの名無しさん [2010/04/24(土) 12:43:18 ] >>316 setFixedSizeの本質は>314。
320 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 12:51:18 ] loopy
321 名前:デフォルトの名無しさん [2010/04/24(土) 13:09:35 ] >>311 src/gui/kernel/qwidget.cpp コードを読めば分かる。
322 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 14:09:00 ] >>318 GUIデザイナ上でプレビュー見ながら視覚的に丁度良いサイズにしておいて、 geometorytからminimumSize、maximumSizeにwidth/heightを書き写した方が やりやすい。
323 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 15:03:22 ] どうやったら、zipとrarw解凍できるの?
324 名前:デフォルトの名無しさん [2010/04/24(土) 15:12:00 ] >>323 unzipとunrar
325 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 15:44:22 ] QTableViewを使うと、内容を編集する際に 前のデータがまるっと消えてしまいますが、 前のを残して修正するには、 やはりカスタムのデリゲートを作らないとだめでしょうか。
326 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 16:32:10 ] >>325 モデル作っちゃったのなら、そうするのがいいかもしれないけど まだ作ってないのならQTableWidgetにしたら消えなかった気がする
327 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 17:43:07 ] TableView / TableWidget や TreeView / TreeWidget の使い分けの基準が判らんのですが どこかで判りやすく説明されているサイトとかありますか? 一応「入門Qtプログラミング」は持ってるんですが良くわからなかったので。
328 名前:デフォルトの名無しさん [2010/04/24(土) 17:52:23 ] >>327 doc.trolltech.com/4.6/model-view-convenience.html#overview
329 名前:デフォルトの名無しさん [2010/04/24(土) 18:32:28 ] >>327 TableWidgetやTreeWidgetを使って行き詰まって後悔してからTableViewやTreeViewを使う。
330 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 18:45:48 ] わかりました。 ありがとうございます。 *Widget で作ったソースをあとで *View に変更するときになっても そんなに書き換えなくても済むという理解であってますか?。
331 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 20:02:21 ] QFile::WriteOnly QIODevice::WriteOnly どっちが正しいのでしょう
332 名前:デフォルトの名無しさん [2010/04/24(土) 20:37:19 ] >>331 doc.trolltech.com/4.6/qfile.html Inherits QIODevice
333 名前:デフォルトの名無しさん [2010/04/24(土) 20:40:29 ] >>330 目的に合った*Widgetを作るというようにすれば。
334 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 21:31:26 ] 処理時間のかかる共有ライブラリを実行中に 画面をフリーズさせない方法を教えてください お願いします。
335 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 21:38:03 ] >>334 スレッドを分ける
336 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 21:40:54 ] >>335 スレッド分けて a.start(); a.wait(); ってやるとスレッド実行中はフリーズしちゃいますよね これはどうやって回避させるんでしょうか?
337 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 21:46:19 ] >>336 waitじゃなくてfinished()かrunning()でポーリングすればいいんでね
338 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 01:24:59 ] qDebug() << "日本語";はOKだけど qDebug("日本語");は駄目なん?
339 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 02:37:41 ] qDebug() << qPrintable(msg); と qDebug("%s", qPrintable(msg)); で結果が異なる 144 デフォルトの名無しさん [sage] 2010/02/08(月) 22:57:13 ID: Be: >>142-143 qDebug(fmt, ...); の場合、渡す文字列はutf8固定。 (ちなみに、fmtはLatin1固定) QString::sprintf() を内部で使っているため。 ttp://doc.trolltech.com/4.6/qstring.html#sprintf qDebug("%s", msg.toUtf8().constData()); としてみると動かないかな。
340 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 07:43:13 ] qDebug(fmt, ...) じゃないとリリースビルドでもコード残っちゃうから 普通に日本語使えるようにして欲しいなあ
341 名前:デフォルトの名無しさん [2010/04/25(日) 08:40:51 ] >>340 >普通に日本語使えるようにして欲しいなあ いろいろなコンパイラのことを考えれば、日本語文字列を使わないのが最もよい。
342 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 09:52:17 ] >>341 Qtのサポートしてるコンパイラ(g++,msvc,icc etc)については 問題無いと思うが
343 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 10:05:33 ] よいプログラムを書きたいのではなく、よいソフトウエアを作りたいのです
344 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 10:13:09 ] よいソフトウェアを維持するために よいプログラムを書きましょう
345 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 11:57:27 ] QtAssistantでQWidgetを検索しても出てこないのって俺だけ? ページはあるのに…
346 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 12:28:30 ] >>339 さんくす で、結局TRACEに対応するものはないってことか?
347 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 13:43:05 ] >>340 「普通に」って書いてるから分かってるんだと思うけど まったく日本語が使えない訳じゃなくて fmtに日本語が使えないだけだから qDebug("var: %1", qPrintable(var)); と書けばいい話 そもそもデバッグってそういうもんでしょ?
348 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 13:46:50 ] たしかにdebugしようとして文字列表示させてるのに それが文字化けしてたらdebugにはならん罠
349 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 14:01:13 ] >>347 qDebug("var: %s", var.toUtf8().constData()); が正しい
350 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 16:54:52 ] Qtのアプリケーションに日本語を使うと起動が遅くなる気がするんですが、 これは気のせいですか?
351 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 17:13:26 ] 気のせいです
352 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 17:20:10 ] qjpcodecs4のpluginを起動時に読みに行くけど 気が付くほど遅くなるとは思えない
353 名前:デフォルトの名無しさん [2010/04/25(日) 19:10:43 ] >>342 VSは、UTF-8をSJISに変えてしまうという問題あり。
354 名前:デフォルトの名無しさん [2010/04/25(日) 20:16:05 ] >>350 プロファイリングをして解析し、日本語が問題だと特定してから言うべきことでしょう。
355 名前:デフォルトの名無しさん [2010/04/25(日) 20:17:27 ] >>348 文字化けせずに表示する方法があるのだから全く問題ない。
356 名前:デフォルトの名無しさん [2010/04/25(日) 20:35:27 ] プロファイリングをして解析し、日本語が問題だと特定したら2chのスレじゃなくて開発に報告してあげましょう。
357 名前:デフォルトの名無しさん mailto:sage [2010/04/26(月) 01:14:22 ] >>347->>349 回避法ありがと。まあテンプレでもqDebug(fmt)は避けてるし プロジェクトで使うなら「ストリームqDebug使え」って方針がわかりやすくて無難だと思う でもQtが内部UTF-16なのにsprintf/snprintfをUTF-16用に書き直さないのは謎だな Qt4.6のQString::sprintfの説明には「We do not recommend using QString::sprintf() in new Qt code」とあるし、 qDebug(fmt)をobsoluteにしたいと思ってるのかな方向なのかな >>350 多分気のせいだと思う
358 名前:デフォルトの名無しさん mailto:sage [2010/04/26(月) 02:44:58 ] >>340 >qDebug(fmt, ...) じゃないとリリースビルドでもコード残っちゃうから まじ?
359 名前:デフォルトの名無しさん mailto:sage [2010/04/26(月) 20:18:35 ] ストリーム形式で%04xなんてどう書いていいのかわからん
360 名前:デフォルトの名無しさん mailto:sage [2010/04/26(月) 22:21:17 ] 今回、初めてリリースビルドしたんだが warningがいっぺんに40個もでて来てびっくり その中で、 dereferencing pointer '<anonymous>' dose break static-aliasing rules とは、どんな警告? 場所はqvector.h内の void QVector<T>::free(Data *x) { if(QTypeInfo<T>::isComplex){ T* b = x->array; T* i = b + x->ize; ここを差すんだけど コード内で2箇所ほどQVectorを使ってるけど、どこが問題なのかよく分かりません
361 名前:325 mailto:sage [2010/04/26(月) 22:41:20 ] >>326 遅くなりましたが325です。 モデルを分けたのは、 Widgetにするとデータ複製が入るしなあ、と思ったのです。 実際には想定行数は1万行未満なので、 今時問題ないのかもとは思いますが…… モデルは作ったけど、とりあえず状態だし TableWidgetを試してみます。 ありがとうございます。
362 名前:デフォルトの名無しさん [2010/04/26(月) 22:51:23 ] >>359 doc.trolltech.com/4.6/qtextstream.html doc.trolltech.com/4.6/qdebug.html
363 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 15:42:43 ] QTabWidget で,指定したページの可視/不可視をタブごと切り替えたいのですが,良い方法はないでしょうか? 各ページは QWidget になっているので,QWidget::hide() を使ってみたらページの中味が空になるだけでした。 また QTabWidget::setTabEnabled() だとタブ上のラベルが灰色になってクリックできなくなるだけで,タブ自体は 見えてしまっています。 QTabWidget::removeTab() や QTabWidget::insertTab() を使って何とかしようとしましたが,insertTab() は 引数に挿入位置のインデックスが必要なので,タブの可視/不可視を切り替えた時に,元の順番どおりに タブを並べるのが困難で挫折しました(タブ上のラベルも保存しておかないとならないので QHash とか 使ってゴニョゴニョやったんですが)。 お知恵を貸してください。
364 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 17:02:24 ] 曖昧すぎる どうしたいのかをもう少し厳密に説明してくれ
365 名前:363 mailto:sage [2010/04/28(水) 17:39:23 ] >>364 曖昧にならないように説明したつもりだったんですが,伝わらなかったようですね。 まず「タブ」という言葉が曖昧なようなので,QTabWidget に表示される各ページ上部の四角く 突出した部分を「タブ」と呼ぶことにします。 やりたいのは,指定したページをタブごと見えなくしたり見えるようにしたりすることです。 あるページを見えなくした場合,次のページ以降のページがタブごと詰めて表示され,一旦 見えなくしたページを再び見えるようにした場合,元の位置に挿入されるようにしたいのです (ページの順序は常に保存される)。 以前使っていたC++ Builderではこれが普通に出来たので,Qtでも同じようにしたいのですが, やり方が見つかりません(現在,C++ BuilderからQtにソフトを移植中)。 よろしくお願いします。
366 名前:360 mailto:sage [2010/04/28(水) 19:03:11 ] struct IDPoint{ double x; double y; int tool; bool fl; }; QVector <IDPoint> m_PntAry; こう書いてたら、先の警告がでました。 std::vectorに換えたら警告はきえました。 どうして?
367 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 20:09:43 ] >>365 TabView
368 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 20:30:07 ] >やりたいのは,指定したページをタブごと見えなくしたり見えるようにしたりすることです。 >あるページを見えなくした場合,次のページ以降のページがタブごと詰めて表示され,一旦 >見えなくしたページを再び見えるようにした場合,元の位置に挿入されるようにしたいのです この部分が何を言っているのかよくわからない。 特に「見えなくしたり見えるように」というのがどういう意味なのか図に書いて説明して
369 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 20:35:03 ] >QTabWidget::removeTab() や QTabWidget::insertTab() を使って何とかしようとしましたが,insertTab() は >引数に挿入位置のインデックスが必要なので,タブの可視/不可視を切り替えた時に,元の順番どおりに >タブを並べるのが困難で挫折しました(タブ上のラベルも保存しておかないとならないので QHash とか >使ってゴニョゴニョやったんですが)。 これをやるしかないだろ 手抜きを考えずにまじめにやろう
370 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 20:42:32 ] >>365 それそのもの、といったメソッドはなさそうです。 QTabWidgetを継承して void MyTabWidget::setTabVisible(int idx, bool show){ this->setTabDisable(idx, show); this->tabBar()->tabButton(idx)->setVisible(show); } でいいのかなぁ。
371 名前:365 mailto:sage [2010/04/28(水) 22:15:50 ] >>368 > 特に「見えなくしたり見えるように」というのがどういう意味なのか図に書いて説明して これがわからないと言われてしまうと仕方ないですね。AAなんか簡単に描けませんし。 他の方にはわかっていただいてるようですが、簡単に言うと「消したり出したり」です。 QWidget::hide() とか QWidget::show() のようなことを言っています。 ただ、消した時、それ以降のタブが左に移動して詰められるところが単純に消すのとは 異なります。
372 名前:365 [2010/04/28(水) 22:24:56 ] >>367 QTabViewというウィジットはないようですし、ヘルプでTabViewを検索しても何も 出てきませんが... >>369 > これをやるしかないだろ > 手抜きを考えずにまじめにやろう おっしゃるとおりで、頑張ってやれば出来るのはわかってるんですが、想像以上に ややこしくて、出来てから「なぁんだ、そんな手があったのか」ってことになるかも しれないと思って、先に聞いてみた次第です。 >>370 私もそれを試して見ようと考え始めていました。 QTabWidget::tabBar() って protected なんですね。 ポイントは、tabBar()->tabButton(idx)->hide() とやってちゃんと消えてくれるか どうかですね。
373 名前:365 mailto:sage [2010/04/28(水) 23:38:25 ] >>370 Qt Creatorでフォームに貼ったQTabWidgetを格上げしてやってみましたが、 残念ながらダメでしたorz tabBar()->tabButton() で返される QWidget* の値が 0 になってしまいました。 そもそも tabButton() の第二引数の ButtonPosition の意味がヘルプを読んでも 不明です。これに指定できるのは QTabBar::LeftSide か QTabBar::RightSide ですが、 意味がわかりません。まぁ、どちらを指定しても結果は同じなんですが。 やはり>>369 の言われるように、頑張るしかなさそうに思えてきました。
374 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 23:58:24 ] >>372 すまそ、tabButtonはまた別の機能っぽいですね。 他にtabBarにそれらしき機能ないっぽいので、タブバーを誤魔化すのは難しそうです。 (さすがにpaintEventの再定義するのだったら、indexを管理した方が簡単そうですから) 嘘教えて申し訳ないです。
375 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 00:07:06 ] >>374 いえ、とんでもない。ヒントいただいただけでも感謝です。 しかし、個々のタブにアクセスする方法はどうやらないみたいですね。 ご承知の通り各ページはQWidgetなんですが、じゃタブは何者? WindowFlagsに「タブつきウィジット」ってのがあるんじゃないかと思って 調べましたが、ありませんでした。うーん。
376 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 00:13:02 ] 場合によっては、ウィジェットは全部QWidgetListに保存して変更あるごとに一旦clear()してaddTabやり直した方が楽そうですね。 アホみたいに数あるとか、頻繁に数が変わるんだったら止めた方がいいですが。 タブ名はwindowTitleとして保存すればいいですし、有効・無効はenabled/disabledを利用すれば、QWidgetの機能だけで全部できます。 tabwid->clear(); QWidget *wid; foreach(wid, wid_list){ if(wid->isEnabled()) tabwid->addTab(wid, wid->windowTitle()); }
377 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 00:22:46 ] >>375 タブはどうやら、QTabBarがpaintEventの再実装してやってるらしく (内部的には知りませんが公開APIとしては)タブというクラスはないようです。
378 名前:365 mailto:sage [2010/04/29(木) 08:16:12 ] >>376 いろいろ考えていただいてありがとうございます。 > 場合によっては、ウィジェットは全部QWidgetListに保存して変更あるごとに > 一旦clear()してaddTabやり直した方が楽そうですね。 > アホみたいに数あるとか、頻繁に数が変わるんだったら止めた方がいいですが。 はい。まずはそれでやってみようかと思います。 これだったら面倒はないですね。 > タブ名はwindowTitleとして保存すればいいですし、有効・無効はenabled/disabledを > 利用すれば、QWidgetの機能だけで全部できます。 なるほど。私は accsessibleName や QObject::property を使うことを考えていました が、この方が簡単ですね。 ありがとうございます。あとは手を動かすのみです! >>377 そうなんですか。それじゃ弄りにくいですね。
379 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 18:48:30 ] ここまで書いてくれてる人のレスを流し読みしかしてないけどタブの件にレス。 タブの順番とタイトルと表示するウィジェットのポインタと表示・非表示のフラグを保持するリストを作って タブを消す、再表示するの操作がある度に全部並べ直せばいいんでない?
380 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 19:22:01 ] >>379 >>376 さんの言っているのは、まさにそういうことです。 一応、そのパターンではうまく行きました。 現在、一度消して全部並べなおすのではない方法で やってみています。
381 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 22:25:04 ] QtCreatorでデバッグビルドとリリースビルドを別々のフォルダに作成することは 可能でしょうか。
382 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 22:35:49 ] >>381 Windowsだと普通にやればそうなります。 Linuxだとそうならないらしいので、.proファイルに例えば、 CONFIG(release, release | debug) { DESTDIR = release } CONFIG(debug, release | debug) { DESTDIR = debug } と書いておけば良いと思います(自分では未確認ですが)。
383 名前:365 mailto:sage [2010/04/30(金) 00:02:52 ] タブの可視/不可視の制御ですが、ページを一旦全消して書く直す方法を使わずにやっと 出来ました。インデックスの管理に結構難儀しました。 長いのでコードまでは書きませんが、やったことは、Qt Creatorでフォームに貼った QTabWidgetを格上げして派生ウィジットクラスを作り、addTab()、insertTab()、remove() 、setTabText()、setTabIcon()をオーバーライドして、privateメンバとして用意した QWidgetListで各ページのポインタ(QWidget*)を管理するようにしたり、タブ上のラベル やアイコンを保存するようにしました(QWidgetのwindowTitleやwindowIconに保存)。 可視/不可視の管理はQWidgetのenabledプロパティでやりました(この辺、>>376 さんの アイデアを頂戴しています)。 こうしておいて、新たにsetTabVisible()関数を作り、タブを不可視にしたい場合には基底クラス のremove()を呼び出します。タブを可視にしたい場合は、現在表示中のページをインデックス 0から見て行って、可視にしようとするタブのページより後ろのページを見つけたら、その位置に 基底クラスのinsertTab()でページを挿入します。最後まで可視にしようとするタブのページより 後ろのページが見つからなかったら、末尾に基底クラスのaddTab()でページを追加します。 もう一つ、すべてのタブが不可視の場合は、単純に可視にしたいタブのページを基底クラスの addTab()で追加します。 こんな感じですが、これじゃ当事者以外には意味が伝わらないですねw 一応報告だけはしないといけないと思いまして... とにもかくにも、レスいただいた皆さん、ありがとうございました。
384 名前:365 mailto:sage [2010/04/30(金) 00:08:19 ] ↑ remove()はremoveTab()の間違いです。スマソ。
385 名前:デフォルトの名無しさん mailto:sage [2010/04/30(金) 00:35:04 ] どうせソース貼らないんだったら いちいち発表しなくてもいい ここの人はみんなそれくらい分かってると思うよ
386 名前:デフォルトの名無しさん mailto:sage [2010/04/30(金) 01:05:44 ] >>385 君のレスよりは有益だ。 まるで初心者な解決法じゃなく、慣れた人っぽい解決法だから役に立つ人もいるかもしれぬ。
387 名前:デフォルトの名無しさん mailto:sage [2010/04/30(金) 01:22:49 ] >>384 QTabWidgetって仮想デストラクタ持ってないから、メモリリークしないように気をつけてね。
388 名前:365 mailto:sage [2010/04/30(金) 08:58:43 ] >>387 え? そうなんですか... ふと気が付いて調べてみたら、そもそもQWidgetのデストラクタもvirtualになってないですね。 QObjectはなってますが。 まぁ、今回作った派生クラスはデストラクタでやるべきことがないので、宣言も定義もしていません から大丈夫なんですが、なんだかなぁ。 あとuicで作られたui_xxxxx.hの中身を見ると、格上げされた派生クラスをnewした時のインスタンス ポインタは、基底クラスのポインタ型ではなくて、派生クラスのポインタ型の変数に代入されてます から、一応問題はないですね。 しかしなぜデストラクタをvirtualにしないんでしょうね。何か理由があるんでしょうか。 また一つ勉強になりました。ありがとうございました。
389 名前:365 mailto:sage [2010/04/30(金) 11:23:31 ] >>386 やっぱりソースがないと、情報として不足だと思いますので、Qt Users Forun Japanに添付ファイル 付きで書き込みしました。よろしかったら参考にしてください。 ttp://qtusersforum.s2.zmx.jp/forum/viewtopic.php?f=14&t=433
390 名前:デフォルトの名無しさん [2010/04/30(金) 12:47:27 ] >>387 >QTabWidgetって仮想デストラクタ持ってないから、メモリリークしないように気をつけてね。 持ってますよ。 >>388 >しかしなぜデストラクタをvirtualにしないんでしょうね。何か理由があるんでしょうか。 理由は↓だからです。 >QObjectはなってますが。
391 名前:365 mailto:sage [2010/04/30(金) 12:59:38 ] >>390 基底クラスでvirtualになってれば、派生もvirtualになるんでしたね 思いっきり忘れていました どうもありがとうございました
392 名前:365 mailto:sage [2010/04/30(金) 13:06:48 ] >>391 何で本物の>>365 でない人が>>365 を名乗るんですか? 単なる間違いならいいんですが。
393 名前:392=本物の365 mailto:sage [2010/04/30(金) 13:13:32 ] >>390 > >しかしなぜデストラクタをvirtualにしないんでしょうね。何か理由があるんでしょうか。 > 理由は↓だからです。 > >QObjectはなってますが。 デストラクタは継承されませんが、その場合でも基底クラスでvirtualならば派生クラス でvirtualになるんでしたっけ? (この辺、知識があいまいです)
394 名前:デフォルトの名無しさん [2010/04/30(金) 14:43:31 ] >>393 そうです。
395 名前:393 mailto:sage [2010/04/30(金) 16:26:18 ] >>394 ちょっと手元で実験してみましたが、確かにおっしゃるとおりでした。 また一つ勉強しました。ありがとうございます。
396 名前:デフォルトの名無しさん mailto:sage [2010/04/30(金) 23:59:17 ] >>390 基底クラスがデストラクタのvtbl持ってるから、派生クラスもvtblもってることになるって認識でいいのかなぁ?
397 名前:デフォルトの名無しさん mailto:sage [2010/05/01(土) 04:09:33 ] スレ違い
398 名前:デフォルトの名無しさん mailto:sage [2010/05/01(土) 11:23:51 ] tabbox内のタブをtabboxの横幅いっぱいに拡大したいんだけどこれってどこで設定すれば?っていうか無理なのかしら ┌─┐──┐──┐──────┐ └──────────────┘ タブ3枚、右側は空白 この状態を ┌────┐────┐────┐タブ3枚、横幅いっぱい └──────────────┘ こうしたいんだが・・・
399 名前:デフォルトの名無しさん mailto:sage [2010/05/01(土) 11:39:24 ] >>398 QTabBarのexpandingは違うかなぁ……
400 名前:デフォルトの名無しさん mailto:sage [2010/05/01(土) 11:55:36 ] >>399 TabBoxだけじゃなくてTabBarもあるんですね…無事対応出来ました、即レス感謝です!
401 名前:デフォルトの名無しさん mailto:sage [2010/05/01(土) 14:02:12 ] 細かいハナシで申し訳けないのですが、、、 QtCreatorのヘルプで本文中の文字列を検索した際のハイライトの色ってどこかで変更出来ないでしょうか? 薄いグレーでで毎回見つけるのに苦労してます。
402 名前:デフォルトの名無しさん mailto:sage [2010/05/01(土) 19:30:07 ] コマンドラインオプションを解析する方法を教えてください
403 名前:デフォルトの名無しさん mailto:sage [2010/05/01(土) 19:58:46 ] >>402 QCoreApplication::arguments() を使うのもよし、普通にargc、argvを使うのもよし。
404 名前:402 mailto:sage [2010/05/01(土) 20:13:39 ] >>403 thx
405 名前:デフォルトの名無しさん mailto:sage [2010/05/02(日) 07:21:16 ] >>401 俺も変更したいと思って探したけど、残念ながらないみたい。
406 名前:デフォルトの名無しさん mailto:sage [2010/05/02(日) 08:27:05 ] 薄すぎw
407 名前:デフォルトの名無しさん mailto:sage [2010/05/02(日) 11:10:17 ] 最初気が付かなくてなんで検索できないのか悩んだw
408 名前:デフォルトの名無しさん mailto:sage [2010/05/02(日) 15:46:23 ] javaのIDEは左側に、メソッド一覧が表示されるけど qt-creatorは上にしか表示できないの?
409 名前:デフォルトの名無しさん mailto:sage [2010/05/02(日) 16:34:34 ] サイドバーにアウトラインはめっちゃ欲しい なんでないんだろか
410 名前:デフォルトの名無しさん mailto:sage [2010/05/02(日) 19:11:58 ] IME入力の問題なんとかしてくれないかなー TableWidgetにかな入力するのがトロいし時々落ちるし・・・ これじゃぁ人に使ってもらうには渋いよなぁ・・ みなさんどう回避してるんですか?
411 名前:デフォルトの名無しさん mailto:sage [2010/05/02(日) 19:19:12 ] lineeditは知ってたけど、テーブルもそうなのか 俺のレベルじゃ原因の特定すれできん
412 名前:デフォルトの名無しさん mailto:sage [2010/05/02(日) 19:33:11 ] 別にWindowsのバージョン依存じゃないんだよなあれ XPでもVistaでも7でも平等に不安定だし
413 名前:デフォルトの名無しさん mailto:sage [2010/05/02(日) 19:42:43 ] Qtの中の人ここ見てるかなぁ? ぜひともWindows版での日本語入力を改善してください とりあえずLineEditとTabeWidget まさか、商用版は問題ないとかじゃないよね?
414 名前:デフォルトの名無しさん mailto:sage [2010/05/02(日) 20:10:19 ] コードからMS-IMEの状態を切り替える(かな→英数など)ことはできますか?
415 名前:デフォルトの名無しさん mailto:sage [2010/05/02(日) 20:11:16 ] へー本当だ 今まで気づかんかったけどIME入力にすると LineEditが不自然に遅くなるne @WindowsXP SP3
416 名前:デフォルトの名無しさん mailto:sage [2010/05/02(日) 20:16:40 ] まだ誰もバグ報告してないみたいだな
417 名前:デフォルトの名無しさん mailto:sage [2010/05/02(日) 20:21:54 ] みんな何の用途にQt使ってるの?www QtってGUI用ライブラリでしょ?www
418 名前:デフォルトの名無しさん mailto:sage [2010/05/02(日) 20:58:02 ] TextEditも文字が消えなくなるバグあるし、OpenTypeフォントのバグもどうにかしてもらいたいもんだ 自分でソース見てもさっぱり分からん
419 名前:デフォルトの名無しさん mailto:sage [2010/05/02(日) 21:21:44 ] qt3からqt4にバージョンが上がるときに、qtは大幅な書き直しがあったの?
420 名前:デフォルトの名無しさん mailto:sage [2010/05/02(日) 21:26:57 ] 日本語周りがそんな状態なのに長らく放置されてるってことは Win版で日本語で商用ライセンスで使ってる開発者ってほとんどいないってことなんですかね? じゃなかったら苦情出てるはずだと思うんだけど・・
421 名前:デフォルトの名無しさん mailto:sage [2010/05/02(日) 21:36:32 ] もうWindowsXP使わないから、Nokiaに送ったら改善してくれるかな
422 名前:デフォルトの名無しさん mailto:sage [2010/05/02(日) 21:45:59 ] 知らなかった。 そんなに目立つバグがあるんかい。Qt。
423 名前:デフォルトの名無しさん mailto:sage [2010/05/02(日) 21:57:14 ] IME周りの不安定さはこのスレでも何度か指摘されてるはず
424 名前:デフォルトの名無しさん [2010/05/02(日) 21:57:29 ] >>413 bugreports.qt.nokia.com/
425 名前:デフォルトの名無しさん mailto:sage [2010/05/02(日) 22:04:15 ] Creator1.3.1なんだけど 置換ってつかえる? 検索はできるんだけど、置換のやり方が分かりません
426 名前:デフォルトの名無しさん mailto:sage [2010/05/02(日) 22:24:43 ] Qt Creator+Designer で簡単なテストプロジェクト作っているのですが 単に slider からから得られる値を加工した値(例えば10倍するとか) を lcdNumber に表示させることを Designer の機能をフルに使って タイプして入れる量を最低で作ろうとしています。 まず,単に slider の返す値を表示させるアプリケーションであれば マウスでポトペタ,edit signal/slot でつないで Build, Run で 全くタイピングしないで作れます。 これに関数を一個挟むだけなのですが,これを挟む箇所が見えません。 編集できるのは main.cpp, mainwindow.h,.cpp,.uiと<プロジェクト名>.pro だけですがここには slider や lcd は無いので挟めません。 slider, lcd を promote すると今度はそれらのコードが無いために compile error となります。 実質的に変換の関数を1個書けば作れるはずだと思うのですが,どうしたら良 いのでしょうか? いろいろ tutorial のサイト見たのですが,実質的にコードを全部手書きする 感じで本来の Designer の機能を使い切っていないように見えます。 こういったことができれば色々作る見通しができるように思えます。 Qt初心者でレベルの低い質問で申し訳ありません。
427 名前:デフォルトの名無しさん mailto:sage [2010/05/02(日) 22:26:21 ] >>425 Ctrl+Fで入力枠が上下に2つ出るじゃろ? 下のほうが置換えや
428 名前:デフォルトの名無しさん mailto:sage [2010/05/02(日) 22:27:21 ] >>425 Ctrl+Fはいけるけど Ctrl+Shift+Fの方はないっぽいね
429 名前:デフォルトの名無しさん mailto:sage [2010/05/02(日) 22:53:36 ] >>414 これはネイティブAPIじゃないと無理なんでしょうか・・・
430 名前:デフォルトの名無しさん mailto:sage [2010/05/02(日) 23:03:56 ] >>418 英語でバグ報告するのが大変なら、ここで詳しく報告してみたら? 誰か気が向いた人が報告するかも知れないし、もちろんしないかも知れないが ■バグトラッカー入力事項 ・要約(1行で) ・Qtバージョン ・関連するコンポーネント(Widgets、Phnon、QtScript、OpenGLなど。複数可) ・バグ報告本文(症状と再現方法。簡潔な再現コードがあればそれも) ・再現環境 OS:Windows Vista Home SP2, MacOS X v10.6.3, ubuntu 9.10 など その他(例えばIMEならMS IME Standard 2002 ver 8.1、Google日本語入力0.10.288.0など)
431 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 00:07:42 ] >>429 InputMethodで検索するくらいのことはしようよ。 QWidget::setAttribute(Qt::WA_InputMethodEnabled, true)
432 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 00:13:59 ] >>431 thx よく見つけられるなぁ・・・ QtCreatorではInputMethodでは見つけられなかったし ぐぐってもsetAttributeは見つけられなかった・・orz どうやって検索したのか教えてください どうも頭が.netになってるから探す場所がそもそも見当ちがいなのか・・・
433 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 00:27:08 ] >>432 QtAssistantのインデックスのところにinputmethodって入れてみたらsetInputMethodEnabledってのが見つかって、 そこ見たら Use setAttribute(Qt::WA_InputMethodEnabled, enabled) instead. って書いてあった。
434 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 00:44:41 ] >>433 なるほど。探してくれてありがとうございます。 どうもC#的な構文の発想が抜け切れておらず・・・・ですいません。助かった。
435 名前:425 mailto:sage [2010/05/03(月) 07:58:04 ] >>427 428 ありがとう Ctrl+Shift+Fの方ばかり探してた
436 名前:デフォルトの名無しさん [2010/05/03(月) 08:09:42 ] 便乗質問だけど、webkit を使って表示したwebページでのテキスト入力エリアで 3つ以上の文節の変換(例えば テストテストテスト)を行うとクラッシュするんだけど これはどう回避したらいいのでしょうか? webkit が生成するテキスト入力エリア全てに以下のメソッドを呼ぶの? QWidget::setAttribute(Qt::WA_InputMethodEnabled, true)
437 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 08:23:27 ] Webkitのクラッシュの話は前も指摘されてたけど やっぱり原因不明だから直るまで待つしかないと思う 一応バグレポートで報告済みで、すでに開かれてるみたいだし
438 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 09:11:37 ] >>418 >>430 日本語入力のバグなら日本で Qt の商売をしている SRA にバグ報告する方が 早いかも。 誰か SRA のサポートや講習会を受けている人がいたら連絡してみては? (たぶん、SRA の人もこのスレを見ているだろうとは思うけれど…) ttp://www.sra.co.jp/qt/point/index.html#n004 >SRA は Nokia, Qt Software のサポートに加えて、日本語による時差の >無いローカルサポート窓口、日本語環境に特化した問題の迅速な解決支援、 >カスタムトレーニングや開発支援サービス等を提供します >問題の内容によっては、SRA のサポートの方が対応が早い場合もあります。 >特に、日本語特有の問題等が生じた場合には、どうしても >Nokia, Qt Software の技術者だけでは、不具合内容の確認が困難となります。 >そのような場合には、Nokia, Qt Software が対策を行う前に、弊社が >先行で暫定パッチを作成して提供することもあります。 この問題の暫定パッチが SRA の顧客「だけ」には提供されていたりしてw
439 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 09:17:05 ] そのLineEditとIMの組み合わせで遅くなるバグはlinux版4.6.2でも確認したよ とりあえず俺は4.5に落した上で4.7待ちにすることにした
440 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 09:31:57 ] >>439 Linuxではバージョン落とせばいけるのか つことはやっぱバグとみていいのか 仕様なのかと思ってたw
441 名前:デフォルトの名無しさん [2010/05/03(月) 11:50:32 ] SRA の人はこのスレを見ていない
442 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 11:58:40 ] Windows 版 4.5.1 使ってますが無問題です
443 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 12:05:48 ] linuxのqtはxlibを叩いているんですか?
444 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 12:23:31 ] 日本の今の現場の状態だと、IT業界に先はないだろ。 どんどん人材を消耗するだけ消耗して使い捨て、いっつも現場は新人だらけ。 スパゲティソースが残るだけで熟練した技術なんて絶対に蓄積しないよ。 最近は何でもかんでも技術の標準化が進んでるから 「技術は○○が握ってる」とかいうことはあまりない。 むしろ日本勢が旧態依然とした「独自技術」に拘って ノロノロと研究してる間に中韓みたいなところから標準技術を組み合わせただけの 製品が出てきて市場を取られるんだよ。 丸投げピンハネがはびこっている間は欧米には勝てない。
445 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 12:24:38 ] 複数スレを跨ぐコピペって報告した方が良いのかな
446 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 15:43:20 ] >>445 頼むわ
447 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 16:16:50 ] >>441 Qt Users Forum Japanなら見てるし書き込んでる。 ttp://qtusersforum.s2.zmx.jp/forum/
448 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 19:52:18 ] 今、思ったんだけど signalとslotって関数ポインタを隠蔽しているだけなのか?
449 名前:デフォルトの名無しさん [2010/05/03(月) 19:57:06 ] >>448 doc.trolltech.com/4.6/metaobjects.html
450 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 21:04:15 ] >>448 connect() のソース読んでみると、いろいろわかっていいぞ
451 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 21:25:30 ] 円独歩安だな 他はどこも動いてないのにw
452 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 21:26:19 ] 誤爆失礼
453 名前:デフォルトの名無しさん mailto:sage [2010/05/03(月) 23:52:18 ] IME 遅い site:qtusersforum.s2.zmx.jp - Google 検索 www.google.com/search?hl=ja&lr=lang_ja&ie=SJIS&oe=SJIS&q=IME+%92x%82%A2+site%3Aqtusersforum.s2.zmx.jp 日本語入力 遅い site:qtusersforum.s2.zmx.jp - Google 検索 www.google.com/search?hl=ja&inlang=ja&ie=Shift_JIS&oe=Shift_JIS&q=%93%FA%96%7B%8C%EA%93%FC%97%CD+%92x%82%A2+site%3Aqtusersforum.s2.zmx.jp&lr=lang_ja いずれも一致する情報は見つかりませんでした。 tableWidget, lineEditだけでなく textEditも、debugビルドだとちょっと遅いですね。 使えるのはplainTextEditだけかも。。。。
454 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 02:02:40 ] VS2010でコンパイルする方法はありますか? ぐぐってもいい情報が出てこない
455 名前:デフォルトの名無しさん [2010/05/04(火) 07:04:20 ] >>454 doc.trolltech.com/4.7-snapshot/supported-platforms.html
456 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 09:51:50 ] まだ予定に入ってるだけか…。
457 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 10:10:23 ] まだ出たばっかじゃん
458 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 10:13:14 ] Betaは相当前から出てるが
459 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 11:27:08 ] qt-creatorの赤の波線どうにかして消せないの? 邪魔くさいんだけど
460 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 14:38:53 ] 文法間違ってると出る赤の波線じゃないの?それ。
461 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 14:40:24 ] 書いてる途中なのに出てくるのはちょっと邪魔ではあるなぁ。 設定も見あたらないし、消せないのかね?
462 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 15:38:05 ] あるlineEditに入力されたアルファベットを小文字でも、すべて大文字に したいんですが、可能ですか?
463 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 16:03:18 ] >>462 QLineEdit *le; QString t = le->text().toUpper();
464 名前:デフォルトの名無しさん [2010/05/04(火) 16:19:42 ] >>462 doc.trolltech.com/4.6/eventsandfilters.html#event-filters
465 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 16:34:55 ] 大文字に変えるだけならQLineEdit::textChanged使うのが一番簡単じゃないかな
466 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 17:21:28 ] OS(Windows)のAPIを使うにはどうやるんでしょうか?
467 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 17:56:11 ] >>466 #if defined(Q_OS_WIN) #include <Windows.h> #endif
468 名前:デフォルトの名無しさん [2010/05/04(火) 21:00:31 ] >>465 一回余分にスロットが呼ばれるのでは。
469 名前:デフォルトの名無しさん mailto:sage [2010/05/04(火) 21:17:37 ] 1回くらい気にしないか、QObject::blockSignalsを使うか
470 名前:デフォルトの名無しさん mailto:sage [2010/05/05(水) 10:57:07 ] >>467 お!できました。 ありがとうございます。
471 名前:462 mailto:sage [2010/05/05(水) 11:21:56 ] QEventFilterのサンプルをまねて bool MainWindow::eventFilter(QObject *obj, QEvent *ev) { if(obj == ui->lineEdit) { if( ev->type() == QEvent::KeyPress ) { QKeyEvent *keyEvent = static_cast<QKeyEvent*>(ev); keyEvent->text().toUpper(); return true; }else{ return false; } }else{ return MainWindow::eventFilter(obj, ev); } } としてみたんですけど lineEditに入力できなくなりました。 ヘルプ
472 名前:デフォルトの名無しさん mailto:sage [2010/05/05(水) 12:48:05 ] サンプルって、"Ate key press"ってのをそのまま写したの? Key Pressを食うサンプル写したら、そりゃあ食われちゃうよ。 ヒント: eventFilterはtrueを返すとイベントはフィルタリングされたとして、無視される。 falseを返すとフィルタリングされなかったとして、通常どおり扱われる。 ところで、これってeventfilter使うのは適切なのか? 使うとすればイベントを消して再送出になると思うけど、 それだったらkeyPressEventの再実装の方が簡単な気がする。
473 名前:デフォルトの名無しさん [2010/05/05(水) 13:09:34 ] >>472 >>465 の方法が簡単で確実。
474 名前:471 mailto:sage [2010/05/05(水) 15:09:05 ] >>472 あぁ、そうだったんですね。分かりました。 >>それだったらkeyPressEventの再実装の方が簡単な気がする。 え、そんなのがあったんですか。 また、勉強してみます。
475 名前:デフォルトの名無しさん mailto:sage [2010/05/05(水) 22:33:26 ] x64 環境にインストールして試してみてる x86 で作ったいくつかのプロジェクトはそのまま qmake/make も正常に出来て動作した あるプロジェクトだけ make は正常だったのに実行すると再現性のある場所で必ず落ちる どうも qDebug() が怪しいみたいだ もう少し最小限のテストプログラムで同じ操作で落ちるかどうか試してみよう
476 名前:デフォルトの名無しさん mailto:sage [2010/05/06(木) 09:27:22 ] QtCreator1.3.1でフォームデザイナの画面にヘルプを表示した後に ヘルプを閉じるとオブジェクトブラウザとプロパティシートが 幅が狭くなったまま戻らない問題、改善してくれると有難いんだが・・ それより、VSやEclipseみたいな動作のドックウィンドウになって欲しい・・
477 名前:デフォルトの名無しさん mailto:sage [2010/05/06(木) 09:41:13 ] ttp://codepad.org/9OYfLai8 QFutureの辺りを読んでこのようなコードを書いたのですが multの終了時にfが呼び出されません なにがおかしいのでしょうか?
478 名前:デフォルトの名無しさん mailto:sage [2010/05/06(木) 09:41:55 ] あとエディタをタブ式にしてほしい 多段タブで
479 名前:デフォルトの名無しさん mailto:sage [2010/05/06(木) 09:57:09 ] >>462 Validatorを使うといいよ
480 名前:デフォルトの名無しさん mailto:sage [2010/05/06(木) 10:35:16 ] >>478 同意 Ctrl+Tabでも切り替えはできるけど コンボボックスって頻繁に操作するには面倒だよね
481 名前:デフォルトの名無しさん mailto:sage [2010/05/06(木) 10:49:30 ] 左下の小さいウィンドウを『開いているドキュメント』に設定すればいい 多段タブより見やすいし場所取らないし便利だよ
482 名前:デフォルトの名無しさん mailto:sage [2010/05/06(木) 11:16:18 ] >>481 thx そういうことができるのか シングルクリックで切り替わるから楽だね
483 名前:デフォルトの名無しさん mailto:sage [2010/05/06(木) 12:25:26 ] 左にあるプロジェクトとかを右にもってくるにはどうすればいいの?
484 名前:デフォルトの名無しさん mailto:sage [2010/05/06(木) 21:32:59 ] QStringとstringはどのようにすれば変換できるのですか?
485 名前:デフォルトの名無しさん mailto:sage [2010/05/06(木) 21:40:56 ] toStdString
486 名前:484 mailto:sage [2010/05/06(木) 21:44:24 ] >>485 thx
487 名前:デフォルトの名無しさん mailto:sage [2010/05/07(金) 00:31:03 ] >>477 return app.exec();
488 名前:デフォルトの名無しさん mailto:sage [2010/05/07(金) 00:49:25 ] >>487 ありがとうございます 動作しました
489 名前:475 mailto:sage [2010/05/07(金) 03:24:28 ] やはり qDebug() が糞だった
490 名前:デフォルトの名無しさん [2010/05/07(金) 10:11:57 ] >>489 どのように
491 名前:デフォルトの名無しさん mailto:sage [2010/05/07(金) 10:22:41 ] qDebugの存在自体知らないので、kwsk教えて欲しいw
492 名前:デフォルトの名無しさん mailto:sage [2010/05/07(金) 10:49:51 ] >>491 doc.trolltech.com/4.6/qtglobal.html#qDebug
493 名前:475 mailto:sage [2010/05/07(金) 11:09:58 ] >>490 すみません治っちゃいました Makefile と debug / release ディレクトリ全部消してから qmake / make で作り直したら x64 でも普通に動きました orz qDebug() のせいと言い切ったのは早計でしたが 何かがおかしいようです(ソースは同じのを元に make しました) っていうか mingw は 32bit 用のをそのまま x64 上で使っているだけなので バイナリが混ざってたとかいうのが原因とも思いにくいのですが・・・
494 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 09:46:18 ] Fedora 9 QtCreator1.3.1 QFileDailog::getOpenFileNameで開いたダイアログから、ネットワークの 共有ファイルを開くには
495 名前:デフォルトの名無しさん [2010/05/08(土) 10:29:22 ] >>477 app.exec()
496 名前:デフォルトの名無しさん [2010/05/08(土) 12:10:57 ] > 494: やってみたところでは、OSの方でmountしないと無理っぽい。
497 名前:494 mailto:sage [2010/05/08(土) 12:34:51 ] >>496 smbclientをインストールしてfstabでcifsを設定してsystem(mount /mnt/XXX); しているので/まで上がってから/mntをたどれば開けるんですが、Nautilasみたいに ネットワークを開くことはできないものでしょうか?
498 名前:デフォルトの名無しさん [2010/05/08(土) 21:10:58 ] >>497 NautilasでなくてNautilus。 デスクトップ環境とツールキットは別物。KDEと同じように自分で処理する。
499 名前:497 mailto:sage [2010/05/08(土) 22:54:56 ] >>498 わかりました。 Windows環境でも、マイネットワークはでないのかな?
500 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 00:34:07 ] テキストボックスで、 改行なしの1行ボックスにしたいのですが、 どうすればよいのでしょうか。 (エンターおすと改行されてしまう) qt designerを使っています。
501 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 01:00:43 ] QLineEdit ではだめなのか?
502 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 04:04:28 ] VS2010でQtコンパイルしてみたひといる?
503 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 07:54:54 ] >>499 Windowsだと、QFileDialog::getOpenFileName()のoptions引数に QFileDialog::DontUseNativeDialogを指定しなければ、Windows標準の 「ファイルを開く」ダイアログが出るから、マイネットワークは選択できる。 QFileDialog::DontUseNativeDialogを指定してQt固有のダイアログを 表示させるとマイネットワークは選択できない。
504 名前:デフォルトの名無しさん [2010/05/09(日) 08:34:54 ] >>500 イベントフィルターで、リターンとエンターを無視すればよいです。
505 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 17:02:36 ] >>200 読んでちょっと試してみたけど、2chブラウザ作る用途ならまだQTextBrowserの方が速いな QWebViewは日本語文字列の描画が極端に遅くて、レス1000個描画するのにQTextBrowserの倍くらい時間がかかる 開発はマルチバイト文字軽視し過ぎなんじゃないのか・・・
506 名前:デフォルトの名無しさん [2010/05/09(日) 19:28:17 ] >>505 >開発はマルチバイト文字軽視し過ぎなんじゃないのか マルチバイトが不要な人達が開発しているから、どうしても後付けだからね。
507 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 20:00:58 ] ファイルをアップロードしたいので ttp://www.qtcentre.org/threads/22435-QNetworkRequest-file-upload-please-help の最後のレスを参考に ttp://codepad.org/OnrYEyQh としてみたのですがアップロードできません なにが不味いのかわかりますでしょうか? cgiの方はcodepad.org/7GOdZ9UD です
508 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 22:58:11 ] アップロードできないとは具体的にどうなるの? エラー落ちするのか、リクエストが送信されないのか、ファイルが保存されないのか、それすら分かってないのか コード貼るのは偉いけど、エラー内容は各自で調べてくださいって言われても正直面倒だよね
509 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 23:09:54 ] >>508 すいませんでした とくにエラーもなく終了します wiresharkで監視したところPOSTリクエスト自体は発行されていました ちなみにcgiが動作はブラウザで確認しています
510 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 23:35:27 ] ここが2択を強いる糞ライブラリのスレか
511 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 23:56:49 ] >>509 じゃあブラウザからアップロードした時のリクエストと、 >>507 のプログラムからアップロードした時のリクエストを比較すればいいんじゃないかな
512 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 12:44:48 ] >>507 boundaryの使い方がめちゃくちゃ
513 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 18:50:44 ] QtCreator って、ファイルを16進ダンプで表示できない?
514 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 19:44:57 ] tableViewWidgetでGUIから要素を変更とかできるんでしょうか? www.saltycrane.com/blog/2007/06/pyqt-42-qabstracttablemodelqtableview/ ここのサンプルから勉強してるんですが、要素の変更ができないっす。。。
515 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 20:28:29 ] ubuntuでQt creatorを使って書いたプログラムをWindows環境に持ってきたんだけど、2点ほど困ったので教えてください。 MinGW版です。 ・QScrollBarのmaxとminの差が大きい時、スライダを大きく動かそうとすると、マウスの動きに追随してこない。 マウスが0.5秒くらい止まって初めてスライダがその位置に飛んでくる感じ。 trackingはonにしてあるし、Ubuntuの時は感じなかったのだけど。 ・アイコンが表示されない。 新しくプロジェクトを作っても駄目なので、何かの設定がおかしいのだとは思いますが・・・。
516 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 21:01:03 ] >>513 プロジェクトの中のファイルを右クリックして エディタを指定して開く > Binary Editor
517 名前:513 mailto:sage [2010/05/15(土) 09:28:43 ] >>516 ありがとうございました。 でも、ファイルデータの内容を確認したかったんですが、これはプロジェクト内の テキストしか表示できないんですね。残念
518 名前:デフォルトの名無しさん mailto:sage [2010/05/15(土) 09:47:01 ] >>514 むり
519 名前:デフォルトの名無しさん mailto:sage [2010/05/15(土) 12:39:52 ] >>515 ttp://qt-labs.jp/2010/03/23/how-to-report-bugs.html
520 名前:デフォルトの名無しさん [2010/05/16(日) 02:39:54 ] QListIteratorについて質問させてください。 1, 2, 3, 4という要素が入ったリストを->キーを押すたびに1から順に、もしくは<-キーで戻ったところの1つ次から表示したいのですが 進んだ後に<-で戻る、もしくは戻った後に->で進もうとすると1回目がうまくいきません(<-で戻って表示したところと同じところがもう一度表示される) -> 1が表示される -> 2が表示される -> 3が表示される <- また3が表示されてしまう <- 2が表示される (進むのにQListIterator::next()、戻るのにQListIterator::previous()を使用しています。) 直前にどちらを使ったかでフラグを立てることで一応うまく行くと思うのですが、もっとスマートな方法はないでしょうか。よろしくお願いします。
521 名前:デフォルトの名無しさん mailto:sage [2010/05/16(日) 03:03:44 ] ->のとき 表示; next(); <-のとき previous(); 表示; じゃだめ?
522 名前:520 [2010/05/16(日) 03:36:59 ] >>521 ありがとうございます。 ただ、next()やprevious()を使わないとデータを取り出せないようなのでそれは出来ないみたいです・・・
523 名前:デフォルトの名無しさん mailto:sage [2010/05/16(日) 04:06:05 ] JavaスタイルイテレータよりもC++スタイルイテレータ使ったほうが良いだろうね。その場合は。
524 名前:520 [2010/05/16(日) 15:16:48 ] >>521 , 523 STLスタイルを使用することで解決出来ました。 ありがとうございました。 表示(i.previous())」を「i.previous; 表示(i.previous()); i.next()」に置き換えることでJavaスタイルでも一応うまくいきました。
525 名前:デフォルトの名無しさん mailto:sage [2010/05/16(日) 21:41:20 ] QtCreatorに既存のクラスに新しくメソッドを追加するコマンド等はありますか?
526 名前:デフォルトの名無しさん mailto:sage [2010/05/16(日) 22:07:23 ] 何がしたいのかもう少し詳しく書かないと、質問の意図がわからん。
527 名前:デフォルトの名無しさん mailto:sage [2010/05/17(月) 01:34:29 ] VCのクラスデザイナみたいなものを期待しているなら 標準では存在しない
528 名前:デフォルトの名無しさん mailto:sage [2010/05/18(火) 20:55:46 ] qt4でテトリスを作りたいんだけど、格子状の線を引きたい どのクラスを使えばできるの?
529 名前:デフォルトの名無しさん mailto:sage [2010/05/18(火) 21:25:17 ] doc.trolltech.com/4.6/qwidget.html#paintEvent
530 名前:デフォルトの名無しさん mailto:sage [2010/05/18(火) 22:00:02 ] Qt Creatorでビルドする際、コンパイル前に任意のコマンドを実行させる方法があったら 教えてください。リンク前なら、.proファイルでQMAKE_PRE_LINKを設定しておけば できるようですが、コンパイル前に実行するコマンドの指定というのは、qmake Variable Referenceを探しても見つけられませんでした。 具体的に何をやりたいのかと言うと、TortoiseSVNのSubWCRevコマンドで、ソースコード にSubversionのリビジョン番号を埋め込んでからコンパイルしたいのです。
531 名前:デフォルトの名無しさん mailto:sage [2010/05/19(水) 10:40:40 ] >>530 プロジェクト ビルドステップを追加 順番age
532 名前:530 mailto:sage [2010/05/19(水) 20:15:06 ] >>531 おー、そっちでしたか。そちらには発想が行きませんでした。 ありがとうございました。
533 名前:デフォルトの名無しさん mailto:sage [2010/05/21(金) 00:35:46 ] これってVS2010で使える?
534 名前:デフォルトの名無しさん mailto:sage [2010/05/21(金) 08:12:11 ] FAQ
535 名前:デフォルトの名無しさん mailto:sage [2010/05/21(金) 15:57:23 ] >>533 ちょうどここ↓にその話題が出てる。 ttp://qtusersforum.s2.zmx.jp/forum/viewtopic.php?f=14&t=457&sid=e0cc433480515fdafcfecaad22b58cda
536 名前:デフォルトの名無しさん mailto:sage [2010/05/22(土) 02:15:17 ] Qt Creatorを英語化するのってどこだっけ? ヘルプが英語なのにメニューが日本語だと逆に探せねぇorz
537 名前:デフォルトの名無しさん mailto:sage [2010/05/22(土) 06:28:59 ] Qt Creator のインストールディレクトリ以下の、share/qtcreator/translations の中にある qtcreator_ja.qm を一時的にリネーム(先頭に _ 付けるとか)してやると英語になるよ。 もしかすると qt_ja_JP.qm もリネームする必要があるかも。
538 名前:デフォルトの名無しさん mailto:sage [2010/05/22(土) 10:02:46 ] >>537 さんくす。
539 名前:デフォルトの名無しさん mailto:sage [2010/05/25(火) 20:33:20 ] >>538
540 名前:デフォルトの名無しさん [2010/05/28(金) 09:39:03 ] test
541 名前:デフォルトの名無しさん mailto:sage [2010/05/29(土) 22:50:06 ] Creator の使い方を学ぼうとしているのですが Qt Creator 1.0.0 (Linux, 64bit, Ubuntu)をで class を (たとえば QLineEditを継承して)promote しても何もファイルは自動生成されません web で調べた感じだと自動生成されるはずみたいなのですが実際どうなのでしょうか? promote する際のメニューには自動生成に関係するものは無さそうです 自分で手書きで class 定義を加えると no matching function call to xxx::xxx(QWidget*&) といったエラーメッセージが出てしまいます(xxxは継承した class 名) ただこれを全部手書きで加える必要があるのもIDEとしておかしい気がします 多分使い方を間違っているのではないかと考えているのですが
542 名前:デフォルトの名無しさん mailto:sage [2010/05/29(土) 23:08:49 ] なんで 1.0.0 なんて古いのをつかってるんだ? まずは 1.3.1 か 2.0-beta1 を試してみれば。
543 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 00:39:36 ] どうもありがとうございます もう安定しているだろうと思ってレポジトリにあったものを使っていました 本家のを入れ直してみます
544 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 08:23:04 ] >>541 Qt Creator1.3.1でも自動生成はされないよ。 [格上げ](promote to)をやっておいてから、メインメニューの[ファイル]⇒ [ファイル/プロジェクトの新規作成]で[C++ クラス]を選択して、ウイザードで 必要な情報を記入して進めば、ソースとヘッダーファイルが作成されるから、 後は手書きするしかない(1.3.1はGUIが最初から日本語化されてるから日本語 GUIの表現で書いてる)。 自動作成してくれてもいいと思うのは同意だけど、やってみるとそんなに面倒じゃ ない。
545 名前:543 mailto:sage [2010/05/30(日) 15:16:53 ] どうもありがとう 1.3.1にしてもやはり自動生成されないので何を間違えたのかと悩んでいました クラス生成で Widget から継承してうまく行きました なんか感じが少し分かった気がします Trolltech の docs も結構見たんですが,意外と Creator を最大限 に利用する方法って見つからないんですよね ガシガシ書くだけなら例はあるんですがせっかくの IDE なので「正しく」使いたいなと思って
546 名前:544 mailto:sage [2010/05/30(日) 21:11:42 ] >>545 どういたしまして。 > Trolltech の docs も結構見たんですが,意外と Creator を最大限 > に利用する方法って見つからないんですよね 確かに。何となく「Qt Designerのマニュアルを見ろ」みたいな感じで... それでも見つからないのもあるね。 例えば今回の「格上げ先を指定」のダイアログの中にある、「グローバル にインクルードする」というチェックボックスの意味がわからないし、説明も どこにも見当たらない。 どなたか知ってます?
547 名前:デフォルトの名無しさん [2010/05/30(日) 23:33:44 ] >>546 "〜" か <〜> の違いです。
548 名前:546 mailto:sage [2010/05/31(月) 21:23:57 ] >>547 サンクス。それだけなんだぁ。 何か間違い探しみたい。
549 名前:デフォルトの名無しさん [2010/06/01(火) 23:06:05 ] 1 :名無しさん@どっと混む:2009/12/14(月) 20:45:15 ID:unnBMLw10 高根社長のSM趣味サイトMaskRと 副業のSMクラブ銀座プレジス・動画配信専門リアルミストレスばかり語られるが 高根社長の本業コムラッドについても語ろう 銀座プレジス www.prezis.jp/top.htm MaskR maskr.com/ プレジスを語ろう set.bbspink.com/test/read.cgi/sm/1246009466/ 動画配信専門リアルミストレスってどうよ? set.bbspink.com/test/read.cgi/sm/1249183350/ 9 :名無しさん@どっと混む:2010/01/03(日) 18:27:00 ID:RSEbBiG0O 高値はもう大麻やめたの? 10 :名無しさん@どっと混む:2010/01/04(月) 05:15:29 ID:A3l1qdv+O タカネ社長ってどうやってばれないように脱税してんだろ? 億単位で脱税して億ション暮らしなんて凄いよな 監査役の奥さんもグルなのか? 12 :名無しさん@どっと混む:2010/01/05(火) 01:47:06 ID:KAHwqMrBO 株式会社Comrade株式会社コムラッド株式会社Comrade株式会社コムラッド株式会社Comrade株式会社コムラッド株式会社Comrade株式会社コムラッド株式会社Comrade 株式会社Comrade株式会社コムラッド株式会社Comrade株式会社コムラッド株式会社Comrade株式会社コムラッド株式会社Comrade株式会社コムラッド株式会社Comrade 13 :名無しさん@どっと混む:2010/01/05(火) 01:47:47 ID:KAHwqMrBO 高根英哉高根英哉高根英哉高根英哉高根英哉高根英哉高根英哉高根英哉高根英哉高根英哉高根英哉高根英哉高根英哉高根英哉高根英哉高根英哉高根英哉高根英哉
550 名前:デフォルトの名無しさん [2010/06/01(火) 23:06:51 ] 18 :名無しさん@どっと混む:2010/01/07(木) 09:26:06 ID:5NL2jyJpO 高根はMASKRでレイプ仲間募集するのやめたんだね mixiで募集中か 21 :名無しさん@どっと混む:2010/01/10(日) 19:36:45 ID:FdRwgXUTO 風俗店やってるってことは高根社長は暴力団と繋がってるんだね どこの組にいくらみかじめ料払ってるんだかw 23 :名無しさん@どっと混む:2010/01/23(土) 03:43:12 ID:Pdcv8aq0O タカネ社長未成年に酒飲ませてレイプ 24 :名無しさん@どっと混む:2010/01/29(金) 18:16:06 ID:zMwtdkIsO 高根社長のレイプ趣味は病気だから治らない 25 :名無しさん@どっと混む:2010/02/01(月) 01:39:32 ID:uaH5mo2nO 前科者 26 :名無しさん@どっと混む:2010/02/09(火) 00:52:46 ID:JwGmN2cG0 >>25 容疑はレイプ?買春?管理売春?公然猥褻?薬物?脱税?詐欺?傷害? 28 :名無しさん@どっと混む:2010/02/14(日) 22:56:30 ID:lykq8x1VO どこかのスレで人を死に追いやったと書いてあった 33 :名無しさん@どっと混む:2010/03/04(木) 12:49:19 ID:J8YxaRGO0 金がないって脱税がばれて追徴課税でも来たか? せっかく脱税の隠れ蓑にプレジス営業してるのに残念だったなw 38 :名無しさん@どっと混む:2010/03/12(金) 21:09:53 ID:L0W4+sivO 首吊り首絞めプレイ大好き高根英哉
551 名前:デフォルトの名無しさん [2010/06/01(火) 23:08:00 ] 53 :名無しさん@どっと混む:2010/05/17(月) 13:14:06 ID:E/7OZVtz0 >>18 高根英哉blogでレイプ仲間募集中 私とともにマスクの女どもを弄ぶ仲間を募集する 急に思いついたら連絡をして、集まれるような仲間だ だから、複数名募集するし、いついつという日時があるわけでもない 条件は以下のとおりだ ・SMを実践している、または興味がある ・マスクを用意できる ・都内でイベント参加できる ・イベント内容およびこの仲間を通じて知りえた情報を口外しない ・成人男子である ・携帯電話および携帯メールアドレスを私に公開できる ・酒が好きである 希望者は私宛にメールを送ってほしい 全員が参加できるわけでもないので、こちらの選択に任せてもらう なるべく想いを書いてもらうほうがわかりやすいし 経験や顔写真も歓迎。 r2007@maskr.com maskr_2008@yahoo.co.jp hide@comrade.co.jp
552 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 11:42:43 ] Qt Creator 1.3.1をLinuxで使っていてプロジェクトを他のところからコピー してクリーン,ビルドするとCreatorからはPermission deniedとなってしまいます 実行ファイルはできていてターミナルやファイルブラウザからは不思議な事に普通に走ります どうしたらCreator内からも走るようになるのか分かっている方いたら教えて下さいますか?
553 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 13:03:21 ] 質問です: QString qsBuf; に文字列が入ってるとして、 この文字列をUTF8ととして、 std::string sBuf; に入れるにはどういうコードになりますでしょうか? OSはWindows(とMAC OS X)を想定しています。
554 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 13:08:58 ] >>553 ttp://doc.qt.nokia.com/4.6/qstring.html#toStdString
555 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 13:51:26 ] d 見てみると、 >std::string sBuf = qsBuf.toStdString(); みたいな感じですか? >QString::toUtf8() const の使い方や意味が丸で分からない感じなんですが。。。
556 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 14:35:57 ] この程度の英語辞書引けば中学生でも読めるだろ。 toStdString()はtoASCII()呼んでるから、QTextCodec::setCodecForCStrings()見るって書いてる。 これにUTF8セットしてるなら >std::string sBuf = qsBuf.toStdString(); でいいんじゃね?
557 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 14:43:12 ] >>555 4.7 のドキュメントの方が少し詳しいな。 ttp://doc.qt.nokia.com/4.7-snapshot/qstring.html#toStdString QString::toStdString() は toAscii() を使っているが、 toAscii() は QTextCodec::codecForCStrings() を使って QString を std::string へ変換する。 ので、 >>5 を参考に QTextCodec::setCodecForCString() で UTF-8 のコーデックを指定するといい。 toUtf8() は QByteArray へ変換するのでこの場合は使わない。 setCodecForCString() の副作用が気になる場合は std::string str( qstring.toUtf8().constData() ); でも行けるはず。
558 名前:デフォルトの名無しさん mailto:sage [2010/06/02(水) 14:47:56 ] これ、数字の三桁区切り簡単にできるのね 便利だわ