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/
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 ] これ、数字の三桁区切り簡単にできるのね 便利だわ