[KDE/Qt]Qtについての ..
[2ch|▼Menu]
471:デフォルトの名無しさん
08/07/19 15:16:00
symbianなんて消えてなくなればいいのに

472:デフォルトの名無しさん
08/07/22 14:57:41
QTで作成したGUI上から、他のアプリケーション(メモ帳、ペイントなど)を
起動する方法ってありますか?
QProcessかな、とも思ったのですが、あれってプロセス間通信を行うためのものですよね。
通信を行う必要もないので、何か違う方法があれば教えてください。

473:デフォルトの名無しさん
08/07/22 20:58:53
QProcess::startDetached() で起動だけできますよ。



474:デフォルトの名無しさん
08/07/22 23:42:13
起動するだけなら、QDesktopServices::openUrl でいいんじゃね?

475:デフォルトの名無しさん
08/07/23 10:36:04
>>473-474
回答ありがとうございます。
QProcess::startDetached()で出来ました。
QUrlについても調べてみたのですが、どうもよく分からなかったので、
QProcessでやってみます。
ありがとうございました。



476:デフォルトの名無しさん
08/07/24 00:33:53
せっかくのQtなのにOSに依存するプロセスの起動はもったいないなぁ…。

477:デフォルトの名無しさん
08/07/24 01:35:35
開発のしやすさだけをとってもQtを生かしてると思うけどね

478:デフォルトの名無しさん
08/07/24 19:30:10
QtでOpenGLを使いたいと思ってるんですが、
QGLWidgetを使えばいいんですか?

GraphicsViewの方にもOpenGLっぽいことが書かれてたんで
こちらに置き換わったのかなとも思ったんですけど


479:デフォルトの名無しさん
08/07/24 20:55:29
>>478
QGLWidgetで良いと思います。


480:デフォルトの名無しさん
08/07/25 00:52:02
>>478
GraphicsViewでレンダリングにOpenGLを使うということです。
OpenGLの描画性能がよいグラフィックカードだと速くなります。

481:デフォルトの名無しさん
08/07/25 02:49:39
補足説明みたいなもんだな

482:デフォルトの名無しさん
08/07/25 07:27:29
>>479-481
回答ありがとうございます。

GraphicsViewでのOpenGLとはレンダラーとしての利用ということだったんですね。
designerにQGLがなかったので置き換わったものなのかと思っていました。

QGLWidgetを利用する場合は
designerで配置できないようなので、Frameを配置して、
mainWindowのコンストラクタでsetupUi()を呼んだ後に
自分でFrameを親としてQGLWidgetを生成するといった流れになるんでしょうか?

はじめはdesignerでwidgetを配置して、
newしたQGLのポインタをwidgetのポインタに代入したりしていたのですが、
これだとdesignerで設定した配置等をsetupUi()で反映できないので、
designerを使う意味がないように感じたもので。

483:デフォルトの名無しさん
08/07/25 08:39:51
>>482
カスタムウィジェットを配置する方法と同じで、自分の作ろうと
しているものを配置できませんでしたっけ?

クラス名を手打ちする、とかで、ちょっと手作業が増えて
面倒だった記憶がありますけど。


484:デフォルトの名無しさん
08/07/25 09:58:00
>>483
いろいろと試してみたのですが、designerの右クリック、格上げから、
QGLWidgetを継承した自作クラスのクラス名を指定することで、
使用できることを確認しました。

いまいち右クリックからの格上げの意味が分かっていなかったのですが、
こういう使い方をするものなんですね
ありがとうございました。

485:デフォルトの名無しさん
08/07/25 22:27:42
QTextEditのRichTextモードでhtmlの書式を全部サポートしてるわけじゃないんだね。
文字列の色を変える事は出来るけど、文字列のバックグランドカラーは変更出来ないんだね。

<span style="background-color:#ff0000">TEST</span>

は無視されるね。

486:デフォルトの名無しさん
08/07/26 15:14:52
>>483
<span style="color:#ff0000; background-color:#00ff00;"> で、
文字色とバックグラウンドカラーが変更できましたよ。

487:デフォルトの名無しさん
08/07/30 21:32:15
QtとGtkってどっちが描画速度早い?

488:デフォルトの名無しさん
08/07/31 02:07:39
アセンブラのが早い

