[KDE/Qt]Qtについての ..
554:デフォルトの名無しさん
08/10/03 17:25:01
端末でOKならQtのフォントが正しく設定されてないんじゃない?
555:545
08/10/03 17:45:00
>>554
Qtのフォント設定というと、qtconfigで設定するのでしょうか?
この辺りは何も触っていないままで・・・。
Qt ConfigurationのFontsタブを見たところ、
Family:Helvetica
Style:Normal
となっていました。
この設定を変更するのでしょうか。
556:デフォルトの名無しさん
08/10/03 19:11:55
>>555
ソースをUTF-8で書いてQString::fromUtf8()を使うとどうなりますか?
557:545
08/10/06 09:24:56
>>556
だいぶ間が開いてしまいました。
UTF-8を使用しても同じような現象になってしまいます。
558:デフォルトの名無しさん
08/10/06 10:02:13
まず他のQtアプリで日本語が正常に扱えるか試してみては
559:545
08/10/06 10:13:17
>>558
なるほど…。
早速試してみました。
QtDesignerを起動してみたところ、
ダイアログ名の「アクションエディタ」「オブジェクトインスペクタ」などの日本語は
正常に表示されていました…が、
QtDesignerのメニューが(F)、(E)、(O)、(T)、(W)、(H)とだけ出ていて、
"ファイル"、"編集"などの文字が表示されていませんでした。
メニューツリーの下も、日本語の表示が出ていません。
560:デフォルトの名無しさん
08/10/06 10:50:54
標準エラー出力に何か出てない?
561:545
08/10/06 10:57:13
エラーは何も出ていませんでした。
何か環境設定が足りない、間違っているとか、
そういうことでしょうかね…これは。
562:545
08/10/06 18:37:03
解決しました!
結局、>>554で指摘していただいた、フォントの問題でした。
デフォルトで日本語が無いフォントになっていたようで・・・
フォントを他のものに変更したら、日本語が表示されました。
回答頂いた方々、ご親切にありがとうございました。
563:デフォルトの名無しさん
08/10/12 09:07:44
Visual studio 2008 express edition でQt4.4.3のコンパイルをしていたのですが、
condigureとすると、途中で、ファイル又はディレクトリがありません(make)
と2回表示されて止まってしまうのですが、
これはmakeの場所が分からないってことですか?
生ソース版でvisual C++で使うつもりでも
mingw入れてパス通さないといけないのでしょうか?
564:デフォルトの名無しさん
08/10/12 09:50:17
入れる必要ないよ、VSのコンパイラへのパスを通してやればOK、
VS2005の時のインストール方法が下記にあるから、
URLリンク(www.02.246.ne.jp)
これと、qtフォルダのREADMEファイルを見ながら2008用の設定へ
変更すればいけると思う、変更といってもwin32-msvc2005を
win32-msvc2008に変えるだけでいけると思うけども。
565:デフォルトの名無しさん
08/10/12 10:38:27
visual studio のコマンドプロンプトを使うとうまくいきました。
ありがとうございます。
566:デフォルトの名無しさん
08/10/12 23:44:51
QtデザイナのBuddyエディタってなにができるんですか?
567:デフォルトの名無しさん
08/10/12 23:48:19
フォーカスコントロールに対しての、シグナル&スロットを勝手に実装してくれて、
ラベルのショートカットと、オブジェクトへのフォーカスを結びつけてくれるっていうことでいいですかね
568:デフォルトの名無しさん
08/10/13 09:29:57
uicの使い方がわかりません。
マニュアル
URLリンク(qt.linux-life.net)
を読んでみたんですが、それだとヘッダファイルしか生成されない模様です。
URLリンク(www.kde.gr.jp)
のように、cppファイルも生成されるかどうか、わかりますか。
バージョンが新しくなって仕様が変わったんでしょうか
569:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/10/13 10:14:51
>568
説明足りないので付け足しますと、生成されるヘッダに関数内部が直書きされてしまうのですが、勝手にソースファイルに分けてくれないのでしょうか
571:デフォルトの名無しさん
08/10/13 10:45:51
uicだと出来ないみたい、
分けるとしたら手動でやるくらいかな。
572:デフォルトの名無しさん
08/10/13 11:07:03
>569
>571
親切な、回答ありがとうございました。
QTデザイナとuicなど、かなりいいところまで自動化できてると思うのですが、
もう少し自動化してほしいですね。
>569のクラス作成と、初期化などがデフォルトで行われないのは、どのクラスで作るかをユーザーで決めたほうが良いから、ということでしょうか。
573:デフォルトの名無しさん
08/10/13 11:10:25
QTデザイナで、格上げしたクラスを使ったとき、新規クラスのヘッダファイルを自動的に作ってくれるととても便利なんですけどね。
あと、自前のオブジェクトもデザイナ上で扱いたいですね。
574:デフォルトの名無しさん
08/10/13 16:59:59
>>572
>>186-188
どうやら、Qt Designerの機能をシンプルにした結果みたいですね。
575:デフォルトの名無しさん
08/10/14 01:47:48
Qtのもっといい解説サイトって無いんでしょうか?
576:デフォルトの名無しさん
08/10/14 03:19:26
公式こそ至高
577:デフォルトの名無しさん
08/10/14 03:58:13
どうせ、もっといい=日本語
だろうけど、せいぜい本ぐらい。当然質は落ちる。
578:デフォルトの名無しさん
08/10/15 12:07:41
Qt Designer の使いかたの tutorial が英語でもあまり良いの
見つからなくて俺も苦労した覚えある。
ガシガシ書くなら公式サイトは良いけど、Qt Designer フルに使って
コードをちょっと書くみたいな tutorial 無かった記憶ある。
本は Molkentin, Blanchette/Summerfield 目通してなんとなく判ってきたけど。
579:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/10/16 22:39:25
>>579のものです
そもそも画像の表示を高速におこない要望があります。
QImageよりQPixmapのほうが表示用のクラスっぽいので、QPixmapを試みています。
QPainterクラスの、drawImageよりもdrawPixmapのほうが速いってことになりますがそんなことってあるのでしょうか
581:デフォルトの名無しさん
08/10/17 08:57:23
>>574
ありがとうございます。
昔は、mainファイルも作ってくれていたんですね。
格上げクラスのヘッダファイルを自動生成してほしい・・・。
582:デフォルトの名無しさん
08/10/17 21:40:07
どの程度役に立つかはわからんが、eclipse の Qt plugin があるよ。
結構いろいろファイル作ってくれる。俺の環境ではちゃんと動かないものもあったが。
583:デフォルトの名無しさん
08/10/17 22:34:45
>>582
ご親切に、情報ありがとうございます。試してみます!!
c/c++の開発環境としては、VS/VCよりeclipseの方が親切ですよね。
584:デフォルトの名無しさん
08/10/19 11:57:11
>>580
リファレンスマニュアルから引用すると、、、
QPixmapは描画に適するように、QImageはピクセル操作に適するようにデザインされている。
585:デフォルトの名無しさん
08/10/19 12:00:01
>>57e
>あと、自前のオブジェクトもデザイナ上で扱いたいですね。
Designer Plugin にすれば自前のウィジェットもデザイナで使えるよ。
586:デフォルトの名無しさん
08/10/19 12:04:45
>>579
loadFromDataはメモリー上に読込んだ画像ファイルをヘッダーを含めて頭から渡します。
formatは画像の種類で、指定しなければヘッダーから推測されるよ。
587:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/10/19 14:03:21
>>585
Designers Pluginとは、Eclipseのプラグインのことでしょうか?
589:デフォルトの名無しさん
08/10/19 21:50:09
>>587
> QImageやQPixmapは対応しているファイルが不十分なので
他のライブラリで読んだデータを QImage にピクセル単位で埋込めばいいです。
> QPixmapでなくQImageで十分な印象を受けました
QPixmap と QImage のデータがどこにあるかを考えると、普通は QImageで
ピクセル処理をして、できあがったら QPixmap にして描画に使うようにします。
590:デフォルトの名無しさん
08/10/19 21:53:11
>>588
自前のオブジェクトというのは自前のウィジェットということならば、
それを Designer で他のウィジェットと同じように使えるようにする
Plugin のことです。
591:デフォルトの名無しさん
08/10/23 10:50:17
こんなニュースが
URLリンク(journal.mycom.co.jp)
開発陣、創業者は全員残るみたいだけど、今後どうなるんだろ。
592:デフォルトの名無しさん
08/10/23 10:52:33
ってえらい過去の事だ、忘れてください。
593:デフォルトの名無しさん
08/10/26 11:34:14
>>587
Windowsでならたいして違いはないけど、Xの場合は
QImageだと圧倒的にQPixmapより描画速度が遅いよ。
クロスプラットホームを考えるなら、やっぱりQPixmap
使ったほうがいいと思う。
ただ、QPixmap だとスレッド内で描画できないって
制限があるけど。
594:デフォルトの名無しさん
08/10/26 13:48:27
>>589,593
ありがとうございます。
QPixmapの方がはやいのですね。データ構造が違うのだろうか、うーむ。
QImageからQPixmapへの変換がようやくできました。
QImage img;(データロード済み)
QPixmap pixmap;
があったときに、pixmap.fromImage(img)としていてうまくいってなかったのですが、
pixmap = QPixmap::fromImage(img)としたらできました。
後者の用法がよくわからないのですが、どなたか教えていただけますか。
595:デフォルトの名無しさん
08/10/26 13:51:30
あと、キーボードフォーカスがよくわからないのでどなたか教えてください。
QMainWindow内に配置された,QWidgetでkeyPressEventをしたいのです。
setFocusPolicy( Qt::StrongFocus );
raise();
activateWindow();
などを試してみましたが、キーボードフォーカスになりません。
ですが、別のマウスイベントが起こったフォーカスがうつるようで、キーボード入力が受け付けられます。
どうしたらよいのでしょうか。
596:デフォルトの名無しさん
08/10/26 14:02:20
>>594
QString s = QString::fromUtf8("あいうえお");と同じ
これも意味分からないならC++の知識が不足している
>>595
フォーカスはウィジェットごとに持っているんで
ウィジェットにフォーカス渡さなきゃだめでしょ
QWidget *w;としてw->focus();
597:デフォルトの名無しさん
08/10/26 14:10:57
>>596
ありがとうございます
>QString s = QString::fromUtf8("あいうえお");と同じ
>これも意味分からないならC++の知識が不足している
すいません。まったくわかりません^^;
どういう単語で勉強すればいいでしょうか。
名前空間ですか?
>ウィジェットにフォーカス渡さなきゃだめでしょ
>QWidget *w;としてw->focus();
ありがとうございます。やってみます!
598:デフォルトの名無しさん
08/10/26 14:15:41
>>596
setFocus()メソッドも試したつもりでしたが、改めてやってみたらできました。
ありがとうございます。
599:デフォルトの名無しさん
08/10/26 14:29:40
>>597
staticメンバ
600:デフォルトの名無しさん
08/10/26 15:14:05
>>599
ありがとうございます。
勉強しました。オブジェクトでなくて、クラスに属する関数や変数が作れるんですね。
呼び出しの仕方も知りませんでした。
マニュアルにfromImageメソッドは、staticと書いてませんでしたが、ソースを見たらstatic宣言になっていました。
問題は全て解決しました!!みなさま、ありがとうございました。
601:デフォルトの名無しさん
08/10/26 16:58:33
>>600
お、飲み込み早いじゃん。なかなか筋が良いね。
602:デフォルトの名無しさん
08/11/01 20:19:08
Qt、クロスプラットフォームIDE「Qt Creator」技術プレビュー版をリリース
URLリンク(sourceforge.jp)
603:デフォルトの名無しさん
08/11/02 11:25:26
Qt4.5とQt Createrってどこで手に入るの?
604:デフォルトの名無しさん
08/11/02 11:58:36
>>603
URLリンク(trolltech.com)
正式リリースではないので注意。
605:デフォルトの名無しさん
08/11/02 13:30:34
MinGW版しかないのね。
ところで
ボタンのプログラム作ってるんですが、
ボタンの字の表示を漢字にすると文字化けします。
対処法はありますか?
「quit」だと問題なし。「終了」だと文字化けします。
606:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/11/02 14:03:59
>>605
QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
"終了" --> QObject::tr("終了")
俺はこれで行けたが。
608:デフォルトの名無しさん
08/11/02 21:44:06
newしていつか別の部分でdeleteする時のために、ポインタをかき集める奴を
QList<QObject *> qList; として作って、ひたすらappendしていく形を
思いついたのですが、あんまり頭が良くない気がします。
何か他に良い案はないんでしょうか?
609:デフォルトの名無しさん
08/11/02 21:49:04
>>608
それをスタック走査と組み合わせれば保守的GCの出来上がりだぉ^^
610:デフォルトの名無しさん
08/11/03 19:31:27
QProcessに
void QProcess::setStandardInputFile ( const QString & fileName )
がありますが、ファイルではなくQByteArrayクラスをリダイレクトとして読み込みたいのですが
できるんでしょうか?
611:デフォルトの名無しさん
08/11/03 20:07:12
Qt来てますね
612:デフォルトの名無しさん
08/11/04 02:49:29
creator(Win)使ってみた
インストールでmingwとQt4.4.3インストールの選択が可
インストールされるQtはデバッグ版も既にコンパイル済み
ソフトの使用感は、軽いしインテリセンスもある
ファイルツリーはソースとヘッダーは分けて表示して欲しいところ
その他、細々と設定したいけど、
設定面ではあまり自由度が高いとは言えないか
あと、画面1024x786じゃちと狭いかな
デバッグもGUIででき・・・るの?
ブレイクポイント設定してもお構いなしに実行されるけど
アルファ版だからかな
613:デフォルトの名無しさん
08/11/05 02:16:54
>>602>>604
こんなもん出てたのか
614:デフォルトの名無しさん
08/11/05 23:11:48
>610
QProcessのインスタンスに作った後でwriteすればいい
と思うが、なにか不満でもあるわけ?
URLリンク(doc.trolltech.com)
>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
08/11/06 01:19:02
>>614
ありがとうございます。
早速試してみます。
616:デフォルトの名無しさん
08/11/06 16:44:30
QtRubyでQtのプログラミングをやってみたいと思ってるんですが、
Windows用の無料版Qtのバイナリパッケージはありますか?
それともソースからインストールするしかないのでしょうか。
617:デフォルトの名無しさん
08/11/06 23:52:29
>>616
gem ならあった。
URLリンク(rubyforge.org)
618:デフォルトの名無しさん
08/11/07 07:58:14
>>617
レスありがとうございます。書き方が悪かったようですみません。自分が
探していたのはQt本体のほうなんです。
一応本家からmingw付き(?)のオープンソース版はダウンロードしてあるん
ですが、これをビルド、インストールすればRubyからも使えると思って大丈
夫でしょうか?
619:デフォルトの名無しさん
08/11/07 21:03:18
Qtをマスターしたいのだけど、
チュートリアルを一通り見るのがいいですか?
620:デフォルトの名無しさん
08/11/07 22:12:00
>>619
簡単な部分は良いけど、個人的にはあまり役に立つチュートリアルは見つから
なかった。レファレンス的なには多くていいんだけど。
Qt designer をできるだけ使って、コードを最低限書く方向のチュートリアル
が欲しかったんだけど。本読んでだいぶ感じわかった気はする。
あと、Eclipse, Qdevelop との組み合わせ方のチュートリアルもあまり
無かった気がする。今はあるのかな…
621:デフォルトの名無しさん
08/11/08 00:11:54
確かにチュートリアルはほとんど役に立たないね。
本もQt4になって大分変わったのに4対応のって、まだほとんどないし。
でも、サンプルが解説付きでたくさんあったので、それが一番
役に立ったかな。
622:デフォルトの名無しさん
08/11/08 01:43:39
>>618
gem のパッケージをインストールしたら、Qt本体のライブラリも
インストールされるよ。
ただ、試しにサンプル動かしたら、なぜかEmacsのシェルやrubyw.exe
からだと動かなかったけど。
コマンドプロンプトからなら動いたよ。
623:デフォルトの名無しさん
08/11/08 03:48:32
>>619
役に立たないとはいうけれども、入門には大変わかりやすくていいよ!
一通りチュートリアルやれば、サンプルプログラムを参考にしながら作りたいものは作れる。
624:デフォルトの名無しさん
08/11/08 07:57:23
>>622
ありがとうございます。やってみます。
625:デフォルトの名無しさん
08/11/08 10:00:01
Qtのチュートリアルは親切で良いと思うよ。チュートリアルを一通りやって、Applicationとかの例題を見たりしていけばいいと思うが
626:デフォルトの名無しさん
08/11/08 19:15:53
なるほど
チュートリアル読んでサンプルプログラム
を参考に自分でちょっとずつ書いていく。
という言わば王道ですね。
627:デフォルトの名無しさん
08/11/08 22:03:49
WindowsでQtを使う場合、コンパイラはVCかgccかどちらがよいでしょうか?理由
メリットデメリットもお願いします。
628:デフォルトの名無しさん
08/11/09 01:12:42
VC
理由:VCだから
メリット:シャンプー
デメリット:有料
gcc
理由:gccだから
メリット:無料
デメリット:ソフトin1を使いましょう
629:デフォルトの名無しさん
08/11/10 21:11:17
Platmome SDKとVSのExpress Edition 使えば、VCでも無料でできるよ。
デバッグをEqlipseでやろうと思ったら、gcc使わないとできないので、
デバッグをEqlipseでやるか、VSでやるかじゃない。
コンパイル性能はWindowsのgcc持ってないから、わかんないや。
でも、公開する気なら両方でコンパイル通しておく必要があるんじゃない。
630:デフォルトの名無しさん
08/11/10 21:31:35
QMainWindow
-QWidget(centralwidget)
-QHBoxLayout
-QImage
-QImage
という構成で配置しているのですが、画像の原点がウィンドウに合わず、余白ができてしまいます。
QImageのsetGeometryで、端に位置を合わせているつもりなのですが、何が悪いのでしょうか?
631:デフォルトの名無しさん
08/11/10 21:32:43
↑インデントついてませんでした
QMainWindow
-QWidget(centralwidget)
-QHBoxLayout
-QImage
-QImage
という構成で配置しているのですが、画像の原点がウィンドウに合わず、余白ができてしまいます。
QImageのsetGeometryで、端に位置を合わせているつもりなのですが、何が悪いのでしょうか
632:デフォルトの名無しさん
08/11/11 00:23:30
レイアウトのマージンは0になっている?
633:デフォルトの名無しさん
08/11/11 22:24:45
>>632
ありがとうございます。
QHBoxLayoutの親クラスの、QLayoutにsetMarginというメソッドがあり、それを設定したら解決しました!
Qtのマニュアルは調べていたのですが、それにはのっていませんでした><
なにかあるのでは、と思って探していたのですが、ご助言いただいて大変助かりました!
(レイアウトのマージンは設定する関数がないので勝手にゼロになるのかと思ってました)
意外と間違いや、情報の欠落があるのですね。
634:デフォルトの名無しさん
08/11/12 15:45:37
>>633
いまQt4.4.3のマニュアル見てみたら、QLayout::setMargin()はobsoleteって
なってますけど…
635:デフォルトの名無しさん
08/11/12 16:18:12
>>634
もしよかったら、ご覧になっているマニュアルのアドレスを教えてもらってよろしいでしょうか
私は、
URLリンク(qt.linux-life.net)
をいつも参考にしているのですが。
obsoleteの意味するところは、setContentMarginを使うように、ってことでしょうか。
636:デフォルトの名無しさん
08/11/12 18:51:48
>>635
インストールしたQt for Open Source(Windows版)の、Qt Assistantで
読めるマニュアルです。
インストールしただけでろくに使っていないので、よくは分かりませんが、
たしかにsetContentsMargins()を使え、と書いてあるようです。
637:デフォルトの名無しさん
08/11/12 20:48:34
>>636
ありがとうございます。
setMarginがどこにも見当たらない・・・。
setContentsMarginsを使います〜。
638:デフォルトの名無しさん
08/11/12 21:02:04
>> 637
setMargin()はQt AssistantのContentsタブから
Qt Reference Documentation > Classes > QLayout Class Reference > Obsolete members
とたどるか、IndexタブでsetMarginを検索すれば出てきます。
639:デフォルトの名無しさん
08/11/13 00:32:09
VMwareのUbuntuでQtEmbbededを使ってますが、
qvfbに表示させるとカーソルがピョンピョン
飛びます。
これって常識ですか?
640:デフォルトの名無しさん
08/11/13 00:59:42
常識ではないと思うよ。初めて聞いた。
カーソルが飛ぶってことはCPUパワーが足りてないってこと
なのかな。
641:デフォルトの名無しさん
08/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:のっちー
08/11/13 09:10:25
>>638
ありました!!
obosolete membersリンクを見逃してました・・・。
廃止だからひっそりしてるんでしょうけど。
結局、マニュアルは正しい、という結論ですね。
643:デフォルトの名無しさん
08/11/14 01:20:05
>>641
そういう現象だったんですね。
でも、現象はわかったけど、原因はさっぱりわかんないや。
すみません。組み込みはあまり詳しくないです。
644:のっちー
08/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:デフォルトの名無しさん
08/11/15 22:33:32
枠とかの分でちょっとずれてしまうんじゃない。
ずれの量は環境とかスタイルで変わってくるから、
その方法だと難しいと思うよ。
レイアウトをはさんで、QImageのリサイズに自動であわさせるか、
QImageの変化分だけQMainWindowも変化させる
ようにした方がいいね。
646:デフォルトの名無しさん
08/11/21 00:58:43
4.3.xの無料版ってもう手に入りませんか?
647:デフォルトの名無しさん
08/11/21 01:36:18
ftp には全部あるが
648:646
08/11/21 12:21:37
そうか!ありがとー
649:デフォルトの名無しさん
08/11/22 23:00:52
ubuntu8.1へのqt4.4.3のインストールがうまくいかん。
./configure
makeとすると途中でエラーが出る。
./configure -xshapeとしないといけないのかな
650:649
08/11/22 23:07:58
今度はうまくいったみたい。
けどsudo su -c "make install"とすると
moc.proがないといわれる
moc.proってなんのプロジェクトファイル???
651:デフォルトの名無しさん
08/11/23 02:22:48
モック
652:デフォルトの名無しさん
08/11/23 10:13:00
メタオブジェクトコンパイラ(Meta Object Compiler, moc)
653:649
08/11/23 11:59:09
makeすると、
make[1]: *** [.obj/release-shared/qapplication.o] エラー 1
make[1]: ディレクトリ `/tmp/qt-x11-opensource-src-4.4.3/src/gui' から出ます
make: *** [sub-gui-make_default-ordered] エラー 2
とでます。
何が原因でしょうか???
654:デフォルトの名無しさん
08/11/23 12:48:46
>>653
それじゃわからんだろ
gccのエコーバックとエラー内容晒せや
655:649
08/11/23 13:44:57
In file included from ../../include/QtGui/private/qt_x11_p.h:1,
from kernel/qapplication.cpp:70:
../../include/QtGui/private/../../../src/gui/kernel/qt_x11_p.h:65:22: error: X11/Xlib.h: No such file or directory
../../include/QtGui/private/../../../src/gui/kernel/qt_x11_p.h:70:23: error: X11/Xutil.h: No such file or directory
../../include/QtGui/private/../../../src/gui/kernel/qt_x11_p.h:71:21: error: X11/Xos.h: No such file or directory
../../include/QtGui/private/../../../src/gui/kernel/qt_x11_p.h:78:23: error: X11/Xatom.h: No such file or directory
In file included from ../../include/QtGui/private/qt_x11_p.h:1,
from kernel/qapplication.cpp:70:
../../include/QtGui/private/../../../src/gui/kernel/qt_x11_p.h:280: error: ‘Colormap’ does not name a type
../../include/QtGui/private/../../../src/gui/kernel/qt_x11_p.h:281: error: ISO C++ forbids declaration of ‘Visual’ with no type
../../include/QtGui/private/../../../src/gui/kernel/qt_x11_p.h:669: error: ‘XChar2b’ was not declared in this scope
../../include/QtGui/private/../../../src/gui/kernel/qt_x11_p.h:669: error: template argument 1 is invalid
656:649
08/11/23 13:45:39
こんなのが続きます
657:デフォルトの名無しさん
08/11/23 14:07:23
>>656
エコーバックは?
658:デフォルトの名無しさん
08/11/23 14:07:42
X11/Xlib.hとかが見つからないって言ってるんだから、
configureのときに-IでX11のあるディレクトリを
インクルードパスに追加すれば。
659:デフォルトの名無しさん
08/11/23 20:22:35
そもそもX関係のヘッダを入れてるのか疑問だな
660:649
08/11/23 21:21:43
findで探したのですがX関係のヘッダファイルが全然ありませんでした。
当方,Ubuntu8.10ですがX関係のヘッダってどうやっていれるのでしょうか?
661:sage
08/11/30 21:13:15
QCoreApplication::applicationDirPath() がどこかの実行パスを返すのを
ソースをいじらずに親ディレクトリまたは絶対パスに変更する設定方法はありませんか。
たとえば実行ファイルが /usr/local/bin/myapp のとき /usr/local/bin
と返されるはずのところを、親ディレクトリ /usr/local だとか、 決めうちで
/usr/local/share/apps を返すようにする方法です。
662:661
08/11/30 22:13:02
sage忘れました。ごめんなさい。
自己解決ですが、ソース(x11/4.5.0-tp1)見たら無理ぽいです。
Windows は GetModuleFileName(W|A)() 、MacOS は qAppFileName()
から取得、Linux は proc/${pid}/exe を見にいっているほかは、
argv0=`basename $0`
for path in `echo ${PATH}|tr : \ `; do
if [ -f ${path}/${argv0} ]; then echo ${path}/${argv0}; exit
fi; done
みたいな方法になっていて追加工の余地はありませんでした。残念
663:デフォルトの名無しさん
08/12/01 23:39:01
え、BinaryHackの話題?
664:デフォルトの名無しさん
08/12/03 08:43:45
っていうか、何のためにそんなことをしたいのか、興味津津。
665:661
08/12/03 19:07:21
>>664
Antico なる新たなウィンドウマネージャがありまして、
URLリンク(qt-apps.org)
テーマリソース(画像ファイルなど)のディレクトリが
実行パスの下に掘られる設計だったのです。
プロジェクトのディレクトリをそのままインストールする様式ならば
何も不都合はないのでしょうが、私はその仕様が嫌だったからです。
# これ以上はスレちがいになりそうな気がするのでやめます。
訂正 echo ${path}/${argv0} --> echo ${path}
666:デフォルトの名無しさん
08/12/06 14:58:36
1) QTextStream cout(stdout);
2) QTextStream cout = stdout;
この2つにはどういう違いがあるのですか?
(1)だとコンパイル通るのですが、(2)だと通りません。
667:デフォルトの名無しさん
08/12/07 14:23:42
>>666
QTextStreamのコンストラクタがexplicit指定されてて
1引数のコンストラクタが(2)みたいに暗黙的に呼び出せないようにしてあるから
668:デフォルトの名無しさん
08/12/09 14:51:38
なあみんな聞いてくれ。
愛用しているp2pソフトの日本語訳があまりにひどいので
毎回 .ts ファイルを書き直して使用しているんだ。
例えば、起動エラーで現れるメッセージは
"なし - アンリーチ可能ですか?"
なんだが、原文は
"None - unreachable?"
だから "何もない - 断線してないか?"
のはずなんだ。
それから一部だが否定文が肯定文になって意味が逆転している訳があるんだ。
ほかに英語の過去形がやたら"済み"になっていて気持ち悪いし意味が通じない。
翻訳は時々更新されている。
でもバグレポートとかとは何か違う気がしてどうしたらいいかわからないんだ。
669:デフォルトの名無しさん
08/12/09 20:05:40
unreachableが、「断線してないか?」だって?
単に「届かなくね?」くらいの意味だと思ってたけど
670:668
08/12/09 20:33:53
>>669
ごめん、まずかった。余計無意味にしてしまった。
671:デフォルトの名無しさん
08/12/12 23:59:43
最新のQtってPOPにアクセスしてメールを受信するみたいなAPIありましたでしょうか
672:デフォルトの名無しさん
08/12/13 07:32:40
>>671 ない
Qt Reference Documentation の QtNetwork Module の頁では
QTcpSocket をつかえばご自分で実装できますよ。とある。
参考: kdepimlibs-4.1.3/kioslave/pop3/
673:デフォルトの名無しさん
08/12/13 07:37:51
Trolltech : 該当109件
Nokia: 該当3673件
Qtアシスタント調べ。
674:デフォルトの名無しさん
08/12/18 05:04:42
qt designer 使おうと思ったら uic コマンドが見付からないorz
675:デフォルトの名無しさん
08/12/19 03:22:40
何が聞きたいのかよくわかんない。
designer使うのにuicは必要ないと思うけど。
designerの生成物を使うにはuicは直接使わずにqmakeだし。
make中にuicが見つからないってエラーがでたなら、
$QTDIR/binにパスが通ってないか、インストールに失敗している。
676:デフォルトの名無しさん
09/01/13 14:49:45
QTで作ったツールをLINUX上で動かそうと思ったのですが、
Xlib: extension "GLX" missing on display ":0.0"
QGLContext::makeCurrent(): Cannot make invalid context current.
とエラーが出てしまいます。
どなたか解決方法をご存知の方、居ませんでしょうか。
677:デフォルトの名無しさん
09/01/13 18:35:59
xサーバーのglxエクステンションが有効になっていないのでは。
678:デフォルトの名無しさん
09/01/14 09:40:45
LINUXマシンにOpneGLがインストールされていないのが原因のようでした。
お騒がせしました。
679:デフォルトの名無しさん
09/01/14 10:21:36
LINUXでQtで作ったツールを動かして見たのですが、
Qtがインストールされている環境だと日本語が表示されるのに、
Qtがインストールされていない環境では、日本語が表示されません。
どうすれば表示されるようになるのか、分かる方居ませんか?
日本語を表示するには、Qtのライブラリが何か必要なのでしょうか・・・。
680:デフォルトの名無しさん
09/01/14 19:46:27
LGPL でも使えるようになるそうだ。
URLリンク(www.qtsoftware.com)
681:デフォルトの名無しさん
09/01/14 20:09:31
>>679
多分、フォントの設定がされてないからじゃないかな。
Qtはデフォルトで使われるフォントは英語用だから、
日本語用のフォント指定してないと表示できないと思うよ。
682:デフォルトの名無しさん
09/01/14 21:18:27
>>681
指定したフォントにグリフがなければ他のフォントを探しに行くようになっているので、
他のフォントに日本語グリフがあればそれが使われて、見栄えは違っても表示だけはされます。
他のフォントを探しに行って日本語グリフがなければ表示されません。
>>679
plugins/codecs にあるコーデックのプラグインを持って行く必要があります。
683:デフォルトの名無しさん
09/01/14 21:37:22
>>680
リンク先が見つからなかったんだけど、どのページに書いてあるの?
684:デフォルトの名無しさん
09/01/14 21:39:59
>>683
URLリンク(www.qtsoftware.com)
685:683
09/01/14 21:43:39
>>684
サンクス。
686:デフォルトの名無しさん
09/01/14 23:05:42
>>680
マジでか??
英語がよく分からんから訳してくれ。
一部だけじゃないのか??
687:デフォルトの名無しさん
09/01/14 23:11:21
>>686
URLリンク(slashdot.jp)
688:デフォルトの名無しさん
09/01/14 23:34:27
>>686
Qt4.5から適用になる予定とのこと。
689:デフォルトの名無しさん
09/01/15 05:34:35
おぉすばらしいな
690:679
09/01/15 09:09:42
>>681 >>682
回答ありがとうございます。
>plugins/codecs にあるコーデックのプラグインを持って行く必要があります。
$QTDIR/plugins/codecsのことですよね。
持って行くとは、具体的にどのように、どこに持っていくのでしょう・・・?
QTがインストールされていないマシンにも$QTDIRを設定して、
その下にplugins/codecsを置いてみたのですが、表示がされませんでした。
691:679
09/01/15 14:53:34
自己レスです。
環境変数QT_PLUGIN_PATHを設定して、そこにpluginsを置くと、表示されました。
qt.confを使用してもできるようでしたが、そちらは方法がよく分かりませんでした・・・。
692:デフォルトの名無しさん
09/01/15 22:34:50
>>688
3月が待ち遠しいなぁ。
693:679
09/01/16 11:49:39
昨日の679です。
>環境変数QT_PLUGIN_PATHを設定して、そこにpluginsを置くと、表示されました。
他のLINUXマシンでもまったく同じ様に設定してみたのですが、今度は表示されませんでした。
QT_PLUGIN_PATHの場合は、マシンに依存した何かがあるのでしょうか・・・。
qt.confを使うのが良いようなのですが、使い方を分かる方いらっしゃいますか?
694:デフォルトの名無しさん
09/01/16 22:28:42
QPushButton等のサイズの調整はどうするのがいいのでしょうか?
今のところQGridLayoutとマージンでちまちま調整しています
Geometoryはなぜか無視されるのでこの方法でやってるんですが、
もし推奨されていないのなら、別の方法を探さないといけないので・・・
695:デフォルトの名無しさん
09/01/16 23:30:22
>>694
どのような調整をしたいのでしょうか。
696:デフォルトの名無しさん
09/01/18 01:04:27
>>693
qt.conf の扱い方は、ここに書いてあってこれでうまく使えています。
URLリンク(doc.trolltech.com)
697:デフォルトの名無しさん
09/01/18 16:36:49
Ruby スレから誘導されてきました。
KDE3 の korundum.rb にはあった、KDE モジュールの ListView クラスと ListViewItem クラスが、
KDE4 の korundum4.rb にはありません。
これは何か別のクラスで置き換わったのでしょうか。
よろしくお願いします。
698:デフォルトの名無しさん
09/01/18 20:52:13
kde4 のkorundum4.rb は、つかってないので、実際にさポートされているのかは知らないが、
kde3 のをそのままつかうのなら K3ListView
URLリンク(api.kde.org)
kde4 なら KListWidget
URLリンク(api.kde.org)
俺も、korundum4.rb 使おうとしたけど、dcop から dbus への変更がめんどくさくて未だに使えていない。
699:デフォルトの名無しさん
09/01/19 16:01:22
>>695
ボタンのサイズの変更です
geometryもresizeも完全に無視されるのです
700:デフォルトの名無しさん
09/01/19 19:33:27
>>699
ボタンをレイアウトマネージャの管理下に置いていますか。
701:デフォルトの名無しさん
09/01/19 21:07:52
>>700
レイイアウトマネージャ下というのは
QLayoutを親にするということですか?
702:デフォルトの名無しさん
09/01/20 01:30:55
>>701
QHBoxLayout/QVBoxLayout/QGridLayout を使っていて、それらの addWidget()
にボタンを渡して配置していますか。レイアウトマネージャの管理下でならば、
setFixedWidth()/setFixedHeight()/setFixedSize() を使えばサイズを決め打には
できます。
レイアウトマネージャの管理下に置くということは、レイアウトマネージャに
setGeometry() で配置してもらうことなので、さらに setGeometry() を呼出し
ても競合してしまいます。
703:デフォルトの名無しさん
09/01/20 03:19:49
QTでiphoneアプリって作れるんでしょうか??
704:デフォルトの名無しさん
09/01/20 06:25:46
>>703
現状はQtがiPhone OSを対応動作環境としていないから
無理でしょう
705:デフォルトの名無しさん
09/01/20 07:35:02
ていうか、あぽーがデフォルト以外のGUIなんて入れさせねーべ。
706:デフォルトの名無しさん
09/01/20 08:48:53
Windows/Qtスレッドはありませんか?
707:デフォルトの名無しさん
09/01/20 08:54:32
当然スレッドくらいサポートしてるよ
708:デフォルトの名無しさん
09/01/20 09:53:08
>>706
2chのスレの事だよね?だとしたら、このスレでいいと思うけど
もしシングル/マルチスレッドの事だったら
>>707
の言う通り。
709:703
09/01/22 09:36:09
やっぱそうかぁ・・
将来的に対応・・とかもなさげですかねぇ。
ありがとうございましたm(_ _)m
710:デフォルトの名無しさん
09/01/22 10:54:31
急にQtがビルドできなくなりました・・・
以前にコンパイルしたのは実行できるんだけど、
新しく作ったのはコンパイル通っても実行ファイル開くとEXC_BAD_ACCESS (SIGBUS)で落ちる
以前のを再コンパイルしても同じことになります
コンパイラはgcc4.3なんですけど、原因が分かる人います?
711:デフォルトの名無しさん
09/01/22 11:08:59
どーせ本当はなにかしたのに、原因じゃないと自己判断して黙ってるだけだろ?w
712:デフォルトの名無しさん
09/01/22 12:11:17
なんかしてなったんなら、それが以外に原因が無いから分かりやすくて良いんだけどな
アホかお前?
713:デフォルトの名無しさん
09/01/22 12:22:23
その情報で答えられるのはエスパーかキチガイだけだ
新旧バイナリを比較するとかやりようはあると思うんだが
714:デフォルトの名無しさん
09/01/22 12:32:11
短文読んだだけでよくもまあ、そこまで侮蔑できるものだな
715:デフォルトの名無しさん
09/01/22 12:42:53
なんか荒れちゃったみたいですいません
面倒だった+丁度時期だったのでクリーンインスコしたので解決しました
716:デフォルトの名無しさん
09/01/22 14:22:13
>>710=>>715は一件落着したようで何よりだけど、となると
横から入ってきて急に意味不明のキレ方した>>712ってどういう人なんだろうねw
717:デフォルトの名無しさん
09/01/22 15:35:39
スルーすりゃいいのに、
自治を始めたお前の方がなんだと思うが?
718:デフォルトの名無しさん
09/01/22 19:13:54
はいはいご飯よ
719:デフォルトの名無しさん
09/01/25 09:26:50
Qt初心者なんですが、最初はDesigner使わずに手でガシガシ書いた方覚えは早い
ですか?
720:デフォルトの名無しさん
09/01/25 12:31:32
書く人の能力による
721:デフォルトの名無しさん
09/01/25 12:41:42
Designerがやってくれることはレイアウト配置やらシグナル&スロット設定やらだけど、
レイアウトは手で書くとしてもHTMLのテーブルタグと同じ感覚で書けるし、
シグナル&スロット設定も用意されている関数呼ぶだけなんで
Designerから入ってもいいと思う。
722:デフォルトの名無しさん
09/01/25 16:38:35
>>719
手で書いて覚えるとしても、Designer で配置してどんなコードが出るかをプレビューしたり、
Designer で設定値をいろいろ変えてどうなるかを確かめると早く覚えられると思います。
723:デフォルトの名無しさん
09/01/27 00:53:22
QtのRuby bindingってすごく便利だと思うんだけど
ググっても日本語の情報があまりないね。
724:デフォルトの名無しさん
09/01/27 08:57:39
メモリ管理について質問です。
Qtのサンプルをみるとよくローカルで
QHBoxLayout *topLayout = new QHBoxLayout;
みたいなことやってdeleteしてないのですがアプリ終了時に自動的に開放されるのでしょうか?
QHBoxLayout *topLayout = new QHBoxLayout(this);
とした場合はthisとなる親が開放されたとき子も開放されるのは確認できました。
725:デフォルトの名無しさん
09/01/27 13:54:13
>>724
widget->setLayout( layout );
した時点で layout が widget の子オブジェクトになるので
widget が delete される時点で解放される。
726:デフォルトの名無しさん
09/01/28 00:21:57
>>723
自分も少しqt4ruby見てみたけど、designerのuiファイルとかも
使えるみたいだし、かなりいいよね。
でも、QThreadがないっぽいけど、スレッド使えないのかな?
スレッド無いとちょこちょこっとしたプログラム以外には使い
にくいんだけどな。
727:デフォルトの名無しさん
09/01/28 07:58:57
Rubyのスレッドではまずいの?
728:デフォルトの名無しさん
09/01/28 09:27:41
ウェブ読むのがだるいので、URLリンク(www.pragprog.com)で"Rapid GUI Development
with QtRuby"てのを買ってみた。(Qt3向けで英語だけど。90ページで$8.5のPDF本)
Rubyは知っているけどQtは未経験の自分にとってはけっこう参考になる。
関連ツールを含めたプログラミングの手順はRuby-GNOME2とかなり似てるね。
既知かもしれないけど、URLリンク(techbase.kde.org)
にリンクも含めてQtRubyの情報がまとめられてる。(英語)
729:デフォルトの名無しさん
09/01/28 23:17:34
>>727
Rubyのスレッドって特殊で、グローバル変数とかを
保存しながら、setjump/longjumpを繰り返すって
実装みたいなので、Qtのオブジェクトとかちゃんと
ロックしているかはあやしいんじゃないかな。
730:デフォルトの名無しさん
09/01/28 23:55:04
ちょっと質問させてください。
URLリンク(www.sra.co.jp)
ここにpdfでの説明がありますけど、これだけだとちょっと足りない感じでしょうか??
Qt関連の書籍買ったことあるかたなどいらっしゃいましたら教えていただけると幸いです。
731:デフォルトの名無しさん
09/01/29 03:03:19
足りないと思うよ。
どっちかというと機能紹介の文書じゃないかな。
SRAが珍しくがんばって翻訳したのって多分宣伝目的のためだと思う。
732:デフォルトの名無しさん
09/01/29 03:36:11
↓にも紹介されている、Qt4第2版がいいと思います。
URLリンク(doc.trolltech.com)
733:デフォルトの名無しさん
09/01/29 07:15:17
>> 723
全般的には QtRuby いいです。
Ruby の方でウィジェットを作ったときにメタオブジェクトと
同等な情報が扱われるようになるといいです。そうはなって
いないので、例えば、メッセージの翻訳ファイルを使えるよう
するために工夫が要ります。
sender() が返すオブジェクトのクラスが Qt::Object。タイプ
システムを拡張できない。Ruby のクラスをシグナルとスロッ
トのパラメータに使用できない。
機能追加のリクエストには2 年近く前から挙っているけれど、
ui ファイルから生成されるコードがクラスなのもモジュール
になれば使いやすくなりますね。
734:デフォルトの名無しさん
09/01/29 09:03:59
>>730
これの中に「Qtのウィジェットは、安易に「コントロール」と「コンテナ」に分けることは
できません。」て一文があって、ちょっと吹いた。GTK+のことか?
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4880日前に更新/247 KB
担当:undef