1 名前:デフォルトの名無しさん [2007/11/04(日) 15:41:46 ] 【次スレ案】 QtはTrollTechが作成したC++ベースのGUI toolkitで、 OS間の差異を意識せず開発できるように作られたライブラリ群です GUIだけではなく、ネットワーク、マルチスレッド、グラフィック(OpenGL)や 各種コンテナ、XMLパーサーなど豊富なライブラリを持ちます Win, Linux, Mac版があり、11月04日現在でQt4.3.2 有料版・無料版(Open Source Edition)とあり、無料版はGPL ■Trolltech trolltech.com/ ■ダウンロード trolltech.com/developer/downloads ■Qt ダウンロード trolltech.com/developer/downloads/qt/index ■Qt 4.3 リファレンスドキュメント (オープンソース版) doc.trolltech.com/4.3/ ■解説本・サイトなど trolltech.com/developer/books.html ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=978-4-87311-344-9 www.sra.co.jp/qt/relation/index.html ■前スレ [KDE/Qt]Qtについての疑問を教えあうスレ 2 pc11.2ch.net/test/read.cgi/tech/1130300775/
552 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 16:34:22 ] qDebug() << QString::fromLocal8Bit("日本語"); // 文字列はeucjp 端末上ではどう?
553 名前:545 mailto:sage [2008/10/03(金) 16:57:29 ] 回答ありがとうございます。 >>551 うーん・・・どうも上手くいきません。 >>552 やってみました。 端末上では、正常に日本語が表示されました。
554 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 17:25:01 ] 端末でOKならQtのフォントが正しく設定されてないんじゃない?
555 名前:545 mailto:sage [2008/10/03(金) 17:45:00 ] >>554 Qtのフォント設定というと、qtconfigで設定するのでしょうか? この辺りは何も触っていないままで・・・。 Qt ConfigurationのFontsタブを見たところ、 Family:Helvetica Style:Normal となっていました。 この設定を変更するのでしょうか。
556 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 19:11:55 ] >>555 ソースをUTF-8で書いてQString::fromUtf8()を使うとどうなりますか?
557 名前:545 mailto:sage [2008/10/06(月) 09:24:56 ] >>556 だいぶ間が開いてしまいました。 UTF-8を使用しても同じような現象になってしまいます。
558 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 10:02:13 ] まず他のQtアプリで日本語が正常に扱えるか試してみては
559 名前:545 mailto:sage [2008/10/06(月) 10:13:17 ] >>558 なるほど…。 早速試してみました。 QtDesignerを起動してみたところ、 ダイアログ名の「アクションエディタ」「オブジェクトインスペクタ」などの日本語は 正常に表示されていました…が、 QtDesignerのメニューが(F)、(E)、(O)、(T)、(W)、(H)とだけ出ていて、 "ファイル"、"編集"などの文字が表示されていませんでした。 メニューツリーの下も、日本語の表示が出ていません。
560 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 10:50:54 ] 標準エラー出力に何か出てない?
561 名前:545 mailto:sage [2008/10/06(月) 10:57:13 ] エラーは何も出ていませんでした。 何か環境設定が足りない、間違っているとか、 そういうことでしょうかね…これは。
562 名前:545 mailto:sage [2008/10/06(月) 18:37:03 ] 解決しました! 結局、>>554 で指摘していただいた、フォントの問題でした。 デフォルトで日本語が無いフォントになっていたようで・・・ フォントを他のものに変更したら、日本語が表示されました。 回答頂いた方々、ご親切にありがとうございました。
563 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 09:07:44 ] Visual studio 2008 express edition でQt4.4.3のコンパイルをしていたのですが、 condigureとすると、途中で、ファイル又はディレクトリがありません(make) と2回表示されて止まってしまうのですが、 これはmakeの場所が分からないってことですか? 生ソース版でvisual C++で使うつもりでも mingw入れてパス通さないといけないのでしょうか?
564 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 09:50:17 ] 入れる必要ないよ、VSのコンパイラへのパスを通してやればOK、 VS2005の時のインストール方法が下記にあるから、 ttp://www.02.246.ne.jp/~torutk/cxx/qt/QtOnWindowsAndVisualStudio.html これと、qtフォルダのREADMEファイルを見ながら2008用の設定へ 変更すればいけると思う、変更といってもwin32-msvc2005を win32-msvc2008に変えるだけでいけると思うけども。
565 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 10:38:27 ] visual studio のコマンドプロンプトを使うとうまくいきました。 ありがとうございます。
566 名前:デフォルトの名無しさん [2008/10/12(日) 23:44:51 ] QtデザイナのBuddyエディタってなにができるんですか?
567 名前:デフォルトの名無しさん [2008/10/12(日) 23:48:19 ] フォーカスコントロールに対しての、シグナル&スロットを勝手に実装してくれて、 ラベルのショートカットと、オブジェクトへのフォーカスを結びつけてくれるっていうことでいいですかね
568 名前:デフォルトの名無しさん [2008/10/13(月) 09:29:57 ] uicの使い方がわかりません。 マニュアル qt.linux-life.net/4/doc/ja/uic.html を読んでみたんですが、それだとヘッダファイルしか生成されない模様です。 www.kde.gr.jp/pukiwiki/index.php?Qt%A5%C7%A5%B6%A5%A4%A5%CA%A1%BC%A4%CE%BB%C8%A4%A4%CA%FD のように、cppファイルも生成されるかどうか、わかりますか。 バージョンが新しくなって仕様が変わったんでしょうか
569 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 10:13:53 ] >>568 > バージョンが新しくなって仕様が変わったんでしょうか まさにそうです、そのサイトのはQt3の時の作成方法、 Qt4からは GUIのプロパティだけを保持する ui_(uiファイル名).h が作成されるので、 foo.h と foo.cpp を自分で作り、 class Foo : public QDialog { Q_OBJECT public: Foo(QWidget *parent = 0); private: Ui::uiファイルのクラス名 ui; // ※↑は作成された ui_(uiファイル名).h 内を見て下さい }; ってなクラスを作って、コンストラクタで Foo::Foo(QWidget *parent) : QDialog(parent) { ui.setupUi(this); } ってやればOK、 空のQDialog継承クラスへ、GUIプロパティ保持した ui から値を吸い出すようなイメージ。
570 名前:デフォルトの名無しさん [2008/10/13(月) 10:14:51 ] >568 説明足りないので付け足しますと、生成されるヘッダに関数内部が直書きされてしまうのですが、勝手にソースファイルに分けてくれないのでしょうか
571 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 10:45:51 ] uicだと出来ないみたい、 分けるとしたら手動でやるくらいかな。
572 名前:デフォルトの名無しさん [2008/10/13(月) 11:07:03 ] >569 >571 親切な、回答ありがとうございました。 QTデザイナとuicなど、かなりいいところまで自動化できてると思うのですが、 もう少し自動化してほしいですね。 >569のクラス作成と、初期化などがデフォルトで行われないのは、どのクラスで作るかをユーザーで決めたほうが良いから、ということでしょうか。
573 名前:デフォルトの名無しさん [2008/10/13(月) 11:10:25 ] QTデザイナで、格上げしたクラスを使ったとき、新規クラスのヘッダファイルを自動的に作ってくれるととても便利なんですけどね。 あと、自前のオブジェクトもデザイナ上で扱いたいですね。
574 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 16:59:59 ] >>572 >>186-188 どうやら、Qt Designerの機能をシンプルにした結果みたいですね。
575 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 01:47:48 ] Qtのもっといい解説サイトって無いんでしょうか?
576 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 03:19:26 ] 公式こそ至高
577 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 03:58:13 ] どうせ、もっといい=日本語 だろうけど、せいぜい本ぐらい。当然質は落ちる。
578 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 12:07:41 ] Qt Designer の使いかたの tutorial が英語でもあまり良いの 見つからなくて俺も苦労した覚えある。 ガシガシ書くなら公式サイトは良いけど、Qt Designer フルに使って コードをちょっと書くみたいな tutorial 無かった記憶ある。 本は Molkentin, Blanchette/Summerfield 目通してなんとなく判ってきたけど。
579 名前:デフォルトの名無しさん [2008/10/16(木) 22:34:36 ] どなたかQPixmapの使い方を教えてください。 画像のデータ配列をuchar *で与えて、QPixmapにしたいと思い、 bool QPixmap::loadFromData ( const uchar * data, uint len, const char * format = 0, Qt::ImageConversionFlags flags = Qt::AutoColor ) を使おうと思っています。 formatパラメータが意味不明なので、とりあえず無視していれてみると、falseがかえってきた、ロードされません。 これは、画像ヘッダも含んだデータを渡せっていうことですか? 使い方を知っている方がいましたら教えてください。
580 名前:デフォルトの名無しさん [2008/10/16(木) 22:39:25 ] >>579 のものです そもそも画像の表示を高速におこない要望があります。 QImageよりQPixmapのほうが表示用のクラスっぽいので、QPixmapを試みています。 QPainterクラスの、drawImageよりもdrawPixmapのほうが速いってことになりますがそんなことってあるのでしょうか
581 名前:デフォルトの名無しさん [2008/10/17(金) 08:57:23 ] >>574 ありがとうございます。 昔は、mainファイルも作ってくれていたんですね。 格上げクラスのヘッダファイルを自動生成してほしい・・・。
582 名前:デフォルトの名無しさん mailto:sage [2008/10/17(金) 21:40:07 ] どの程度役に立つかはわからんが、eclipse の Qt plugin があるよ。 結構いろいろファイル作ってくれる。俺の環境ではちゃんと動かないものもあったが。
583 名前:デフォルトの名無しさん [2008/10/17(金) 22:34:45 ] >>582 ご親切に、情報ありがとうございます。試してみます!! c/c++の開発環境としては、VS/VCよりeclipseの方が親切ですよね。
584 名前:デフォルトの名無しさん [2008/10/19(日) 11:57:11 ] >>580 リファレンスマニュアルから引用すると、、、 QPixmapは描画に適するように、QImageはピクセル操作に適するようにデザインされている。
585 名前:デフォルトの名無しさん [2008/10/19(日) 12:00:01 ] >>57 e >あと、自前のオブジェクトもデザイナ上で扱いたいですね。 Designer Plugin にすれば自前のウィジェットもデザイナで使えるよ。
586 名前:デフォルトの名無しさん [2008/10/19(日) 12:04:45 ] >>579 loadFromDataはメモリー上に読込んだ画像ファイルをヘッダーを含めて頭から渡します。 formatは画像の種類で、指定しなければヘッダーから推測されるよ。
587 名前:デフォルトの名無しさん [2008/10/19(日) 13:55:34 ] >>584 >>585 >>586 ありがとうございます。 >>584 >>586 QImageやQPixmapは対応しているファイルが不十分なので、他のライブラリでロードしたデータを描画用にセットしたいのです。 そこで、QPixmapクラスのloadFromDataや、fromImageを検討していました。 用途から言うと、loadFromDataはやっぱりダメだっていうことですね。 fromImageは使い方検討中です。 1. 他のライブラリで画像データを取得 2. QImageに付け替え 3. QPixmapに付け替え てな感じになるんですかね。 QImageとQPixmapについては、その後よく調べてみたら、QPixmapの方がQImageより速いというわけではなく、オーバーレイやスケーリングして表示するなどのメソッドがはじめから用意されているので便利だよ、という意味みたいですね。 スケーリングはともかく、描画はどちらにしろQPainterクラスで書くことになるのでほとんど、変わらない気が・・・。 なので、ほとんどの場合は、QPixmapでなくQImageで十分な印象を受けました。 >>585 Designer Plugin!ありがとうございます。 もうちょっと調べてみます。 わからなかったら質問するかもしれませんが、ご容赦ください。 Qt Designerのはくコードは、非常に汚く、無駄が多いですが、やっぱり楽ですもんね。
588 名前:デフォルトの名無しさん [2008/10/19(日) 14:03:21 ] >>585 Designers Pluginとは、Eclipseのプラグインのことでしょうか?
589 名前:デフォルトの名無しさん [2008/10/19(日) 21:50:09 ] >>587 > QImageやQPixmapは対応しているファイルが不十分なので 他のライブラリで読んだデータを QImage にピクセル単位で埋込めばいいです。 > QPixmapでなくQImageで十分な印象を受けました QPixmap と QImage のデータがどこにあるかを考えると、普通は QImageで ピクセル処理をして、できあがったら QPixmap にして描画に使うようにします。
590 名前:デフォルトの名無しさん [2008/10/19(日) 21:53:11 ] >>588 自前のオブジェクトというのは自前のウィジェットということならば、 それを Designer で他のウィジェットと同じように使えるようにする Plugin のことです。
591 名前:デフォルトの名無しさん mailto:sage [2008/10/23(木) 10:50:17 ] こんなニュースが ttp://journal.mycom.co.jp/articles/2008/10/23/qt/index.html 開発陣、創業者は全員残るみたいだけど、今後どうなるんだろ。
592 名前:デフォルトの名無しさん mailto:sage [2008/10/23(木) 10:52:33 ] ってえらい過去の事だ、忘れてください。
593 名前:デフォルトの名無しさん [2008/10/26(日) 11:34:14 ] >>587 Windowsでならたいして違いはないけど、Xの場合は QImageだと圧倒的にQPixmapより描画速度が遅いよ。 クロスプラットホームを考えるなら、やっぱりQPixmap 使ったほうがいいと思う。 ただ、QPixmap だとスレッド内で描画できないって 制限があるけど。
594 名前:デフォルトの名無しさん [2008/10/26(日) 13:48:27 ] >>589 ,593 ありがとうございます。 QPixmapの方がはやいのですね。データ構造が違うのだろうか、うーむ。 QImageからQPixmapへの変換がようやくできました。 QImage img;(データロード済み) QPixmap pixmap; があったときに、pixmap.fromImage(img)としていてうまくいってなかったのですが、 pixmap = QPixmap::fromImage(img)としたらできました。 後者の用法がよくわからないのですが、どなたか教えていただけますか。
595 名前:デフォルトの名無しさん [2008/10/26(日) 13:51:30 ] あと、キーボードフォーカスがよくわからないのでどなたか教えてください。 QMainWindow内に配置された,QWidgetでkeyPressEventをしたいのです。 setFocusPolicy( Qt::StrongFocus ); raise(); activateWindow(); などを試してみましたが、キーボードフォーカスになりません。 ですが、別のマウスイベントが起こったフォーカスがうつるようで、キーボード入力が受け付けられます。 どうしたらよいのでしょうか。
596 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 14:02:20 ] >>594 QString s = QString::fromUtf8("あいうえお");と同じ これも意味分からないならC++の知識が不足している >>595 フォーカスはウィジェットごとに持っているんで ウィジェットにフォーカス渡さなきゃだめでしょ QWidget *w;としてw->focus();
597 名前:デフォルトの名無しさん [2008/10/26(日) 14:10:57 ] >>596 ありがとうございます >QString s = QString::fromUtf8("あいうえお");と同じ >これも意味分からないならC++の知識が不足している すいません。まったくわかりません^^; どういう単語で勉強すればいいでしょうか。 名前空間ですか? >ウィジェットにフォーカス渡さなきゃだめでしょ >QWidget *w;としてw->focus(); ありがとうございます。やってみます!
598 名前:デフォルトの名無しさん [2008/10/26(日) 14:15:41 ] >>596 setFocus()メソッドも試したつもりでしたが、改めてやってみたらできました。 ありがとうございます。
599 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 14:29:40 ] >>597 staticメンバ
600 名前:デフォルトの名無しさん [2008/10/26(日) 15:14:05 ] >>599 ありがとうございます。 勉強しました。オブジェクトでなくて、クラスに属する関数や変数が作れるんですね。 呼び出しの仕方も知りませんでした。 マニュアルにfromImageメソッドは、staticと書いてませんでしたが、ソースを見たらstatic宣言になっていました。 問題は全て解決しました!!みなさま、ありがとうございました。
601 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 16:58:33 ] >>600 お、飲み込み早いじゃん。なかなか筋が良いね。
602 名前:デフォルトの名無しさん [2008/11/01(土) 20:19:08 ] Qt、クロスプラットフォームIDE「Qt Creator」技術プレビュー版をリリース sourceforge.jp/magazine/08/10/31/0332249
603 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 11:25:26 ] Qt4.5とQt Createrってどこで手に入るの?
604 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 11:58:36 ] >>603 ttp://trolltech.com/developer/qt-creator 正式リリースではないので注意。
605 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 13:30:34 ] MinGW版しかないのね。 ところで ボタンのプログラム作ってるんですが、 ボタンの字の表示を漢字にすると文字化けします。 対処法はありますか? 「quit」だと問題なし。「終了」だと文字化けします。
606 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 14:02:11 ] #include<QApplication> #include<QFont> #include<QPushButton> int main(int argc,char **argv) { QApplication app(argc,argv); QPushButton button("終了"); button.resize(100,100); button.setFont(QFont("MS Gothic",18)); QObject::connect(&button,SIGNAL(clicked()),&app,SLOT(quit())); button.show(); return app.exec(); } ソースはこれです。
607 名前:デフォルトの名無しさん [2008/11/02(日) 14:03:59 ] >>605 QTextCodec::setCodecForTr(QTextCodec::codecForLocale()); "終了" --> QObject::tr("終了") 俺はこれで行けたが。
608 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 21:44:06 ] newしていつか別の部分でdeleteする時のために、ポインタをかき集める奴を QList<QObject *> qList; として作って、ひたすらappendしていく形を 思いついたのですが、あんまり頭が良くない気がします。 何か他に良い案はないんでしょうか?
609 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 21:49:04 ] >>608 それをスタック走査と組み合わせれば保守的GCの出来上がりだぉ^^
610 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 19:31:27 ] QProcessに void QProcess::setStandardInputFile ( const QString & fileName ) がありますが、ファイルではなくQByteArrayクラスをリダイレクトとして読み込みたいのですが できるんでしょうか?
611 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 20:07:12 ] Qt来てますね
612 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 02:49:29 ] creator(Win)使ってみた インストールでmingwとQt4.4.3インストールの選択が可 インストールされるQtはデバッグ版も既にコンパイル済み ソフトの使用感は、軽いしインテリセンスもある ファイルツリーはソースとヘッダーは分けて表示して欲しいところ その他、細々と設定したいけど、 設定面ではあまり自由度が高いとは言えないか あと、画面1024x786じゃちと狭いかな デバッグもGUIででき・・・るの? ブレイクポイント設定してもお構いなしに実行されるけど アルファ版だからかな
613 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 02:16:54 ] >>602 >>604 こんなもん出てたのか
614 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 23:11:48 ] >610 QProcessのインスタンスに作った後でwriteすればいい と思うが、なにか不満でもあるわけ? doc.trolltech.com/4.4/qprocess.html#setStandardOutputProcess >You can then write to the process's standard input by calling write(), >and read the standard output by calling read(), readLine(), and >getChar(). Because it inherits QIODevice,(略)
615 名前:610 mailto:sage [2008/11/06(木) 01:19:02 ] >>614 ありがとうございます。 早速試してみます。
616 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 16:44:30 ] QtRubyでQtのプログラミングをやってみたいと思ってるんですが、 Windows用の無料版Qtのバイナリパッケージはありますか? それともソースからインストールするしかないのでしょうか。
617 名前:デフォルトの名無しさん [2008/11/06(木) 23:52:29 ] >>616 gem ならあった。 rubyforge.org/projects/korundum/
618 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 07:58:14 ] >>617 レスありがとうございます。書き方が悪かったようですみません。自分が 探していたのはQt本体のほうなんです。 一応本家からmingw付き(?)のオープンソース版はダウンロードしてあるん ですが、これをビルド、インストールすればRubyからも使えると思って大丈 夫でしょうか?
619 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 21:03:18 ] Qtをマスターしたいのだけど、 チュートリアルを一通り見るのがいいですか?
620 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 22:12:00 ] >>619 簡単な部分は良いけど、個人的にはあまり役に立つチュートリアルは見つから なかった。レファレンス的なには多くていいんだけど。 Qt designer をできるだけ使って、コードを最低限書く方向のチュートリアル が欲しかったんだけど。本読んでだいぶ感じわかった気はする。 あと、Eclipse, Qdevelop との組み合わせ方のチュートリアルもあまり 無かった気がする。今はあるのかな…
621 名前:デフォルトの名無しさん [2008/11/08(土) 00:11:54 ] 確かにチュートリアルはほとんど役に立たないね。 本もQt4になって大分変わったのに4対応のって、まだほとんどないし。 でも、サンプルが解説付きでたくさんあったので、それが一番 役に立ったかな。
622 名前:デフォルトの名無しさん [2008/11/08(土) 01:43:39 ] >>618 gem のパッケージをインストールしたら、Qt本体のライブラリも インストールされるよ。 ただ、試しにサンプル動かしたら、なぜかEmacsのシェルやrubyw.exe からだと動かなかったけど。 コマンドプロンプトからなら動いたよ。
623 名前:デフォルトの名無しさん [2008/11/08(土) 03:48:32 ] >>619 役に立たないとはいうけれども、入門には大変わかりやすくていいよ! 一通りチュートリアルやれば、サンプルプログラムを参考にしながら作りたいものは作れる。
624 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 07:57:23 ] >>622 ありがとうございます。やってみます。
625 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 10:00:01 ] Qtのチュートリアルは親切で良いと思うよ。チュートリアルを一通りやって、Applicationとかの例題を見たりしていけばいいと思うが
626 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 19:15:53 ] なるほど チュートリアル読んでサンプルプログラム を参考に自分でちょっとずつ書いていく。 という言わば王道ですね。
627 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 22:03:49 ] WindowsでQtを使う場合、コンパイラはVCかgccかどちらがよいでしょうか?理由 メリットデメリットもお願いします。
628 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 01:12:42 ] VC 理由:VCだから メリット:シャンプー デメリット:有料 gcc 理由:gccだから メリット:無料 デメリット:ソフトin1を使いましょう
629 名前:デフォルトの名無しさん [2008/11/10(月) 21:11:17 ] Platmome SDKとVSのExpress Edition 使えば、VCでも無料でできるよ。 デバッグをEqlipseでやろうと思ったら、gcc使わないとできないので、 デバッグをEqlipseでやるか、VSでやるかじゃない。 コンパイル性能はWindowsのgcc持ってないから、わかんないや。 でも、公開する気なら両方でコンパイル通しておく必要があるんじゃない。
630 名前:デフォルトの名無しさん [2008/11/10(月) 21:31:35 ] QMainWindow -QWidget(centralwidget) -QHBoxLayout -QImage -QImage という構成で配置しているのですが、画像の原点がウィンドウに合わず、余白ができてしまいます。 QImageのsetGeometryで、端に位置を合わせているつもりなのですが、何が悪いのでしょうか?
631 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 21:32:43 ] ↑インデントついてませんでした QMainWindow -QWidget(centralwidget) -QHBoxLayout -QImage -QImage という構成で配置しているのですが、画像の原点がウィンドウに合わず、余白ができてしまいます。 QImageのsetGeometryで、端に位置を合わせているつもりなのですが、何が悪いのでしょうか
632 名前:デフォルトの名無しさん mailto:sage [2008/11/11(火) 00:23:30 ] レイアウトのマージンは0になっている?
633 名前:デフォルトの名無しさん [2008/11/11(火) 22:24:45 ] >>632 ありがとうございます。 QHBoxLayoutの親クラスの、QLayoutにsetMarginというメソッドがあり、それを設定したら解決しました! Qtのマニュアルは調べていたのですが、それにはのっていませんでした>< なにかあるのでは、と思って探していたのですが、ご助言いただいて大変助かりました! (レイアウトのマージンは設定する関数がないので勝手にゼロになるのかと思ってました) 意外と間違いや、情報の欠落があるのですね。
634 名前:デフォルトの名無しさん mailto:sage [2008/11/12(水) 15:45:37 ] >>633 いまQt4.4.3のマニュアル見てみたら、QLayout::setMargin()はobsoleteって なってますけど…
635 名前:デフォルトの名無しさん [2008/11/12(水) 16:18:12 ] >>634 もしよかったら、ご覧になっているマニュアルのアドレスを教えてもらってよろしいでしょうか 私は、 qt.linux-life.net/4/doc/ja/index.html をいつも参考にしているのですが。 obsoleteの意味するところは、setContentMarginを使うように、ってことでしょうか。
636 名前:デフォルトの名無しさん mailto:sage [2008/11/12(水) 18:51:48 ] >>635 インストールしたQt for Open Source(Windows版)の、Qt Assistantで 読めるマニュアルです。 インストールしただけでろくに使っていないので、よくは分かりませんが、 たしかにsetContentsMargins()を使え、と書いてあるようです。
637 名前:デフォルトの名無しさん mailto:sage [2008/11/12(水) 20:48:34 ] >>636 ありがとうございます。 setMarginがどこにも見当たらない・・・。 setContentsMarginsを使います〜。
638 名前:デフォルトの名無しさん mailto:sage [2008/11/12(水) 21:02:04 ] >> 637 setMargin()はQt AssistantのContentsタブから Qt Reference Documentation > Classes > QLayout Class Reference > Obsolete members とたどるか、IndexタブでsetMarginを検索すれば出てきます。
639 名前:デフォルトの名無しさん [2008/11/13(木) 00:32:09 ] VMwareのUbuntuでQtEmbbededを使ってますが、 qvfbに表示させるとカーソルがピョンピョン 飛びます。 これって常識ですか?
640 名前:デフォルトの名無しさん [2008/11/13(木) 00:59:42 ] 常識ではないと思うよ。初めて聞いた。 カーソルが飛ぶってことはCPUパワーが足りてないってこと なのかな。
641 名前:デフォルトの名無しさん [2008/11/13(木) 01:44:26 ] >640氏 レスありがとうございます。 私の説明が悪かったようで恐らく違った症状をイメージされていると 思うのですが、カーソルが飛ぶというのはOSのカーソルをqvfb内に持っていくと qvfb内のカーソルがqvfbの上真ん中、左真ん中、OSのカーソル位置、と3ヶ所に 0.1秒くらいでピョンピョン飛びます。 で、さらになぜかMousePressも発生しているようで、それぞれの位置でキーが押されます。。 やっぱconfigureっすか? ./configure -embedded x86 -qt-gfx-qvfb -qt-kbd-qvfb -qt-mouse-qvfb でやってるんですが・・・。
642 名前:のっちー mailto:sage [2008/11/13(木) 09:10:25 ] >>638 ありました!! obosolete membersリンクを見逃してました・・・。 廃止だからひっそりしてるんでしょうけど。 結局、マニュアルは正しい、という結論ですね。
643 名前:デフォルトの名無しさん [2008/11/14(金) 01:20:05 ] >>641 そういう現象だったんですね。 でも、現象はわかったけど、原因はさっぱりわかんないや。 すみません。組み込みはあまり詳しくないです。
644 名前:のっちー [2008/11/14(金) 14:21:02 ] ウィンドウのリサイズについて 微妙に合わないのですが・・・。 QMainWindow -QImage(central widget) の構成で、QImageのサイズをwidthxheightに変更したことを考えます。QMainWindowには、メニューバー、ステータスバーもついています。 今のプログラムでは、central widgetのクラスから、リサイズのシグナル(引数 w,h)を受け取って、 QMainWindowのリサイズを行うことにしています。 シグナルを受け取った時に、QMainWindowで、 resize( QSize( w, h+menuBar()->height()+statusBar()->height()) ); を呼び出す仕様にしていますが、どうも1ピクセルか2ピクセルずれています。
645 名前:デフォルトの名無しさん [2008/11/15(土) 22:33:32 ] 枠とかの分でちょっとずれてしまうんじゃない。 ずれの量は環境とかスタイルで変わってくるから、 その方法だと難しいと思うよ。 レイアウトをはさんで、QImageのリサイズに自動であわさせるか、 QImageの変化分だけQMainWindowも変化させる ようにした方がいいね。
646 名前:デフォルトの名無しさん [2008/11/21(金) 00:58:43 ] 4.3.xの無料版ってもう手に入りませんか?
647 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 01:36:18 ] ftp には全部あるが
648 名前:646 [2008/11/21(金) 12:21:37 ] そうか!ありがとー
649 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 23:00:52 ] ubuntu8.1へのqt4.4.3のインストールがうまくいかん。 ./configure makeとすると途中でエラーが出る。 ./configure -xshapeとしないといけないのかな
650 名前:649 mailto:sage [2008/11/22(土) 23:07:58 ] 今度はうまくいったみたい。 けどsudo su -c "make install"とすると moc.proがないといわれる moc.proってなんのプロジェクトファイル???
651 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 02:22:48 ] モック
652 名前:デフォルトの名無しさん [2008/11/23(日) 10:13:00 ] メタオブジェクトコンパイラ(Meta Object Compiler, moc)