489:デフォルトの名無しさん
08/07/31 02:12:31
意味不明

490:デフォルトの名無しさん
08/07/31 02:27:14
俺のほうが早い
俺より早いやつはこの地球に存在しない

491:デフォルトの名無しさん
08/07/31 03:33:56
クーガー最速に決まってるだろjk

492:デフォルトの名無しさん
08/07/31 23:18:19
>>491
(そこは「早漏乙w」ってツッコミだろ!)

493:デフォルトの名無しさん
08/08/04 15:57:03
QLabelの上にQPainterのdrawLineで線を描画したいのですが
線がQLabelの後ろに描画され隠れてしまいます。

最前面に表示するプロパティが見当たらないのですが
どなたか良い方法をご教示願えませんでしょうか。


494:デフォルトの名無しさん
08/08/04 15:59:45
もうQt4が出て3年ですが、
そろそろQt5が出てもいいころじゃないですか?

495:デフォルトの名無しさん
08/08/05 14:39:31
なんで定期的にこういうの沸くんだろ

496:デフォルトの名無しさん
08/08/05 16:09:01
>>494
もうはまだなり
まだはもうなり

497:デフォルトの名無しさん
08/08/07 00:01:15
>>493
状況がよくわからないけど、
QLabelを継承してpaintEventで描画しているってことかな。

QWidgetを継承してdrawTextとdrawLine使った方がいいんじゃない。
下線や削除線でいいなら、<u>, <s> タグを使うってのもあるけど。


498:デフォルトの名無しさん
08/08/07 12:03:04
Windowsにおいて、Qtで作ったアプリケーションからHTMLヘルプを呼ぼうと思い、
QProcessのstartDetachedを使って、
_process.startDetached("○○○.chm")
のようにしているのですが、上手くいきません。

HTMLヘルプファイルを呼ぶ方法、どなたかご存知でないでしょうか

499:デフォルトの名無しさん
08/08/07 21:38:55
上手くいくわけないじゃん、○○○.chm が実行ファイルじゃないんだから。
Windowsの関連付け知らないのか、コンパイル済みって名前で勘違いしたのか
わからんけど。

実際にヘルプファイルを表示しているのはhh.exeというプログラムだから
hh.exe を実行して○○○.chmはコマンド引数として渡してやれば
動くと思うよ。


500:498
08/08/08 10:43:48
>>499
確かにそうでした・・・お恥ずかしい。
ありがとうございました。

501:デフォルトの名無しさん
08/08/09 11:31:24
.NETのProcess.Start()は関連付けを自動解決して開いてくれるから
それに引きずられたのかも?

502:デフォルトの名無しさん
08/08/10 05:11:21
Process.Start()はコマンドプロンプトのstartコマンドから
きてるんじゃない。
start使えれば関連付けで開けると思うけど、実行ファイルが
見つからないや。内部コマンドなのかな。

503:デフォルトの名無しさん
08/09/04 08:07:06
qt3のwindows版ってもう入手できないんですか?
どこにありますか?

504:デフォルトの名無しさん
08/09/05 00:05:04
Qt3のWindows版て、実際上Commercialしかないわけで
trolltechのサイト見ると、「salesに連絡してね」、とあるな。

505:デフォルトの名無しさん
08/09/05 02:10:19
>>503
URLリンク(sourceforge.net)

506:デフォルトの名無しさん
08/09/05 03:43:19
一応Qt3->Qt4へ移植するためのツール
用意されてなかったっけ

507:デフォルトの名無しさん
08/09/06 12:58:14
>>504-506
ありがとうございます
おかげさまで勘違いに気づけました

508:デフォルトの名無しさん
08/09/09 17:04:17
LINUXへのQt(4.4.0)のインストール時、INSTALLファイルの記述に従って
.configureを実行→gmakeを実行
とやっているのですが、gmakeの時点で以下のようなエラーが出てしまいます。

/usr/X11R6/lib64/libGL.a:could not read symbols: 不正な値です

/usr/X11R6/lib64/libGL.aが無いのかと思いきや、存在しており、読み込み権も付いていました。
コンパイラはgcc 3.4.6です。

どなたか原因が分かる方おりませんでしょうか?

