- 1 名前:デフォルトの名無しさん mailto:sage [2005/10/26(水) 13:26:15 ]
- QtはTrollTechが作成したC++ベースのGUI toolkitで、
OS間の差異を意識せず開発できるように作られたライブラリ群です GUIだけではなく、ネットワーク、マルチスレッド、グラフィック(OpenGL)や 各種コンテナ、XMLパーサーなど豊富なライブラリを持ちます Win, Linux, Mac版があり、10月26日現在でQt4.0.1 有料版・無料版(Open Source Edition)とあり、無料版はGPL ■Trolltech www.trolltech.com/ ■The Qt Open Source Edition is available for download www.trolltech.com/download/opensource.html ■Open Source Edition download files www.trolltech.com/download/opensource.html ★ Qt/Windows Open Source Edition www.trolltech.com/download/qt/windows.html ★ Qt/X11 Open Source Edition www.trolltech.com/download/qt/x11.html ★ Qt/Mac Open Source Edition www.anime-int.com/download/qt/mac.html ■Qt4 Reference ・Trolltech公式 doc.trolltech.com/4.0/index.html ・一部邦訳版 torafugu.com/Trolltech/qt-4.0.0/html/index.html ■Qt GUI Programming (内容はQt3ベースだけどQt4にも十分応用できます) ・洋書 www.trolltech.com/developer/books.html ・邦訳 store.sbpnet.jp/bm_detail.asp?sku=4797328304
- 331 名前:デフォルトの名無しさん mailto:sage [2006/07/11(火) 22:48:01 ]
- wxとtkは
- 332 名前:デフォルトの名無しさん mailto:sage [2006/07/12(水) 20:59:45 ]
- designerで作成した.uiファイルを元に、
ヘッダファイルを自動生成させると、 その中のクラスが(QObjectやQWidgetなど)何のクラスも継承してないのが不便。 また、そのクラスにメソッドやQ_OBJECTマクロや継承元を追加したりすると、 .uiファイルにコントロールを追加やプロパティ変更などして、ヘッダを再生成させた時、 クラス宣言に追加した部分がゴッソリ消えてしまうのが致命的。 追加するコード量を減らそうと、ヘッダ中のクラスを直接使うのではなく、 それを継承するクラスを作って、そちらにメソッドを追加してみるという方法もとってみたけど、 それでも継承元クラスに追加しないといけない場合とかあるし、 それだけの為に、継承によるオーバーヘッドを受けるというのもすっきりしない・・・ なんだかQt微妙に思えてきた・・・
- 333 名前:デフォルトの名無しさん mailto:sage [2006/07/12(水) 21:23:29 ]
- >>332
uiから生成したファイルの使い方を根本的に間違っているような気がします。
- 334 名前:デフォルトの名無しさん [2006/07/12(水) 21:31:46 ]
- >>332
doc.trolltech.com/4.1/designer-manual.html の Using Forms and Components に使い方が書いてある。
- 335 名前:デフォルトの名無しさん [2006/07/16(日) 20:50:44 ]
- 318 です。
SUSE 10.1のKDEではちゃんとOn The Spotになってることから、 Qt自体は改善されてるっぽい。 IMの問題みたい。
- 336 名前:デフォルトの名無しさん mailto:sage [2006/07/17(月) 19:14:50 ]
- Qtからテーブルにデータを挿入する際、BLOBの列にデータを挿入するにはどのようにすれば良いのでしょうか?
具体的には create table tbl (id smallint, img blob); というようなテーブルに対して QImage img("./test.jpg"); QVariant var = img; QSqlDatabase Db = QSqlDatabase::addDatabase("QSQLITE"); Db.setDatabaseName("./test.db"); QSqlQuery query; query.prepare("insert into tbl(id, img) values(:id, :img)"); query.bindValue(":id", 1); query.bindValue(":img", var); query.exec(); としても、img列にはデータが挿入されていないらしく、 select id from tbl where img is null; というSQL文を投げてやるとidが1のレコードを返してきます。 どなたか教えていただけませんでしょうか。
- 337 名前:デフォルトの名無しさん mailto:sage [2006/07/17(月) 21:55:30 ]
- DB板のSQLiteスレで聞け
- 338 名前:デフォルトの名無しさん mailto:sage [2006/07/18(火) 02:40:59 ]
- >>337
馬鹿だね君は。SQLiteは問題ない。QImageの中に画像のデータが入っていないからテーブルに書き出せないだけ。 問題の切り分けも出来ないのであれば質問には黙っているべきだ。 >>336 具体的には QImage img("./test.jpg"); QVariant var = img; を QFile img("./eclair.jpg"); img.open(QIODevice::ReadOnly); QByteArray arr = img.readAll(); と書き換え、 BLOB列に対するbindValueを query.bindValue(":img", arr, QSql::Binary); とする。 これでいけるはず。
- 339 名前:デフォルトの名無しさん mailto:sage [2006/07/20(木) 21:13:42 ]
- >>328
Javaをどうぞ
- 340 名前:デフォルトの名無しさん mailto:sage [2006/07/20(木) 22:47:37 ]
- >>339
それ何てC++?
- 341 名前:デフォルトの名無しさん mailto:sage [2006/07/21(金) 00:03:24 ]
- WindowsのAssistant重いね。
WindowsでAssistantを使うよりも、 その同じWindows環境でVirtual PCを使って動かしたLinuxでAssistantを 使う方がよっぽど快適なのはなんとかならんのか。
- 342 名前:デフォルトの名無しさん mailto:sage [2006/07/23(日) 02:45:52 ]
- 普通のブラウザ使えばいいやん
- 343 名前:デフォルトの名無しさん mailto:sage [2006/07/23(日) 02:55:52 ]
- MinGWのg++を3.4.5に更新したら
... declared as dllimport: attribute ignored というwarningが大量に出てしまいます。 対処法をご存じの方いらっしゃいますか?
- 344 名前:デフォルトの名無しさん mailto:sage [2006/07/23(日) 08:26:48 ]
- >>342
> 普通のブラウザ使えばいいやん 検索とか。 …って話じゃなくてさ。 Assistant風のプログラム作って同じソースでLinux版とWindows版のバイナリを作ったら Linux版は快適で、Windows版は重いってことになるんだよね。 それがなんとかならんかなあ、と思うわけ。
- 345 名前:343 mailto:sage [2006/07/24(月) 02:22:30 ]
- .proファイルに
CONFIG += warn_off と書けば出なくなった。…ただし、すべての警告が出なくなる orz...
- 346 名前:デフォルトの名無しさん mailto:sage [2006/07/26(水) 00:25:53 ]
- void DragTest::dropEvent(QDropEvent *event)
{ QList<QUrl> list = event->mimeData()->urls(); lineEdit->setText(list.at(0).toLocalFile()); } という具合に、ドラッグ&ドロップしたらウィジェット中のテキスト領域に、そのファイル のパスを表示させるプログラムを書いたのですが、Windows上ではパス上に2バイト文字が 含まれていても問題なく動くのですが、Macだと /Users/oresama/Desktop/%E3%81%A6%E3%81%99%E3%81%A8/test.jpg という風に、日本語の部分がエンコードされてしまいます。 最終的にはドラッグ&ドロップしたファイルを開くようにしたいのですが、このエンコード されたパスではファイルを開けません。 エンコードされたパスを元に戻すにはどのようにすれば良いのでしょうか? あるいはエンコード前のファイルパスを取り出す方法をご存知の方、教えていただけません でしょうか。
- 347 名前:デフォルトの名無しさん mailto:sage [2006/07/26(水) 00:54:25 ]
- %XXの16進数を直せば良いだけでは?
参考になるかわからないけど、RFC2396 decoder で検索したらでてきますよ。 www02.so-net.ne.jp/~hat/files/uridec.c
- 348 名前:346 mailto:sage [2006/07/26(水) 01:36:00 ]
- >>347
ありがとうございます。しかしQUrlにfromPercentEncodingというメンバ関数を見つけて しまいました……。 Mac上では void DragTest::dropEvent(QDropEvent *event) { QList<QUrl> list = event->mimeData()->urls(); QVariant var = list.at(0).toLocalFile(); lineEdit->setText(QUrl::fromPercentEncoding(var.toByteArray())); } でうまくいきましたので、明日会社のWin機で試してダメでしたら教えていただいた方法を 試してみます。
- 349 名前:デフォルトの名無しさん mailto:sage [2006/07/31(月) 13:55:15 ]
- Trolltech Releases Preview of Qt for Java
dot.kde.org/1154086784/
- 350 名前:デフォルトの名無しさん mailto:sage [2006/07/31(月) 14:25:48 ]
- だれか解説してくれ。Java言語からQtライブラリにアクセスする
ってこと? QtそのものがJavaで書かれるって事じゃないよね?
- 351 名前:デフォルトの名無しさん mailto:sage [2006/07/31(月) 16:48:17 ]
- >>350
JNIを使ってC++ライブラリをJavaから使うということみたい。 PDF版のWhitepaperの12ページ以降に解説あり。 似た様なのには qtjava があるけど、Qt Jambiは TrollTechからの公式なJava Bindingということになるな。
- 352 名前:デフォルトの名無しさん mailto:sage [2006/07/31(月) 18:45:54 ]
- つまりあれか?
Qtのライブラリって結構良くできてるけどC++めんどくさいな〜。 って思ってて、しかもLinuxとWindowsで動くアプリ作りたいけど 別にMacで動く必要はないし、Swingはちょっとな〜。っていう 俺には結構いい選択肢?
- 353 名前:デフォルトの名無しさん mailto:sage [2006/07/31(月) 23:14:37 ]
- SWTがあるから要りません(><)
- 354 名前:デフォルトの名無しさん mailto:sage [2006/07/31(月) 23:16:43 ]
- いくらなんでもSWT<Qtだけどね。
- 355 名前:デフォルトの名無しさん [2006/07/31(月) 23:45:30 ]
- >>352
一応Macでも動くみたいなんで、それでもいいならいいんじゃね?
- 356 名前:デフォルトの名無しさん mailto:sage [2006/08/01(火) 00:31:02 ]
- まあMacで動くのもデメリットではないな。
Qt/C++と比べると遅くなりそうだけど、Swingより速いならいいかも。 言語的には嫌いじゃないんだよなJavaって。
- 357 名前:デフォルトの名無しさん [2006/08/12(土) 21:28:54 ]
- doc.trolltech.com/4.1/threads.htmlによると
スレッドごとにメッセージループを持てるらしいんですが QThreadを継承したクラス(Aとします)を作り、 A* hoge = new A(); hoge->start(); A::run()内でexec()しA::event(QEvent*)でイベント処理ができることを確認しました。 ここで、A::event()のイベントハンドラ内でsleep(5)とすると、メインスレッドのGUIメッセージループも止まってしまいます。 Aのメッセージループとメインのメッセージループはお互いに独立していると思っていたんですが わたしは何か勘違いしているんでしょうか?
- 358 名前:デフォルトの名無しさん [2006/08/14(月) 07:26:39 ]
- Qt2,3の翻訳サイト落ちちゃったんですかね
ダウンロードしておけばよかった・・
- 359 名前:デフォルトの名無しさん mailto:sage [2006/08/14(月) 11:47:11 ]
- >>357
sleep()だと、プロセス全体が反応しなくなるようですね。 (メッセージループというよりも、sleep()のせいだと思います。)
- 360 名前:デフォルトの名無しさん mailto:sage [2006/08/15(火) 03:40:52 ]
- Kdeが出しているQt3のWindows版なんですけど何度コンパイルしてもQtAssistantのドキュメントが読み込めないんですけどバグなんでしょうか
- 361 名前:デフォルトの名無しさん [2006/08/17(木) 06:49:40 ]
- やっぱフリーのQtは駄目だわ
使えるコンポーネントが少なすぎる
- 362 名前:デフォルトの名無しさん mailto:sage [2006/08/17(木) 08:08:33 ]
- >>361
ん? たとえば、どんなのが必要?
- 363 名前:デフォルトの名無しさん mailto:sage [2006/08/17(木) 20:42:31 ]
- さっさとJavaに移行しろって
- 364 名前:デフォルトの名無しさん mailto:sage [2006/08/17(木) 23:02:48 ]
- QWidgetがあればたいていのGUIは作れるね。
- 365 名前:デフォルトの名無しさん [2006/08/18(金) 19:33:22 ]
- あるウィジェットのインスタンス名を知りたいのですが、
ウィジェットのコンストラクタ内でQObject::objectName() を呼び出しても名前が設定されていません。コンストラクタが完了 した後であれば、メンバ関数からQObject::objectName()を 呼ぶとインスタンス名が得られます。どうしたらいいでしょうか?
- 366 名前:デフォルトの名無しさん [2006/08/23(水) 20:02:04 ]
- Qt4を使っています。データベースをCreateしたいのですが、
SQLで「Create database XXX」とやっても、Openしていないと叱られます。 Openするにはデータベースファイルが存在していなければならないため、 Openできません。 データベースをCreateするにはどうしたらよいのでしょうか? InterBase(Firebird)を使っています
- 367 名前:デフォルトの名無しさん mailto:sage [2006/08/25(金) 19:00:57 ]
- そんなマイナーなDBMS使ってるからいかんのだよ。
オラクルかSQLServerにしなさい。フリーでよいならMySQLでもよし。
- 368 名前:デフォルトの名無しさん [2006/08/26(土) 01:15:03 ]
- オラクルかSQLServerにしたら。QtからCreateできるの?
- 369 名前:デフォルトの名無しさん mailto:sage [2006/08/26(土) 01:18:29 ]
- できない。
ちゅうか、最初にコマンドラインか管理ツールかなんかで create database しといて、 接続すれば無問題なんでないのか? これ以上はQt依存の話じゃないのでスレ違い。
- 370 名前:デフォルトの名無しさん [2006/08/26(土) 14:45:55 ]
- 「コマンドラインって何?」「管理ツールって何?」っていうじっちゃんばっちゃんに
説明するのが面倒だから、プログラムにCreateを組み込むのは当たり前。 そんなこともできないのか。お前
- 371 名前:デフォルトの名無しさん [2006/08/26(土) 14:50:41 ]
- 正直、wxWidgetとどっちが優れてるのかな?
- 372 名前:デフォルトの名無しさん mailto:sage [2006/08/27(日) 00:22:02 ]
- >>370
出来ないのはDBMSの仕様であって、このスレで相手してくれている人たちではないとおもわれ。 あと、プログラムに組み込むのが当たり前といっているが、管理ツール以外で「当たり前」に出 来るものなんてあるのかね? つーか、やりたいことが見えない。じっちゃんばっちゃんでも簡単に使えるDBMSのフロントエ ンドを作るつもりなら、いっそFileMakerとか買ってやれば良いじゃない。 ……まぁ文句ばかり書き連ねても仕方ないので教えてやるが、SQLiteならばQtからDBを作成出 来る。
- 373 名前:デフォルトの名無しさん mailto:sage [2006/08/28(月) 20:21:08 ]
- FirebirdにCREATE DATABASEが出来ない仕様なんてないけど?
- 374 名前:デフォルトの名無しさん mailto:sage [2006/08/29(火) 08:55:16 ]
- >>373
そういう意味じゃないとおもうよ。
- 375 名前:デフォルトの名無しさん [2006/08/29(火) 14:44:22 ]
- QtJambiってどうなんかなあ
なんか興味がある
- 376 名前:デフォルトの名無しさん mailto:sage [2006/08/29(火) 15:11:43 ]
- 試してみればいいじゃなーい
www.trolltech.com/jambitechpre-download
- 377 名前:デフォルトの名無しさん mailto:sage [2006/09/02(土) 08:02:37 ]
- Trolltech Releases Second Preview of Qt for Java
dot.kde.org/1157099916/
- 378 名前:デフォルトの名無しさん mailto:sage [2006/09/05(火) 09:12:45 ]
- Qtって一体どこで使われてるんだろう。
ビジネスとして成り立ってるのかすごく疑問だ。
- 379 名前:デフォルトの名無しさん mailto:sage [2006/09/05(火) 23:13:29 ]
- >>378
たとえばGoogle Erath。 あれはGPLじゃないから、ライセンス料払っているとおもわれ。
- 380 名前:デフォルトの名無しさん [2006/09/06(水) 23:07:17 ]
- >Erath
>Erath >Erath >Erath >Erath >Erath >Erath >Erath >Erath >Erath >Erath >Erath >Erath >Erath >Erath
- 381 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 06:55:27 ]
- グーグル 偉ス
- 382 名前:デフォルトの名無しさん [2006/09/07(木) 16:57:51 ]
- >>380
もしかして: Earth
- 383 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 21:31:03 ]
- googleって普通の検索でもイメージ検索が一部含まれるようになってたんだね。
>>382を見てふとRayearthで検索したら画像が出てきてびびった。
- 384 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 01:21:49 ]
- あー職場でRayearthを検索しなくて良かった
- 385 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 10:49:44 ]
- WindowsのQt2用のIME制御クラス作ったんだけど、需要ありますか?
WindowsXPとMS-IMEの組み合わせだと、Qt2のエディットボックスで 変換中の文字列が表示されないので、これを使えば表示できるようになります。
- 386 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 18:50:33 ]
- もうQt4使ってるからなぁ…
- 387 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 22:00:36 ]
- 需要はあると思うよ。アップしたらお礼メールくらいは来ると思う。
俺が今必要かというと必要じゃないけど、将来は欲しいと思うかも。
- 388 名前:デフォルトの名無しさん [2006/09/09(土) 11:17:36 ]
- 高精度のタイマーを使いたいのですが、
QTimerは精度が10ms程度ぐらいしかなく困っています。 ナノ秒単位でシグナルを飛ばしてくれるタイマーってQtにはないのでしょうか?
- 389 名前:デフォルトの名無しさん mailto:sage [2006/09/09(土) 11:59:15 ]
- >>388
個人的には、そういうシビアなtimerをOS非依存な画面ツールキットの Qtに期待するほうが間違っていると思うけど。。。
- 390 名前:デフォルトの名無しさん mailto:sage [2006/09/09(土) 12:27:02 ]
- >>388
そもそも ns 単位での制御となるとRTOSの範囲と思われ。
- 391 名前:デフォルトの名無しさん [2006/09/09(土) 14:21:49 ]
- 分かりました。タイマーはあきらめます。
もうひとつ質問なんですが、 Ctrl + Enterのショートカットを作りたいのですが、うまく動いてくれません。 QShortcutのコンストラクタに、 Qt::Key_Ctrl + Qt::Key_Enter と tr("Ctrl+Enter") を試したのですがだめでした。 tr("Ctrl+O")だとうまく動きましたので、SIGNALとSLOTはちゃんとつながってます。 Ctrl + Enterで動かすにはどう指定したらよいのでしょうか?
- 392 名前:391 mailto:sage [2006/09/09(土) 14:32:12 ]
- すみません、自己解決です。
QKeySequence(Qt::CTRL+Qt::Key_Return) でできました。
- 393 名前:デフォルトの名無しさん mailto:sage [2006/09/10(日) 22:36:25 ]
- Qt用のIDE、QIde ( ttp://qide.free.fr/ ) がよさげなので、需要がないかもしれませんがとりあえず日本語リソースを作ってみました。
ttp://nnsh.hp.infoseek.co.jp/QIDE.htm ...自分も翻訳ファイルを作っただけで、これから使ってみる段階ですが。
- 394 名前:デフォルトの名無しさん mailto:age [2006/09/11(月) 01:46:25 ]
- ヘッダのincludeの書き方って、
#include <qapplication.h> みたいな感じのと #include <QApplication> みたいなのと、どっちが正しいんでしょうか?
- 395 名前:デフォルトの名無しさん mailto:sage [2006/09/11(月) 01:47:52 ]
- >>393
おーこれは凄い さっそく使わせてもらいます
- 396 名前:デフォルトの名無しさん mailto:sage [2006/09/11(月) 01:50:34 ]
- >>394
Qt4から後者、それ以前は前者
- 397 名前:デフォルトの名無しさん mailto:sage [2006/09/11(月) 02:06:08 ]
- 何でだろう
ファイルを作るとアプリがエラーで終了しちゃう
- 398 名前:デフォルトの名無しさん mailto:sage [2006/09/11(月) 06:22:36 ]
- 設定を変更したら直りました
楽でいいですね 補完も出来るし^^
- 399 名前:デフォルトの名無しさん mailto:sage [2006/09/11(月) 18:58:00 ]
- Qt3にはこういう便利ツールは無いのか
- 400 名前:デフォルトの名無しさん mailto:sage [2006/09/11(月) 22:06:43 ]
- サクラエディタで十分だと思うけど
- 401 名前:デフォルトの名無しさん mailto:age [2006/09/12(火) 11:39:01 ]
- KDevelopとかVisualStudioとかEclipseとか、
いい開発環境はいっぱいあるのに、なんでわざわざ素人が作った ショボいIDEを使うのかわからん。
- 402 名前:デフォルトの名無しさん mailto:sage [2006/09/12(火) 12:18:42 ]
- わからんならわからんでいいじゃないか
- 403 名前:デフォルトの名無しさん mailto:sage [2006/09/13(水) 07:01:05 ]
- >>401
Eclipseは重いし。 VSはGPL版Qt4にパッチ当てるの嫌だし。 KDevelopってQt4でも使えて補完もしてくれる?
- 404 名前:デフォルトの名無しさん mailto:sage [2006/09/14(木) 22:13:39 ]
- >>403
Kdevelop4はまことに素晴らしいものになるそうな。
- 405 名前:デフォルトの名無しさん mailto:sage [2006/09/16(土) 22:12:11 ]
- KDevelop4の情報ポインタきぼん。
- 406 名前:デフォルトの名無しさん mailto:sage [2006/09/19(火) 21:21:14 ]
- >>405
dot.kde.org/1157907792/ の複数のコメント読んだだけなんで 詳しい事はわかんないっすけど
- 407 名前:デフォルトの名無しさん [2006/09/24(日) 02:07:41 ]
- Qt4のテーマを「CDE」「Motif」「Plastique」「Windows」以外にできるのでしょうか。
例えばKDEのテーマを使えないのでしょうか。
- 408 名前:デフォルトの名無しさん mailto:sage [2006/09/25(月) 15:30:49 ]
- KDEのテーマはKDEのライブラリ入れなきゃ、Qt単体じゃ無理だよ。
KDEはQtで作られてると言われてるが、実際にはQtを拡張したKDEライブラリがあって、 それを使って作られている。
- 409 名前:デフォルトの名無しさん mailto:sage [2006/09/26(火) 07:44:32 ]
- 教えて下さい。
#include <QtCore> #include <QtGui> int main(int argc, char **argv) { QApplication app(argc, argv); QMovie *mov = new QMovie("./test.mng"); QLabel label; label.setMovie(mov); label.show(); mov->start(); return app.exec(); } 上記のソース、Winだとtest.mngがアニメーションとして表示されるのですが、Macだと表示されません。 Q_IMPORT_PLUGIN(qmng)をつけて.proファイルにQTPLUGIN += qmngを追加すると今度は /usr/local/Trolltech/Qt-4.1.4/plugins/imageformatsにはlibqmngがあり、それをリンクしようとしているにも関わらず、 qt_plugin_instance_qmng() というシンボルが見当たらない、というエラーが出ます。 どのようにすればMacでもWinと同じようにmngを表示出来るようになるのでしょうか、 どなたかご存知でしたらお願いします。
- 410 名前:デフォルトの名無しさん mailto:sage [2006/09/27(水) 18:57:08 ]
- はてなダイアリーをだらだらと読んでいたらなんか見つけたので書いておきますね。
www.beesoft.org/cobras.html
- 411 名前:デフォルトの名無しさん [2006/09/28(木) 09:12:21 ]
- >> 409
label がとても小さく表示されていたので、resize() したら表示されました。
- 412 名前:デフォルトの名無しさん mailto:sage [2006/09/28(木) 21:48:29 ]
- >>410
そのページ、なぜか我が家のMacからだと見えません……。 明日、会社からアクセスしてみます。 >>411 ほんとだ……。表示出来ないのではなくて、ウィンドウが小さくて見えなかっただけなのですね。 全く気が付きませんでした。ありがとうございました。
- 413 名前:デフォルトの名無しさん [2006/09/29(金) 21:40:46 ]
- Qt3をMinGW+MSYSで使いたいのですが、どのようにインストールしたらよいのでしょうか?
(Qt以外に必要なライブラリが、Qt4にまだ対応していないのです。) ご存知の方、教えていただけないでしょうか。 いろいろなページを見たのですが、どうにもうまくいきません。
- 414 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 23:25:43 ]
- Qt4にも3互換のやつが入ってるぜ。4でやってみたら?
- 415 名前:デフォルトの名無しさん [2006/10/04(水) 17:50:45 ]
- Qt4.1.4をstaticでコンパイルしてライブラリはできたのですが、
チュートリアルの1をコンパイルしようとすると、以下のクラスのメンバ関数が 未定義というエラーが出ます。 QBasicTimer QTimer QMimeData QAbstractItemModel QSignalMapper なぜこれらのクラスだけリンクされないのか原因が分かりません。 なお、.objディレクトリにoファイルはできています。 このoファイルを直接チュートリアルのプログラムにリンクしてやると、 うまくコンパイルとリンクができて、実行ファイルができます。 環境は、PlamoLinux3.3、gccは3.1.2です。
- 416 名前:415 [2006/10/04(水) 18:02:22 ]
- なお、ar xvでlibQtCore.aとlibQtGui.aを分解してみると、
上記のクラスの.oファイル(QTimer.oなど)が出てきますので、 クラス自体のリンクはなされてるようです。
- 417 名前:415 [2006/10/04(水) 18:34:16 ]
- nm libQtCore.a | grep stop
とやると、 00000044 T stop__11QBasicTimer 00000128 T stop__6QTimer U stop__6QTimer が出てきます。 しかしリンクしようとすると、これらはundefined referenceになってしまいます。
- 418 名前:415 mailto:sage [2006/10/04(水) 18:55:43 ]
- 自己解決です。
-lQtCore -lQtGuiと書いていたのがまずかったです。 -lQtGui -lQtCoreでできました。 「依存されるライブラリは後に書く」 ということですね。
- 419 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 19:13:30 ]
- 4.2リリース!
- 420 名前:デフォルトの名無しさん [2006/10/05(木) 09:52:19 ]
- Qtのコンフィグでfreetypeの項目がありますが、
これをnoにするとTrueTypeのフォントが使えなくなるのでしょうか?
- 421 名前:デフォルトの名無しさん [2006/10/06(金) 11:18:09 ]
- Qt4.1.4を使っているのですが、
X11にインストールされているすべてのフォントがQFontDialogやQFontDatabaseでリストされません。 調べてみたところ、TrueTypeのもののみリストされ、pcf形式のフォントが出ないようです。 Qt3のアプリケーションだと、すべてのフォントが出てきます。 どなたか原因の分かる方いましたら、教えてください。
- 422 名前:421 mailto:sage [2006/10/06(金) 14:43:41 ]
- どうやらQtではなく、fontconfigの問題っぽいです。
fontconfigのfc-listでリストしてみても、pcfのフォントが出ません。 ちなみにQtのconfigureのオプションでfontconfigをnoにしたら 「浮動小数点例外です」で、QApplicationのコンストラクタがこけます。
- 423 名前:QuickTime? [2006/10/15(日) 02:01:06 ]
- 良スレに出会ってしまいました.2chには初カキコです.
Qt 4.2をMac OSxでコンパイル中ですが,makeが6時間しても止まりません. これって普通でしょうか? (4.2用のスレが既に立ってたりして,板違いならご指摘ください.)
- 424 名前:QuickTime? [2006/10/15(日) 02:25:55 ]
- すみません.やっと終わりました.
ただいまmake install中です. なんちゅうこっちゃ.
- 425 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 04:21:25 ]
- コンパイルは結構時間がかかる。IntelMac miniで2〜3時間くらい。
PowerBook 12inchだと眠る前にmakeして朝起きたら終わっている、くらい。
- 426 名前:QuickTime? [2006/10/15(日) 09:07:22 ]
- たしかにそれ
> くらい でした.
- 427 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 15:10:20 ]
- macもたぶん同じだと思うけど、
linuxの場合-release をやればデバッグ用のオブジェクトはコンパイルされなくなるから、 コンパイル時間が約半分になるよ。 あとexamplesとdemosのディレクトリは消してもいい。これで大幅に時間が短縮できる。 基本的にlibディレクトリのlibQtCore.so(又は.a)とlibQtGui.so/aができてれば 途中でストップさせてもインストールできる。 ちなみに俺の環境はPentiumIIIの800だけど、これだけなら40分で終わった
- 428 名前:QuickTime? [2006/10/17(火) 07:36:37 ]
- なるほどなるほど.
しかしexamplesとdemosの充実は凄いので, 初心者の人は使った方がよいと思われます. ちなみに私はiBookです.
- 429 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 15:59:14 ]
- しかし、Mac版でqmakeするとMakefileにソースツリー内のライブラリと
フレームワークディレクトリへのパスが追加されるのはやめてもらいたい。 まぁ、フレームワーク内にある.prlファイルを編集すれば良い話なんだが。 誰も疑問に思わないのか?
- 430 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 21:58:25 ]
- どうして?
- 431 名前:QuickTime? [2006/10/17(火) 23:46:15 ]
- ダウンロードしたフォルダごと,ソースファイルを消したらコンパイラが文句を言ってきました.
> フレームワーク内にある.prlファイルを編集すれば良い話なんだが。 該当パスが入っている行を消せば良いのでしょうか? それとも本当に必要なファイルだったのでしょうか?
|

|