08/09/21 23:38:36
MingwとMSYSを落としてきてインストール。
qt オープンソース版を落としてきて、展開。
MSYSコマンドプロンプト上でQtのフォルダに移動。
./configureとすると受け入れるライセンスの種類を聞かれたのでyを選択。
mingw32-makeが見つかりません。と言われて止まった。
MSYSやMinGWの中のフォルダみてもmingw32-makeがない。(パスは通ってる)
どうすりゃいいの?
あといろいろ調べてたら、visual studio 2005のコマンドプロンプトでconfigure
しなくちゃいけないみたいなんだけど、msys上じゃだめなの?
524:デフォルトの名無しさん
08/09/21 23:53:51
>>523
MSYS上で、makeが実行できれば問題ないような気が…。
環境変数のQMAKESPECにwin32-gcc+を設定していないとか?
あと、環境変数QTDIRに展開したフォルダパスを設定するのも多分必要。
普段VS2003(QMAKESPEC:win32-msvc2003)を使ってて、MSYS環境が
ないので想像だけど。
525:デフォルトの名無しさん
08/09/21 23:54:03
>>523
mingw32-makeはtrolltechで配ってるmingwに入っている
URLリンク(ftp.ntua.gr)
MSYSでも不可能ではないがシンボリックリンクって知ってるか?
Visual Studioは商用版だけの話だぞ
526:デフォルトの名無しさん
08/09/22 01:03:33
素直にmingw抱き合わせ版使った方が幸せ
527:523
08/09/22 01:08:59
>>MSYSでも不可能ではないがシンボリックリンクって知ってるか
知ってます。
>>素直にmingw抱き合わせ版使った方が幸せ
抱き合わせ版はGDB使えないのでしょ?
528:デフォルトの名無しさん
08/09/22 02:41:34
>>527
知ってるならmingw32-makeのシンボリックリンクくらい張れるよな?
なんでgdb使えないと思い込んでるのさ?
-gオプション付けりゃCygwinのgdbでも何でも使えるぞ
529:デフォルトの名無しさん
08/09/22 03:14:14
>>527
オレはセットのやつにgdb追加して使ってるけど、
その情報源はどこなんだ?
久々に「知ってるがお前の態度が(AA略)」を出したくなった
530:デフォルトの名無しさん
08/09/22 06:36:07
URLリンク(d.hatena.ne.jp)
これの赤字のところ。
531:デフォルトの名無しさん
08/09/22 09:33:25
gdbが使えない、という文面は見当たらん
532:デフォルトの名無しさん
08/09/22 21:03:28
無事インストールできました。皆さんありがとう
533:デフォルトの名無しさん
08/09/24 11:58:25
Qt4.4.1をSolarisへとインストールする際のコンパイルで、
float_tが見つからないと言われて以下のようなエラーとなってしまいます。
"../../../../src/3rdparty/clucene/src/CLucene/util/Equators.h", line 100:
Error: Type name expected instead of "float_t".
"../../../../src/3rdparty/clucene/src/CLucene/util/Equators.h", line 103:
Error: float_t is not defined.
OSはSolaris 8
コンパイラはSun Studio 9 Sun C++ 5.6
です。
/usr/includeの下などを探してみても、確かにfloat_tが見つかりません。
どなたか分かりませんか?
534:デフォルトの名無しさん
08/09/24 23:03:59
うちのnevadaはiso/math_c99.hでtypedefしてる
535:デフォルトの名無しさん
08/09/26 01:20:29
Qt Designer4.3を使っているのですが、
DesignerではQVBoxLayoutなどのレイアウトオブジェクト名を変更することは出来ないのでしょうか。
ちょこちょこレイアウトをいじると、uicでヘッダファイルを出力した時に
オブジェクト名がvboxLayout1になったりvboxLayout2になったりします。
536:デフォルトの名無しさん
08/09/26 02:12:56
できないんじゃないかな。
なんでレイアウトの名前を変えたいの?
適当な名前で十分だと思うけど。
537:デフォルトの名無しさん
08/09/27 00:09:10
qmake VERSION=staticlib
で静的リンクさせようとすると、
windres -i hoge_resource.rc -o debug\hoge_resource_res.o --include-dir=.
windres: hoge_resource.rc:8: syntax error
と出ます(動的リンクだと問題なし)
具体的に他に何をすればいいんでしょうか
ちなみにhoge_resource.rcの8行目は
FILEVERSION staticlib,0,0,0
となってます
環境はWinで、Qt 4.4.1、gcc 3.4.2です
538:デフォルトの名無しさん
08/10/01 03:32:34
そもそも静的リンクってできるの?
539:デフォルトの名無しさん
08/10/01 03:44:36
windowsでqtデザイナを使った.uiファイルをmakeをしようとすると
undefined referrence to 'qMain(int, char**)'
というエラーが出てmakeできません、どうしてなんでしょうか?
540:デフォルトの名無しさん
08/10/01 15:28:13
だって商業主義じゃないからね。
自分の好きなことやるのに普及してるとか儲かるとかは基本的に関係ないだろ。
541:デフォルトの名無しさん
08/10/01 15:44:14
何のこっちゃ?
542:デフォルトの名無しさん
08/10/01 16:22:38
あぁすまん誤爆だった。
543:デフォルトの名無しさん
08/10/02 13:12:36
TrolltechからQt Softwareになりました。
544:デフォルトの名無しさん
08/10/02 13:28:02
わかりやすくてよろしい
545:デフォルトの名無しさん
08/10/03 09:36:14
QTで作ったGUI上で
QString::fromLocal8Bitを使用して日本語を表示させているのですが、
Windowsでは普通に表示されるものの、
LINUXでは文字化けになってしまい、上手く表示できません。
ファイルの文字コードをEUC-JPにしたりUTF8にしたりと
色々試したのですが、解決せず・・・
LINUXではどのようにして日本語を表示させるのでしょうか
546:デフォルトの名無しさん
08/10/03 12:07:05
Linuxでも同じだけど
該当部分のコードを晒せば何か分かるかも
547:デフォルトの名無しさん
08/10/03 13:18:31
コードはこんな感じです。
#define Jstr(str) QString::fromLocal8Bit(str)
QString fStr = Jstr("ファイル");
548:デフォルトの名無しさん
08/10/03 13:59:04
それはパス名なの?
>>545を見るとファイルの中身の文字コードの話のようにも見えるし
実行環境のロケールは?
549:デフォルトの名無しさん
08/10/03 14:45:33
>>538
ずっと前からできるよ。
550:デフォルトの名無しさん
08/10/03 15:47:27
LANGには"ja_JP.eucJP"を設定しています。
ソースコード内に日本語文字をべた書きで入れているので、
ファイルの文字コードをEUC-JPにしています。
551:デフォルトの名無しさん
08/10/03 16:32:57
QTextCodec *codec = QTextCodec::codecForName("UTF-8");
QTextCodec::setCodecForTr(codec);
QTextCodec::setCodecForCStrings(codec);
QLabel *label = new QLabel(tr("日本語"));
552:デフォルトの名無しさん
08/10/03 16:34:22
qDebug() << QString::fromLocal8Bit("日本語"); // 文字列はeucjp
端末上ではどう?
553:545
08/10/03 16:57:29
回答ありがとうございます。
>>551
うーん・・・どうも上手くいきません。
>>552
やってみました。
端末上では、正常に日本語が表示されました。
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+のことか?
735:730
09/01/29 14:31:38
おーあんまよくないんですね。聞いておいてよかった。
URLリンク(www.amazon.co.jp)
英語ですがこれ買って頑張ってみようと思います。ありがとうございましたm(_ _)m
しかし高い・・
736:デフォルトの名無しさん
09/01/29 17:09:44
英語でいいならまずは
URLリンク(www.qtrac.eu)
をダウンロードして読めば。
>>732 のリンクからたどれる 1st edition の pdf。
737:デフォルトの名無しさん
09/01/29 19:39:11
Qt4バージョンも公開されてたのか。すげーな。
>730
オライリーの『入門 Qt 4 プログラミング』は? 十分使えるでしょ。安めだし。
>736の翻訳なはず。
738:デフォルトの名無しさん
09/01/29 19:48:08
>> 734
ショーで Trolltech のパンフレットもらったら翻訳の質が酷かった
ので聞いたら、中国にだしたからだって。そのドキュメントも
Trolltech が中国に翻訳に出したと言っていたよ。
739:デフォルトの名無しさん
09/01/29 23:23:11
>>737
オライリーにありがちだけど、すごく分かりづらいのに、
Qt4の日本語の書籍って他はでてないんで、自分も買った。
740:デフォルトの名無しさん
09/01/30 07:16:40
>>738
へえ、そうなんだ。でも中国でやったものとして見ると、すげー質高い気がする。
ところですまんけど、アンカの付け方直してもらえまいか。>>と数字はくっつけて
ほしい。リンクにならないので。
実は俺もwebではリンクにならない >数字 で打ってたことあるのでこれから気を
つける。
741:デフォルトの名無しさん
09/01/30 14:39:11
>>735 URLリンク(www.amazon.co.jp)
742:デフォルトの名無しさん
09/01/30 23:09:28
>>740
ごめん、ありがとう。
743:デフォルトの名無しさん
09/02/02 02:15:42
Windowsでのphononライブラリの使い方で質問があります。
サンプルプログラム(demos/mediaplayer)を動作させたのですが、
ライブラリがロードできていないようで、ファイルの表示ができません。
カレントをライブラリのあるフォルダにしてから動かすと、
正常に動作します。
ライブラリの場所にはパスを通しているのですが、
何かほかに設定が必要なのでしょうか?
744:744
09/02/03 18:27:43
Ubuntuから、QSqlDatabaseを使って、Microsoft SQLServerに接続したいんですが、
SQLServer用のQTDSは標準のQtには含まれていないようです。
Qt ReferenceのSQL Database Driver->QTDS for SyDase Adaptive Serverをみると
FreeTDSが使えるみたいに書いてあって、
cd $QTDIR/src/plugins/sqldrivers/tds
qmake -o Makefile "INCLUDEPATH=$SYBASE/include" "LIBS=-L$SYBASE/lib -lsybdb"
make
と書いてあるんですが、これを習ってやってみても
qmakeのhelpが表示されるだけでうまく行きません。
上のやり方で、QTDSが出来上がるもんでしょうか?
745:デフォルトの名無しさん
09/02/04 03:11:41
SQLサーバーのことはよく分からないけど、
とりあえず、qmakeの使い方はおかしい。
INCLUDEPATHやLIBSはプロジェクトファイル(*.pro)に
書くものだよ。
746:744
09/02/04 13:18:11
>>745
そうですよね、そう思うんですが
URLリンク(doc.trolltech.com)
ここに書いてあることが、よくわからん
もしかしたら、この方法でsoファイル Windowsで言うDLLが作れるのかと思ったんですが。
747:デフォルトの名無しさん
09/02/04 14:22:43
>>744
MSのSQL Serverにつなぐんだったら、QODBCを使うんじゃないの?
URLリンク(doc.trolltech.com)
748:デフォルトの名無しさん
09/02/04 15:13:05
>>744
opensource版(GPL版)のソースには TDS 用のドライバは含まれてないけど…。
qmakeの使い方自体は問題ない。オプションのところで変数の操作はできるようになっているし。
単に pro ファイルがないとかが原因でエラーになっているのかと。
749:744
09/02/04 18:28:20
>>747
>>748
やはりproファイルがないとは、やはり元になるcppファイルが必要と言うことでしょうか?
とすると、747さんが言われるQODBCpluginとFreeTDSを多重継承したcppを書く必要がある?
でも、FreeTDSのヘッダsybdb.hを眺めた感じではクラスの宣言がされてないような
これ継承できるのかな?
初歩の質問ですが、qmakeの引数渡しは、proファイルへ行を追加記入するのと
同じ?
例えば、デバック時 proファイルに
CONFIG += qt debugを書き足してたんですが、引数でもできますか?
750:デフォルトの名無しさん
09/02/04 23:44:40
同じだと思う。
でも、デバッグするなら、わざわざメイクファイルつくり
なおすんじゃなくて
CONFIG += debug_and_release
debug {
TARGET = xxxx
}
release {
TARGET = xxxx.dbx
}
って書いて make, make debug, で分けた方が楽だよ。
objファイルもソースのところに作らないし。
751:デフォルトの名無しさん
09/02/05 00:30:13
>>743
自己レスです。
qtrubyもインストールしていたのですが、パスの設定が
先に来ていて、qtrubyに付属していたライブラリをロード
していました。
そのライブラリがおかしな挙動をしていたらしく、ライブラリを
削除したら、問題が解決しました。
752:744
09/02/07 12:37:56
いろいろ調べてみたけど、よくわからないので、Qtのデータベースを使うのは断念
せっかく調べたので、メモ
unixODBC
URLリンク(www.unixodbc.org)
ここにunixODBC-Gui-Qtのプロジェクトがある
でも、ViewVCとやらが必要みたい
Easysoft
URLリンク(www.easysoft.com)
ここのODBC-SQL DriverをDLするといけるらし
753:デフォルトの名無しさん
09/02/07 15:40:55
URLリンク(www.viewvc.org)
ViewVC is a browser interface for CVS and Subversion version control repositories.
754:デフォルトの名無しさん
09/02/07 18:38:51
URLリンク(unixodbc-gui-qt.svn.sourceforge.net)
755:744
09/02/09 23:05:12
皆さん、追跡調査していただいているようなので、分かってるところを書いてみます。
まず、テスト用のSQLサーバー
SQLServerの機能限定版MSDE2000をMicrosoftのサイトよいDL
ID sa Passwrod なしでもセットアップできますがテスト用に適当に入力
サーバーを起動
MSENだけではデータが作れないので、Accessの新規作成から新しいプロジエクトを作成
適当にテーブルを作る(例えば TestDB)
Windowsでの接続確認
ファイアーウオールの1433ポートを開ける
コントロールパネル>管理ツール>データーソース
とりあえず、ユーザーDNSの追加から新しいDNS(例えばTestODBC)を作成する
クライアントの設定はTCP/IPで
最後に、接続テストで繋がればOK
756:744
09/02/09 23:06:32
次にLinuxでの接続テスト
私の場合Ubuntuを使っているので
Synapticから、FreeTDSとunixODBCをインストール
ホームディレクトリに.freetds.confと.odbc.iniを書く
**********************~/.odbc.ini
[ODBC Data Sources]
mssql = MS SQL Srever
[mssql]
Driver = /usr/lib/odbc/libtdsodbc.so <-Ubuntuの標準インストールの場合
Description = Microsoft SQL Server
Srevername = TestODBC
DataBase = TestDB
**********************~/.freetds.conf
[TestODBC]
host = 192.168.10.3 <-(SQLServerAddress)
port = 1433
tds version = 8.0
charset = sjis
client charset = utf-8
language = japanese
接続テスト
~$ isql mssql ユーザー名 パスワード
connect出来れば接続テストOK
PHPたrubyならこのままコードが書けるらしいけど
757:744
09/02/09 23:09:18
ここからが、Qtでどうやってコードを書くのか?
先にURLを乗せたunixodbc-gui-qtの中には
ODBCCreateDataSourceQ4 ODBCのDNSを生成するの?
ODBCDataManager VCのCRecodesetみたいに、DBのテーブル項目を読んでメンバー変数を作ってくれるの?
ODBCManageDataSourceQ4 ???
ODBCTest サンプルプログラム?
にしても、エラーが解消できないし、内容も複雑すぎてわからん
また、unixODBCなどは、同梱されてるみちたいなので、先にインストールするとまずいのかも
758:デフォルトの名無しさん
09/02/10 22:20:41
ところでSQL Server 2008 Expressもある今、
なんでいまさらMSDEなわけ?
759:744
09/02/11 21:29:46
>>758
知らんかった
760:デフォルトの名無しさん
09/02/12 07:16:18
URLリンク(www.microsoft.com)
761:デフォルトの名無しさん
09/02/13 20:48:41
MacOSX10.5での表示についての質問です
メニューを追加しようと思い次のようなコードを書きました
1:fileMenu = menuBar() -> addMenu(tr("&File"));
2:m_FileMenu->addAction(quitAction);
//fileMenuはQMenu
windowsやlinuxでは普通に表示されるのですが、OSXではなにも表示されません
MainWindowは継承してあります
quitActionは
QAction* quitAction = new QAction(tr("&Quit"), this);
connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit()));としています
リファレンスとWhitePaperに目を通したのですが、解決策が分かりませんでした
どこか間違えているでしょうか?
762:デフォルトの名無しさん
09/02/13 21:31:19
すいません自己解決しました、スレ汚し失礼・・・
763:デフォルトの名無しさん
09/02/13 21:48:50
解決したときには方法を書き残しておくとみんなの役に立つよ
764:デフォルトの名無しさん
09/02/13 21:57:16
OSXの場合メニューの一番右にアプリケーション名が出ており、
そこにコマンド+Qが割り当てられたquitメニューがデフォルトで存在してました。
デフォルトの方が優先されるようで、自分で作った方が反映されないようです。
クロスプラットホームは便利ですがこういう慣れないOSでの依存関係で戸惑いますね。
765:デフォルトの名無しさん
09/02/14 19:52:27
リリース候補版になってるな
766:デフォルトの名無しさん
09/02/14 21:10:56
RC版をmsvc90で-webkitでビルドしたら10GBくらいになった。
767:デフォルトの名無しさん
09/02/16 09:14:42
それマジ?
これから使おうと思ってるのにサイアク。
768:デフォルトの名無しさん
09/02/16 12:03:33
int型、double型等を入力させて演算を行いたいのですが、この場合何を使えばいいのでしょうか?
QLineEditから読み込むとテキスト形式しか読み込めず、その後の計算ができないのです・・・
初歩的な質問ですいません。
769:デフォルトの名無しさん
09/02/16 13:14:26
>>768
QString::toDouble を使う。
URLリンク(doc.trolltech.com)
有効な数字しか受け付けないように、格好良くやりたいときは、
QDoubleValidator を使う。
URLリンク(doc.trolltech.com)
リンク先は、int 型の QIntValidator の例。
770:デフォルトの名無しさん
09/02/16 17:16:13
こういう変換関数って言語ごと、ライブラリごとに違うんだよな
統一して欲しいっス
771:デフォルトの名無しさん
09/02/16 17:20:05
>>602,604
RC 出てるよ。
URLリンク(labs.trolltech.com)
vim モードとか色々いい感じかもしれん。
772:デフォルトの名無しさん
09/02/16 18:47:03
>>771
RCとはいえ、使い勝手はどうなんだろ
>>602見て試したときは、viとか、ただのテキストエディタを使うほうが良いってぐらいだったしなぁ
正直300k回線で落として試そうという気が起きん('A`)
773:デフォルトの名無しさん
09/02/16 19:41:01
真のプログラマはvi以外(ry
774:771
09/02/16 21:04:07
>>772
ggとかdwとか/とか、できる。
git、 subversion とかにも対応って書いてあるけど、こっちは試してない。
completion も 出来た。
class名の上にmouse pointer 置いてF1とかで、ヘルプ出すのも出来た。
かなりいい感じじゃないかと思って書き込んだんだけど、
>300k回線
本チャンまで、待った方が良いんでない?
Marchって書いてあるよ。
775:デフォルトの名無しさん
09/02/17 00:15:08
vimに慣れてるから他のエディタを使う気はしないなぁ
辞書補完あるならマッハで移るかもだけど
776:デフォルトの名無しさん
09/02/17 00:31:14
そういや俺もvim用のQt辞書作ろうかと思ってたけど途方無さすぎてやめた
誰か一緒に作る人いない?
777:デフォルトの名無しさん
09/02/18 03:39:50
qtcreator のWindows版ってコンパイラにMinGW使うの?
ってことはphononとか使えないの?
778:デフォルトの名無しさん
09/02/19 20:55:47
QtCore4.dllとかQtGui4.dllとかのDLLは自作したプログラムに同梱して配布してもいいんでしょうか?
779:デフォルトの名無しさん
09/02/19 22:13:18
QtWebKitでDOMを使うにはどうすればいいのわからない
780:デフォルトの名無しさん
09/02/20 00:01:55
>>778
動作しないもの配布されてもこまらね?
公式のDeveloper pageでデモがあったので見てみた
Qt CreatorのプレゼンとQtを使った、Qtのプレゼン?
後者は面白いな
社員と思われる人たちも楽しそうだw
IDEは正直MS製以外はどれも操作性に難アリで満足したことがない
(VC6.0モロパクリは結構よかったが)けど、Creatorはどうなのやら
補完とかAssistant、Designerをくっ付けてるとか、機能面は凝ってそうだけど
GUIでありながらキーボードで大半を操作できるIDEってなかなかないよな・・・
781:デフォルトの名無しさん
09/02/20 00:16:38
Qt4.5まだぁ?
782:デフォルトの名無しさん
09/02/20 00:36:04
Qt4.5ってさ、オープンソース版もあるQt用IDEのCreatorも公開されて
ライセンスもLGPLになって、タダで社内用のGUI開発するのに何の問題もなくなるって認識でおk?
783:デフォルトの名無しさん
09/02/20 02:29:02
>>780
vcより悪いものの方が少ないだろ。
頭へいきか?
784:デフォルトの名無しさん
09/02/20 05:54:50
頭がどうの言い出す奴は大抵その前に馬鹿なこと言ってるな。
785:デフォルトの名無しさん
09/02/21 09:45:44
>>782
GPL版にOracleやActiveXのプラグインが入っていないからLGPLにも入らないでしょう。
だから、そういったのを使っていなければ。
786:デフォルトの名無しさん
09/02/21 12:04:38
>>779
4.5でDOM APIが予定されていたけれどRC1で落ちてますね。
他にもいくつか落ちているし、買収先のNokiaのために
S60への移植にリリース割かれて疎かになっているんじゃないですか。
787:デフォルトの名無しさん
09/02/21 12:13:12
>>779
書き忘れました。暫くはQWebFrame::evaluateJavaScript()とかでJavaScriptを使ってDOMを。
788:デフォルトの名無しさん
09/02/21 21:51:54
>>786 787
ありがとうございます。
DOMが出来るまで、QWebFrame::evaluateJavaScript()を使うことにします。
789:デフォルトの名無しさん
09/02/23 05:23:20
DOM、キャンセルになったの?
凄い楽しみにしてたんだけど
790:デフォルトの名無しさん
09/02/23 20:54:25
>>789
Qt Labsには4.5で計画中と書かれていたんだけれど、4.5RC1のリファレンスの
What's New in Qt 4.5には書かれていないし、WebKitのAPIにもありません。
791:デフォルトの名無しさん
09/02/26 20:44:59
>>782
開発元のブログやサードパーティ製品出しているICSの公開資料からは、
テンプレートについてのLGPL汚染について他から突っ込まれたときの
ことを考えておく必要があるという問題があります。
792:デフォルトの名無しさん
09/02/26 21:44:10
キュー・ティ・ワン・ゼロ
キュー・ティ・ワン・ゼロ
Bugってハニー
Bugってハニー
793:デフォルトの名無しさん
09/02/27 00:55:56
Qtって「キューティー」なの?「キュート」なの?
794:デフォルトの名無しさん
09/02/27 00:56:37
バーディーの相棒の方が一般的です
795:デフォルトの名無しさん
09/02/27 04:14:04
>>793
URLリンク(www.qtsoftware.com) にアクセスしたことないんか?
796:デフォルトの名無しさん
09/02/27 21:00:19
>>791
URLリンク(labs.trolltech.com)
のコメントを見る限りは例外条項は入ってくるはず。
797:デフォルトの名無しさん
09/03/02 00:19:20
Shift-JISの文字列をUnicodeに変換したいのですが、
QTextCodec::toUnicodeを使うとⅠなどの一部の文字が正しく変換できません。
どうやって変換すればいいんでしょうか?
798:デフォルトの名無しさん
09/03/02 00:31:29
>>797
Ⅰなんて文字はSHIFT-JISには存在しないからエラーで正解。
お前がSHIFT-JISと思っているものはMSJISとかcp932とか言われるもの。
799:デフォルトの名無しさん
09/03/02 04:12:48
libiconvにcp932やeucを足すpatchを公開してる人がいるから、
それを使うのが簡単かなぁ。
800:デフォルトの名無しさん
09/03/02 20:34:51
>>797
iconvなしでも、Qt内だけでcp932やNEC拡張文字は使えるようになっているのでこれでどうでしょう。
#include <stdlib>
putenv( "UNICODEMAP_JP=nec-vdc" );
や
putenv( "UNICODEMAP_JP=cp932,nec-vdc" );
801:デフォルトの名無しさん
09/03/03 01:35:21
オープンソースで使ってる人いるの?
802:デフォルトの名無しさん
09/03/03 06:54:38
>>801
そっちの方が多いと思う
803:デフォルトの名無しさん
09/03/03 19:16:07
Qt 4.5&Qt Creator 1.0リリースきたよ
804:デフォルトの名無しさん
09/03/03 19:26:23
Qt SDK ってのがあるな。
805:デフォルトの名無しさん
09/03/04 02:05:07
いろいろ活発になってきたねぇ
すみっこにVisual Studio add-in betaもあるね
Nokiaの買収は今のところいい流れだね
806:デフォルトの名無しさん
09/03/04 02:54:39
会社のツール類にQTを使おうか検討中
Visual Studio addinがオープンソース版でも使えるってのは嬉しいな
807:デフォルトの名無しさん
09/03/04 06:53:58
出勤前にSDK版インスコ完了
って、デバッグ版はmakeしなくてもすでにあるのか
あれ?mingwチェックはずしたと思ったのに、インスコされてる??
各階層もちょっと整理されててlinuxっぽくなってるね
808:デフォルトの名無しさん
09/03/04 08:59:15
>>807
裏山
オレ夕べ何度リトライしてもDLできなかったよ…
ミラーしてるサイトとかないのかな?
809:デフォルトの名無しさん
09/03/04 09:38:02
Qt SDKって単純に全部入りなだけかと思ったけど、何か変わったの入ってるの?
俺はQt-eclipse-1.5.0が落としにくかったな。夜中に始めたmake firstが終わらなくて、
そのまま出てきた。
810:デフォルトの名無しさん
09/03/04 10:28:29
全部入りなだけだな。
今までQtの開発環境を作ってきてたやつにはあまり意味はない。
新規に開発環境を作りたいならこれ一つでOK。
Windowsで試したいけどmingwとかが面倒とかそういう場合には便利。
811:デフォルトの名無しさん
09/03/04 11:29:56
vs2005でmake完了。今qt-creatorのmake中。
ところで、VS addin のソースってどこ?
812:デフォルトの名無しさん
09/03/04 13:25:30
ないよ
813:デフォルトの名無しさん
09/03/04 20:25:34
webkitのコンパイルなげー。ファイル数1400以上あるじゃん。
qatomic_windows.hが直ってて、windows gcc4.3でもそのままコンパイル通るようになった、
Qt creatorはなかなか軽くていいね。コンパイルオプションてqmakeに渡すんかな。
以上4.4.3からの移行。しばらく遊べそうだ。
>>808
03/03深夜に確認した限りではqt450のsourceしか見つからなかった。
windows版ならtorrentで配布してなかったかな
814:デフォルトの名無しさん
09/03/04 21:57:22
>>813
確かにWin版だけtorrentが用意されてるね、ナンデダロ?
まー、今日の日中にサクッと落とせたからいいんだけど。
815:デフォルトの名無しさん
09/03/04 23:16:39
win版バイナリ落としたんだけど、
ソース版なんてないよね?
816:デフォルトの名無しさん
09/03/04 23:43:05
>>815
あるよ
っていうかソースは共通
817:デフォルトの名無しさん
09/03/05 01:37:31
Qt4.5 win版についてまとめてみた
間違いがあれば突っ込みよろしく
ダウンロードページ:URLリンク(www.qtsoftware.com)
・Download Qt SDK for Windows* (194 Mb)
・qt-sdk-win-opensource-2009.01.exe
全部入りのインストーラー。コンパイラは MinGW + Qt Creator。
VisualC++ でリンクしたい場合はライブラリファイルが異なるので多分ビルドしなおしが必要?
デフォルトインストール先:C:\Qt\2009.01
Qtのインストール先 :C:\Qt\2009.01\Qt ※他のとフォルダ構成がちょっと違う
・Download Qt libraries 4.5 for Windows (136 Mb)
・qt-win-opensource-4.5.0-mingw.exe
バイナリ入りのインストーラー。
コンパイラは MinGW。Qt Creator は入ってない(必要なら個別にインストール)。
デフォルトインストール先:C:\Qt\4.5.0
・qt-win-opensource-src-4.5.0.zip
ソースのみ。ちょっと分かりづらいが、上のリンクを辿ると mingw 版の下に置かれている。
Qt を自分が使うコンパイラでビルドしないと使えない(2~3時間かかる)。
すぐ試せないけど、Visual C++ で使いたい人はこれがいい?
818:デフォルトの名無しさん
09/03/05 02:01:45
俺はMSVCでコンパイルするのに、qt-all-opensource-src-4.5.0.tar.bz2 を
使ったな。qt-win-opensource-src-4.5.0.zip との違いは何だろう?
819:デフォルトの名無しさん
09/03/05 02:23:33
>>818
そんなのあった?
qt-all-opensource-src-4.5.0.tar.bz2 は win/mac/linux どれでもビルドできるヤツなのかな
820:デフォルトの名無しさん
09/03/05 02:48:25
商用版のQtCore.dllとかって購入者のライセンス情報は含んでるもんなの?
821:デフォルトの名無しさん
09/03/05 08:18:15
Qt Creator&MinGW を Qt の勉強がてらちょっと触ってみた
これ、かなり良くね?
とりあえず気づいたことなど
・プロジェクトのパスに半角スペース、日本語を入れちゃダメ
Qt Creator や Qt Designer がパスを認識できない(※qmake は通るようだけどVCでも避けた方がいいと思う)
・日本語のソースコードは UTF-8 にする
「Projects」タブの「Editor Setting」設定でエディタの Encoding を「UTF-8」にしておく
プロジェクトのデフォルトだと System(ShiftJIS)だが、これは gcc と相性が悪い
※iconv 入れて QMAKE_CXXFLAGS_DEBUG とかを工夫すればいけるかも知れないけど面倒くさい
・デバッグ出力はとりあえず英語にする
qDebug() に日本語を出力するとデバッガコンソールが文字化けする(UTF-8、ShiftJISどっちもムリ)
コンソールウインドウに Encoding が適用されていないような気がする。これなんとかならんかな・・・
・Qt Creator のボタンは色々押してみるべき
元に戻せなくなって後悔するようなボタンがあんま無い。IDE慣れしてるなら試しに押してみるオススメ
・F2ボタンオススメ
エディタ上でF2押すとカーソル上の関数やインクルードファイルにタグジャンプできる
・配布時は mingwm10.dll も忘れずに一緒に入れておく
MinGW 環境でコンパイルするとこのDLLが必要になる(※マルチスレッドとC++例外を併用してる時だけかも)
このファイルは public domain で配布上の制限はない
>>791
大丈夫みたい。LGPL_EXCEPTION.txt にテンプレートやインライン関数などに関する例外があったよ
822:デフォルトの名無しさん
09/03/05 09:47:24
>>821
レポ乙、参考になるー
823:デフォルトの名無しさん
09/03/05 10:21:40
>>821
> ・デバッグ出力はとりあえず英語にする
> qDebug() に日本語を出力するとデバッガコンソールが文字化けする(UTF-8、ShiftJISどっちもムリ)
> コンソールウインドウに Encoding が適用されていないような気がする。これなんとかならんかな・・・
linux版なら日本語も問題無いみたいだけど、Windows版はバケるみたいだな。
*.pro に、CONFIG += console を入れておいて、codecを適切にすれば、従来通り
別窓での日本語表示は大丈夫だけど。
824:デフォルトの名無しさん
09/03/05 10:30:28
>>821
>・デバッグ出力はとりあえず英語にする
> qDebug() に日本語を出力するとデバッガコンソールが文字化けする(UTF-8、ShiftJISどっちもムリ)
> コンソールウインドウに Encoding が適用されていないような気がする。これなんとかならんかな・・・
Linux版だとちゃんと日本語が出るな。
Win版はだめ。チェックしてみるか。
825:デフォルトの名無しさん
09/03/05 16:53:33
アドオン版ってVicual C++ Expressじゃ使えないの?
826:デフォルトの名無しさん
09/03/05 18:28:03
Qt CreatorはFake Vimなんてあんのなw
ただ、そのショートカットキーがAlt+V,Alt+V(つまり連打?)とあるけど成功しない・・・
827:デフォルトの名無しさん
09/03/05 18:57:47
>>821
src/plugins/projectexplorer/winguiprocess.cpp
の QString::fromAscii を QString::fromLocal8Bit にすれば日本語出力も可能。
もう少し調べて報告しておく。
>>826
Avl+V 二回でうまくいくぞ。
828:デフォルトの名無しさん
09/03/05 19:29:09
>>827
うお、もう突き止めたのか。サンクス。レベルたけえ
>>825
Visual Studioアドオン機能はStandard版以降じゃないと使えないらしい(MSの公式サイト参照)
Qt Creatorがプッシュされてんのはその辺も理由のひとつかもなー
829:デフォルトの名無しさん
09/03/05 19:49:43
demoのpainting>font sampleで一部の日本語OTFフォントが欠けてしまい、
正しく表示されないんだけど、フォントが古いからかな。print previewは正常なんだが。
830:デフォルトの名無しさん
09/03/05 21:49:39
>>828
アドオンはまだましで、もっとやろうとするとそこらはMSがクローズでしか使っては
ならないと言い張っているからね。だから、Qt Creatorを作ろうとしたんじゃないかな。
831:デフォルトの名無しさん
09/03/05 21:54:08
qt createrのソース落としてきたけど、コンパイル方法のドキュメントがどこにあるのか
わからないです。
832:デフォルトの名無しさん
09/03/05 22:09:10
>>831
qmake
make
でおけ
833:デフォルトの名無しさん
09/03/05 22:20:54
qt creator で qtcrator.pro を開いてビルドしてもいけるなw
834:デフォルトの名無しさん
09/03/06 00:31:15
このスレの情報がまとまってるwikiとかないのかな?
色々探してて、sourceforgeになんかあるの見つけた(できたばっかみたいだ)
>Qt Creator 日本語化プロジェクト
>URLリンク(sourceforge.jp)
835:デフォルトの名無しさん
09/03/06 03:08:03
>>828
>>830
ありがとう、expressじゃやっぱ無理なのね
836:デフォルトの名無しさん
09/03/06 08:10:03
>>820
情報がバイナリ(dll)の中に入ってるよ。
837:デフォルトの名無しさん
09/03/06 13:58:00
Vista Basicだがコンボボックスの挙動がおかしい。
リストを開くアニメーションが表示された後、開ききる直前にいったん消えて
再度表示される。非常に見苦しい。みんなそう?
838:デフォルトの名無しさん
09/03/06 22:26:19
>>837
パッと見たときに
Visual Basicに見えて意味が
分からなかった、、、orz
なんかWin版Qt 4.5はディスプレイの設定が
16bitだと色々問題アリらしいけど
関係ないかな?
839:デフォルトの名無しさん
09/03/07 00:26:34
visual c++でqt createrをビルドしたけどヘルプー>インデックスを見ても中身がないよ?
自分で設定するの?
バイナリ版の方が良かったかな。
840:デフォルトの名無しさん
09/03/07 00:35:36
>>827
のqDebug日本語化がうまくいかないんだけど、日本語表示って、
qDebug("日本語\n");
だけでいいんだよね?
--exec-charsetで化けた日本語が微妙に変わるから、
出力時にiconv通ってるのかな。16進で出力して調べるかぁ
841:デフォルトの名無しさん
09/03/07 02:18:36
>>839
バイナリをインストールすると、
c:\qt\qtcreator
の下にbinディレクトリ他が出来上がったので、
アンインストールしてソース他をコピーしたら、
そのままヘルプも読み込めるようになったよ。
842:デフォルトの名無しさん
09/03/07 10:44:26
>>840
qDebug() << QString;
でチェックした。
ソースのコーデックが utf-8 なら
qDebug( QString::fromUtf8("日本語").toLocal8Bit().constData() );
とかでいけないかな。
--exec-charsetはチェックしてなかった。そっちの影響は別途見てみる。
843:842
09/03/07 11:16:15
いろいろ試してみたけど、
qDebug()の()内から出力しようとするとどうも化けるな。
operator<<() でやれば問題ないんだが…。
qDebug() << str;
がうまくいく状態で
qDebug( "%s\n", str.toLocal8Bit().constData() );
がだめって変だな。
後で調べてみる。
844:デフォルトの名無しさん
09/03/07 17:13:59
今更だけどwin版以外もtorrentあったぞ
URLリンク(dist.trolltech.com)
845:デフォルトの名無しさん
09/03/07 20:36:36
>>840
Creator 以前に Windows の qDebug は文字コード関係が怪しいな。
qDebug( utf8string );
なら日本語が表示できる。
qDebug( localcodecstring );
はだめ。
qDebug() << utf8string;
qDebug() << localcodecstring;
は両方だめだった。
どれも exec-charset は指定せず。
今は環境がそろってないので月曜以降にいろいろ調べるが、
とりあえずは()内に utf8 で渡せばOKっぽい。
846:840
09/03/07 20:47:21
>>842-843
ありがと。recievedDebugOutputに、直接char*で文字列を渡すと
日本語で表示されるんだけど、messageを経由させるとオペレータ
使っても化けるので、qDebugから追ってみる
847:デフォルトの名無しさん
09/03/07 22:57:21
Qt4.4.3 gcc4.3.2
DesignerのtemplateでMainWindowを選び画面を作成し、○X.uiで保存
qmake -project qmake make
するとui_○X.hができて、最後の方に
namespace Ui{
class MainWindow: public Ui_MainWindow{};
が宣言されてたので
○X.hで
#include "ui_○X.h
class ○X : Ui::MainWindow{
public:
void on_Button1_clicked();
void on_Button2_clicked();
void on_Button3_clicked();
};
main.cpp
#include <QApplication>
#include "○X.h"
int main(int argc, char* argv[]){
QApplication app(argc, argv);
○X mainWin;
mainWin.show();
return app.exec();
}
で makeするとshowはメンバーにない、とのエラーがでます。
確かに、よく見るとQMainWindowクラスを継承してるようにはないので、当たり前ですが
Designerからメインウィンドウを作るには、どう言う手順でやればよいのでしょうか?
848:デフォルトの名無しさん
09/03/08 04:12:58
>>847
assistant>Qt Designer Manual>Using a Designer .ui File in Your Application
にqmakeとmocを使ったときのソースの書き方が載ってるよ。
>>736とQt whitepaperも参照しよう。sraが4.3の日本語WPを配布してる。
849:デフォルトの名無しさん
09/03/08 04:14:51
>>847
とりあえず、ここ読んで。
URLリンク(qt.linux-life.net)
850:デフォルトの名無しさん
09/03/08 09:48:43
じわじわとQt Creatorの多国語化進んでるな。
QStingやchar*のwatchで、文字コード選べるようにならないかな
851:デフォルトの名無しさん
09/03/08 13:05:15
windowsでmingw版とvisual c++ビルド版でdemo動かしたけど、
やっぱりvisual c++版の方がはやいな。
852:デフォルトの名無しさん
09/03/08 18:25:18
VC:普通
icc:ちょっと速い
gcc Sjlj EH:かなり遅い
gcc Dwarf2 EH:ちょっと遅い
全て最新なら、大体この位の差だと思う。
ところで俺>>840なんだけど、やっとqDebugで日本語出力出来たよ。
全てのlibraryをcharset option無しでbuildして、
qDebug() << QString::fromUtf8(char*)
で出力出来た。この時--input-charsetはソースに合わせて指定出来るけど、
--exec-charset=cp932等とすると化ける。
アドバイスして戴いた皆さんに感謝を。
853:847
09/03/08 22:03:41
>>848 >>849
ありがとうございます
854:デフォルトの名無しさん
09/03/09 06:53:13
QTextEditの内容を文字だけデスクトップ上の任意の場所に字幕のように表示させたいのですが、何かスマートな方法はないでしょうか?
855:デフォルトの名無しさん
09/03/09 07:52:43
vc2008でコンパイルするんだけど-MDを-MTに書き換えて何か問題ある?
856:デフォルトの名無しさん
09/03/09 21:12:39
実行時に
QMetaObject::connectSlotsByName: No matching signal for on_Button1_clicked()
のエラーが出て、解決できません。
チェックすべき箇所を教えてください。
857:デフォルトの名無しさん
09/03/09 21:16:56
>>856
DesignerのフォームにButton1という名前のウィジェットがないのに、
connectをしているからでしょう。
858:856
09/03/09 21:57:05
Designerのシグナル・スロットの編集でclick()-->on_Button1_clicked()を追加し
ており
ui_XX.h内には
QObject::connect(pushButton_1, SIGNAL(clicked()),XX, SLOT(on_Button1_clicked());
が生成されているんですが
859:856
09/03/09 22:36:24
on_Button1_clicked()を、ReadButton_clicked()に変更すると繋がりました。
on_XXXX_clickedはQtが自動で使う構文なんでしょうか?
860:デフォルトの名無しさん
09/03/09 22:46:35
moc_*で確認したらどうだい?
861:デフォルトの名無しさん
09/03/09 22:49:09
>>858
ui*.h生成後にウィジェット名を変えた後にui*hを生成し直していない
のでしょう。
>>859
ui*.hの中のconnectSlotsByName()がメタオブジェクト情報を検索して
connect()を呼出しています。on_はMFCを連想するので嫌いです。
862:デフォルトの名無しさん
09/03/11 19:16:32
visual c++でqt createrをコンパイルして
createrを起動すると小さい黒画面(コマンドプロンプトみたいな奴)
がでてから起動するんですが、この画面でなくする方法知りませんか?
863:デフォルトの名無しさん
09/03/11 20:18:00
>>862
Cygwin X11でktermを起動するようなときにも出ますね。
Windowsでは仕方がないのでは。
864:862
09/03/11 20:46:37
mingwでソースを自分でコンパイルした場合はでないんでしょうか?
sdkはmingwでビルドしてあると思うのだけど、黒画面でません。
865:デフォルトの名無しさん
09/03/12 01:30:36
良く分からんが、ActivePerl についてる exetype.bat 等を使って PE ヘッダの EXETYPE を CONSOLE から WINDOWS に変更したら消えないかな。
バイナリエディタで直書き換えでもいいけど。
866:デフォルトの名無しさん
09/03/12 11:13:37
>>862
どういう手順でビルドした?
qmake
nmake release
で作成してみたけど、出てこない。
VS2005, Qt/4.5.0 commercial だけど。
867:862
09/03/12 17:51:45
qmake
nmake release-debug
だったかな。GPLの方で。
あとdllの作成オプション入れたかも知れないです。
868:デフォルトの名無しさん
09/03/13 11:28:49
qtってdirectx使えるんですか?
マルチプラットフォームだからダメなのかな
869:デフォルトの名無しさん
09/03/13 18:20:19
>>868
Direct X は描画エンジンとして実験中でAPIからは見えません。Direct X を直接使うには、
ウィンドウハンドルを取って使ってます。
870:デフォルトの名無しさん
09/03/13 20:18:15
実験中じゃなく、あれは有料版の特権
871:デフォルトの名無しさん
09/03/13 21:05:03
>> 862
MinGWでビルドしても出るね。
872:デフォルトの名無しさん
09/03/14 00:38:32
>>862
コマンドプロンプトぽいのがでているということなら、コンソール
プログラムになっているのでは?
Visual C++のプロパティのダイアログから
[構造プロパティ] => [リンカ] => サブシステム
の項のところが[コンソール(/SU...)]になってたら、
[Windows(/SU...)]に変更すれば、出なくなると思うけど。
873:872
09/03/15 03:28:52
自分でもソースをダウンロードしてやってみた。
でも qmake -tp vc で作ったslnファイルはなんか壊れてた。
src/app/app.proの最後に
CONFIG -= console
CONFIG += windows
を書き足して
qmake
nmake release
で作ったら、コマンドプロンプトでなくなったよ。
874:デフォルトの名無しさん
09/03/15 09:27:35
862 今からやってみます
875:デフォルトの名無しさん
09/03/15 13:18:31
やってみた、ならともかく
やってみるという報告は不必要だから次からはしなくていいよ
876:872
09/03/15 17:19:11
ごめん、全部ちゃんと見てなかった。
>>866
で、もともと nmake release だと出ないって
書いてあるね。
単純にデバッグコンパイルしたら、出るのかも。
余計なこと書いて、すみません。
877:デフォルトの名無しさん
09/03/17 02:07:29
全部オープンになるというニュースがあったから使えるようになるんでは。
878:デフォルトの名無しさん
09/03/17 16:44:37
>>877は>>868へのレス?
879:デフォルトの名無しさん
09/03/17 16:46:23
全部オープンってのは利用できる機能の問題で商用利用できるって意味じゃないよね?
できればソース下さい
880:デフォルトの名無しさん
09/03/17 17:23:20
URLリンク(slashdot.jp)
881:デフォルトの名無しさん
09/03/17 17:39:43
turbo C++でopen source版のQt4をコンパイルしようとしたが、
configureの時点で警告とかエラーが山ほど出てダメだった
大人しくmingw使ってます
以上レポっす
882:デフォルトの名無しさん
09/03/17 20:38:58
オープンって意味取り違えてるだろ
883:デフォルトの名無しさん
09/03/17 20:44:46
は?
884:デフォルトの名無しさん
09/03/17 21:07:07
>>879
日本語でおk
885:デフォルトの名無しさん
09/03/17 23:47:17
>>879
Wikipedia の LGPL の記述でどうすればよいかがよく分かる。
Qt 4.5 以降のものならば LGPL の下で自分の作ったコードを公開せずに商用利
用はできる。ただし、ダイナミックリンクでなくてはならない。スタティック
の場合の条件は現実的でないから、商用ならダイナミックリンクになる。他には、
LGPL な Qt を使っているのだとライセンス表記する義務があり、Qt のソース
コードを要求されたら手数料程度で配布する義務もある。そして、Qt を使って
自分が作ったものへのリバースエンジニアリングを禁止できない。Qt 自体を変更
したらその変更部分を公開しなくてはならず、その変更のために必要となるもの
が他にあればそれも公開しなくてはならない。
886:デフォルトの名無しさん
09/03/17 23:52:05
>>881
Turbo C++ はサポート対象外。
887:デフォルトの名無しさん
09/03/17 23:57:25
>>886
そうなのか
bccは対応してるようだったのでいけるかなと思ったんだが
turbo C++のコンパイラがbcc32.exeとかいう名前だし、
コアの部分はbccと一緒なんじゃないかと思ったんだが
888:デフォルトの名無しさん
09/03/18 00:18:59
>>885
Qtは例外条項付きのLGPLだからな。為念。
自分で著作者の決めたライセンスを読んで、自分の責任で使用する気が無い
かぎり、他人様の書いたコードは利用すべきじゃない。GPLに限らずBSDL等に
関しても。
889:デフォルトの名無しさん
09/03/18 01:27:05
OSから書いてんのかよ。
890:デフォルトの名無しさん
09/03/18 01:41:51
いいえ、ハードのファームウエアからフルスクラッチです
891:デフォルトの名無しさん
09/03/18 01:44:32
「○○出来無いなら、死ね!」と言われたら >>889 は死んじゃうタイプ
892:デフォルトの名無しさん
09/03/18 01:53:09
ついでにCPUの設計もしたらどうなんだ
893:デフォルトの名無しさん
09/03/18 03:06:08
いいえ、まず材料の鉱物を採掘するためのツルハシの製作からフルスクラッチです