509:デフォルトの名無しさん
08/09/10 03:00:26
>>508
UNIXって具体的には?

510:デフォルトの名無しさん
08/09/10 03:02:05
>>509
あ、ごめんLinuxって書いてたのね。
読み間違いしてた。

64bitかー。うちはCentOS5で問題なかったと思うけど・・・
あとでビルドして確認してみようかな。

511:デフォルトの名無しさん
08/09/12 00:44:47
.configure

512:デフォルトの名無しさん
08/09/14 13:36:25
Qtに興味を持ってデモプログラムを落としてみたところなんですが、
Windows Vistaのピカピカしたメニューバーと、平坦な色遣いのツールバーが
なんだかミスマッチです。
移植性を損なわずに、Vistaでの見た目を改善することは可能ですか?

513:デフォルトの名無しさん
08/09/14 14:21:26
試しに
QApplication::setStyle(new QWindowsVistaStyle);
を追加してコンパイルしてみてはどうでしょうか。

移植性を考慮するなら、
#ifdef Q_WS_WIN
if (/*Vistaで動作中なら*/) {
QApplication::setStyle(new QWindowsVistaStyle);
}
#endif
などと実装するといいと思います。

ちなみに、↓ですが
QApplication::setStyle(new QWindowsVistaStyle);
Macの環境ではコンパイルは通りますが、リンク時にエラーが出ました。


514:デフォルトの名無しさん
08/09/14 16:34:59
>>513
引数でスタイルの設定、できませんでしたっけ?


515:512
08/09/14 19:48:34
>>513-514
ありがとうございます。調べてみたところQWindowsVistaStyleはすでに適用されていて、
そのスタイル自体の配色(ツールバーの色)に違和感があったようです。
まあ、VistaではOS付属のワードパッド等も同様にダサいデザインになっていますので、
それこそがVistaスタイルなのだと言われればそうなのかもしれません。

で、さらに探してQtDotNetというものがあることに気づき、それを入れてみたところ、
Vista風ではありませんが(Office2003風)一応納得のいく見た目になりました。
最初に思ったよりもかなり融通の利く設計になっているようですね。

516:デフォルトの名無しさん
08/09/16 19:39:07
HPにQTをインストールしているのですが、.configureの後にgmakeを行うと、
src/corelibのコンパイルの所で

cc: error 1400: Option t usage: -t c,name where c may be 1 or more of pc0al.

というエラーが出てコンパイルが止まってしまいます。
Makefileを確認してみると、以下のように、
CCで-mtのオプションを付けてコンパイルをしようとしているのが原因のようでした。

CC = cc
CFLAGS = -Ae +DAportable -w +O1 -D_POSIX_C_SOURCE=199506L -D_HPUX_SOURCE -mt +Z $(DEFINES)

.obj/release-shared/q_ldcw.o: arch/parisc/q_ldcw.s
$(CC) -c $(CFLAGS) $(INCPATH) -o .obj/release-shared/q_ldcw.o arch/parisc/q_ldcw.s

これについて、解決策をご存知の方は居られませんでしょうか。

517:デフォルトの名無しさん
08/09/17 09:27:24
土台となる親wigdetがresizeされても
それが持つ、QHBoxLayoutでくくった子wigdetが横方向へは伸び縮みしない
(Layoutが働いて均等に配置されるのみ)

この場合で、子wigdetをできうる限り最大化させたい場合、
resizeEventに直接書き込むしかないんですか?

518:デフォルトの名無しさん
08/09/17 09:36:09
>>516
mkspecsの中にある、適切なディレクトリのqmake.conf を
書き換えてみてはどうでしょうか?


519:デフォルトの名無しさん
08/09/17 09:37:23
>>517
なんかプロパティがあった気がします。
(すみません、あやふやです。)


520:デフォルトの名無しさん
08/09/20 05:38:44
qt designer の オープンソース windows版ってないの?


521:デフォルトの名無しさん
08/09/20 14:07:35
>>520
オープンソース(Windows)版のQtをビルドすると、binフォルダ内に
designer.exeというファイル名で作成されてますよ。

522:520
08/09/21 06:18:27
>>521
ありがとう
フレームワーク何にしようか迷ってたんだけど
qtで決まりだね。

523:520
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



次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4882日前に更新/247 KB
担当:undef