[KDE/Qt]Qtについての ..
[2ch|▼Menu]
571:デフォルトの名無しさん
07/02/22 18:22:45
質問です

マウスのクリックでプロットして図形を作成するものを開発しているのですが、わからないところがあったのでよろしければ回答お願いします。

クリック時にQlistBoxでプロットの回数と、座標を表示するようにしているのですが表示したItemをクリックしたときにプロットした点がわかるようにしたいのです。

点が小さいため、そのものを赤くしたら全然見えなくて拡大または他の方法がありませんでしょうか?
またItemをクリックしたら処理をするようにするには、どのような関数を使えばよいのでしょうか?

お願いします

572:デフォルトの名無しさん
07/02/26 08:55:34
ITRONでQ使えますか?

573:デフォルトの名無しさん
07/02/26 21:05:49
Juceが安くていいな。

574:デフォルトの名無しさん
07/03/02 05:36:50
Qt4.2.2、mingw-gcc 4.3でコンパイルできない・・・

575:デフォルトの名無しさん
07/03/04 16:05:15
>>574
PATHにCygwinのパスが含まれていませんか?


576:デフォルトの名無しさん
07/03/04 17:46:56
cygwin入れてません。けっきょくバイナリでいれました。でも、dllimport関連の警告がやまほど出るなあ・・・


577:デフォルトの名無しさん
07/03/05 11:28:56
Qt使い始めました。
どうして以下のコードは期待している動作をしないのでしょう?

-- counter.h ---
#include <QObject>
class Counter : public QObject
{
Q_OBJECT
private:
int m_value;
public:
Counter() { m_value = 0; }
int value() const { return m_value; }
public slots:
void setValue(int value);
signals:
void valueChanged(int newValue);
};

--- counter.cpp ---
#include "counter.h"
void Counter::setValue(int value)
{
if (value != m_value) {
m_value = value;
emit valueChanged(value);
}
}


578:続き
07/03/05 11:30:02
--- main.cpp ---
#include <iostream>
#include <QObject>

#include "counter.h"

int main(int argc, char *argv[])
{
Counter a, b;
QObject::connect(&a, SIGNAL(valueChange(int)),
&b, SLOT(setValue(int)));
std::cout << "a: " << a.value() << " b: " << b.value() << std::endl;
a.setValue(12);
std::cout << "a: " << a.value() << " b: " << b.value() << std::endl;
b.setValue(48);
std::cout << "a: " << a.value() << " b: " << b.value() << std::endl;
return 0;
}

579:デフォルトの名無しさん
07/03/05 13:13:27
>>577
最初は a b ともに 12、次はaが12、bが48になったけど。
期待通りの動作ではない?


580:デフォルトの名無しさん
07/03/05 19:44:46
う〜ん、もちろんそれが期待通りなんだけどコンパイル、実行しても
なにも表示されないんだよね〜

581:デフォルトの名無しさん
07/03/05 20:03:27
確かwindowsだと標準出力に出なかったような...。
linuxだとちゃんと出るし、windowsでもcygwin上から実行すると出た気がします。


582:デフォルトの名無しさん
07/03/05 20:12:17
確かに当方、mingw版です。cout取られちゃうんですね。了解しますた。

583:デフォルトの名無しさん
07/03/10 06:48:59
>>574 URLリンク(www.trolltech.com)

584:デフォルトの名無しさん
07/03/15 15:01:07
printfやfprintfだとどうなる?

585:デフォルトの名無しさん
07/03/15 15:46:01
qDebug() << "hello, world"
とか、よくやります。


586:デフォルトの名無しさん
07/03/27 21:42:58
URLリンク(qtnode.net)
ここで紹介されている方法でQtをコンパイルして、
そのライブラリを使ったソフトウェアをGPLに基づいて商用利用することって可能なんですよね?

587:デフォルトの名無しさん
07/03/27 22:15:53
GPL的には可能ではないのか?

588:デフォルトの名無しさん
07/03/27 23:20:16
ソース毎コピーされて、ばらまかれても商売が成り立つならいいんでないの。

589:デフォルトの名無しさん
07/03/28 13:40:51
>>587,588
どもです。


590:デフォルトの名無しさん
07/03/28 21:33:11
>586
何をやるか、すごく興味がある
できれば、おしえてくれませんか?

591:デフォルトの名無しさん
07/03/29 16:17:29
>>590
ただ商用ライセンス高いからGPLをソフトを配布するかなと思ってるだけです。

>>577
.proファイルに
CONFIG += console
と追加したらwindowsでも
qDebug()<< "moji";
で出力できるようになりました。


592:デフォルトの名無しさん
07/04/01 19:42:02
Qtのオープンソース版4.2.3をセットアップするところで躓きました…
MinGW5.1.3をインストール済みなんですが、
Qtセットアップ時のMinGWのパスを指定するところで以下の警告が出ます。
--
There is a problem with your MinGW installation:
The installer could not find a valid C:\MinGW\include\w32api.h
(The supported version is 3.2)
Do you still want to continue?(Your installation may not work)
--
最後で予見されてるように、もうconfigureから通りませんでした。

インストール済みのMinGWのw32API.hには、
#define __W32API_VERSION 3.9
と定義されていますが、これはバージョンが新しすぎるということなのですか…?

593:デフォルトの名無しさん
07/04/03 16:14:24
URLリンク(ftp.iasi.roedu.net)
とりあえずこの辺のを落としてmingwをインストールしてもらったらどうでしょうか?
その結果と今の結果を比較してみたら何かわかるかも。


594:デフォルトの名無しさん
07/04/05 06:45:30
fURLリンク(ftp.trolltech.com)

595:デフォルトの名無しさん
07/04/05 09:04:10
シェアウエアは商用に入りますか?
バナナはおやつに入りますか?

596:デフォルトの名無しさん
07/04/05 18:06:18
シェアウエアのライセンスがGPLであることに耐えられるなら、
free版を使えばいい。寧ろシェアウエアの本義に近いな。
GPLなバナナは(ry

597:デフォルトの名無しさん
07/04/05 21:47:08
食べたらどうなるんだwwwwwwwwwwwwwwwww

598:デフォルトの名無しさん
07/04/05 22:32:13
難読化してもセーフ?

599:デフォルトの名無しさん
07/04/06 02:00:52
>>593
とりあえずw32api.hにある定数を以下のように書き換えたら通りました…。
書き換えていいのか分からないですが。
#define __W32API_VERSION 3.2
#define __W32API_MINOR_VERSION 2

600:デフォルトの名無しさん
07/04/08 11:16:26
商用ライセンス高いな。
これで普及してくれるんだろうか?

601:デフォルトの名無しさん
07/04/09 11:57:53
高いですよね。
安くしてください。

602:デフォルトの名無しさん
07/04/12 02:19:04
GPLにしろよ
無料で使えるうえに、フリーソフトウェアに貢献できる。こんな素晴らしいことはない。

603:デフォルトの名無しさん
07/04/12 08:29:16
GPL で公開しなくても良いんだよね?
自分で書いた部分は MIT や BSDL みたいなもっと自由なライセンスで。

604:デフォルトの名無しさん
07/04/12 12:02:49
>>603
ソースそのものはそれでもいいけど、
GPLなQtでコンパイル・リンクして作った実行バイナリはGPLになるよ。
つまり、その場合
・Qtの商用ライセンスを持ってる人は煮るなり焼くなり好きにして。
・それ以外の人にとってはGPL。
ということになるね。

605:デフォルトの名無しさん
07/04/13 17:33:30
自分の作品を発表するかどうかは作者の自由だろう。
できあがった作品が満足できなかったら発表しないのは当然じゃないか?
ライセンスをみると発表する義務があるみたいに書いてあるが
それは憲法で保証された表現の自由を侵害しているのではないか?

606:デフォルトの名無しさん
07/04/13 18:54:47
>605
憲法までもってくるはなしじゃないとおもうけどなw

607:デフォルトの名無しさん
07/04/13 21:34:39
>>605
書いてないし。というか、仲間内で使う分にはソース出す必要なし。
一般公開して、ソース欲しいよ〜ん、って言った人に送る必要がある。

608:デフォルトの名無しさん
07/04/13 21:51:20
GPL そのものじゃなくて、Trolltech の説明の方にそんな風に書かれていた様な気がする
Trolltech の独自解釈なんて気にする必要無いけどね

609:デフォルトの名無しさん
07/04/13 22:05:21
>>604
ソースもGPLだろ常識的に考えて

610:デフォルトの名無しさん
07/04/13 22:18:13
その常識はどこの常識だw

611:デフォルトの名無しさん
07/04/13 22:24:57
補足しておくと、GPL コンパチなライセンスを採用すれば問題無いよ。
GPL より自由な BSDL などのライセンスにすれば、GPL が問題を起こす事は無い。

続きがあるならライセンススレで。

612:605
07/04/13 23:03:03
ライセンスと書いたがこれは記憶違いで正確にはGPLそのものではなく
ホームページのFAQにある説明だった。
(www.sra.co.jp/qt/faq)

しかしこのFAQを認めるともはやGPLとはいえないのじゃないだろうか?


613:デフォルトの名無しさん
07/04/13 23:21:17
>>611
コンパチってのは、GPLがBSDを取り込むことができるって意味だろ。
その逆はねえよ。そんなのが許されるなら、LGPLの意味がねえよ。

614:デフォルトの名無しさん
07/04/14 01:47:29
>>613
逆なんてねえ。話はそっからだ。

615:デフォルトの名無しさん
07/04/14 03:20:53
補足しておくと、BSDL なプログラムから GPL なライブラリをリンクする事は可能。
リンクした時点でバイナリが GPL になる事は >>604 の通り。ソースは BSDL のまま。

これは LGPL の存在理由を損なう物ではない。LGPL は再リンクさえ出来ればソースの
公開義務も無い、全く別種のライセンス体系だ。

616:デフォルトの名無しさん
07/04/14 08:22:32
>>615
> 補足しておくと、BSDL なプログラムから GPL なライブラリをリンクする事は可能。
> リンクした時点でバイナリが GPL になる事は >>604 の通り。ソースは BSDL のまま。

「バイナリがGPL、ソースは BSDL のまま」なんてびっくり仰天。
L(劣等)GPLのライブラリをリンクしても、GPLに基づくソース公開の義務は発生しないけれど、
GPLのライブラリをリンクすれば、プログラム全体にGPLに基づくソース公開が発生するよ。

だいたいさ、「バイナリがGPL」って言う時点でそのバイナリのソースをGPLで公開する
義務が発生わけだし。

>>613の話は、こういうこと。
BSDLのソースをGPLのプログラムに取り込むことはできる。その場合はすべてをGPLで公開する。

GPLのソースをBSDLのプログラムに取り込むことはできない。
ただし、GPLのソースを取り込んだ後のプログラムをすべてGPLで公開するならOK。

617:デフォルトの名無しさん
07/04/14 08:24:55
曖昧だった。
より厳密に修正。
>L(劣等)GPLのライブラリを静的にリンクしても、GPLに基づくソース公開の義務は発生しないけれど、
>GPLのライブラリを静的にリンクすれば、プログラム全体にGPLに基づくソース公開が発生するよ。


618:デフォルトの名無しさん
07/04/14 08:28:58
>>612
FAQの何番のどの文章にそう書いてあるんでしょ?

619:デフォルトの名無しさん
07/04/14 09:45:57
>>616
例えば↓このような状態でソースを配布するのは全く問題無いよ。

Software A contains...
        Source A : GPL
        Source B : BSDL
        Source C : MIT

>バイナリのソースをGPLで公開する義務が発生わけだし。

GPL の規定に基づいて、自作ソース部分は BSDL で公開する事も可能。
もちろん元々 GPL だった部分を BSDL に変えて配布するのは無理だよ。

>GPLのソースをBSDLのプログラムに取り込むことはできない。

取り込むと言うけど、どちらかのライセンスに一本化する必要は無いんだよ。
GPL は流石にそこまでは求めていない。共存出来るからコンパチブルな訳。

ビックリ仰天かもしれないけど、これが真実。

620:デフォルトの名無しさん
07/04/14 09:49:45
補足しておくと、GPL の質問はスレ違い気味なんで、続きがあるなら↓こちらでどうぞ。

【殺しの】ライセンス【道で拾った】
スレリンク(tech板)

621:デフォルトの名無しさん
07/04/14 10:31:31
Qtオープンソース版の取り扱いに関わる問題についてはここで良いでしょう。

少なくともQtオープンソース版を使ったプログラムを配布する場合は、
プログラム全体をGPLかQPLとすることが求められます。


622:デフォルトの名無しさん
07/04/14 10:42:34
GPLと矛盾のないライセンスのコードとGPLのコードを結合することは、結合されたプログラム
がGPLで配布される限り許可されています。

以下、URLリンク(www.gnu.org) からの引用です。
リンク先原文には、質問を表す「Q.」、回答を表す「A.」は付いていませんが下記の引用では
明示的にQ,Aを区別するために付加しました。

-----------------------------------------------------
Q.ライセンスが「GPLと矛盾しない」とはどういう意味ですか?

A.他のライセンスとGNU GPLが矛盾しないという意味です。
あなたは、他のライセンスの下で公開されたコードをGNU GPLの下で公開されたコードと
結合して一つの大きなプログラムにすることができます。
GPLでは、そのような結合著作物がGNU GPLの下で公開される限り、結合を許可しています。
他のライセンスもそれを許可しているならば、そのライセンスは GPLと矛盾しません。

-----------------------------------------------------
Q.GPLが適用されたプログラムを私のコードとリンクして独占的なプログラムを
ビルドしたいと考えているのですが、私のコードとそのプログラムとをリンクすると
私のプログラムにもGPLを適用しなければならなくなるというのは事実でしょうか?

A.その通りです。


623:デフォルトの名無しさん
07/04/14 11:09:38
待て待て、Qtオープンソースを使った自作プログラムの自作部分のソースを
パブリックドメインにするのはOKか?
(日本じゃ厳密にはパブリックドメインは成立しないかもしれんが)

自作部分がパブリックドメインになっていて、その自作部分を別の者が入手するとする。
入手した奴はそれをどんな風に使おうが自由自在だ。それを、Qt商用版でコンパイルすれば、
いきなりプロプライエタリなプログラムの出来上がりだ。
つまり、Qt商用版を1ライセンス持っておけば、あとはオープンソース版を使って複数の人員で
プロプライエタリなソフトを開発できちゃうことになるわけだ。

これがOKだったら、Trolltechはやってられんなあw

624:デフォルトの名無しさん
07/04/14 11:23:10
>>623
確かに、開発ライセンスの縛りは GPL との矛盾が大きいと思う。
先に出ていた FAQ は苦肉の策なんだろうね。

625:デフォルトの名無しさん
07/04/14 11:33:02
>>624
「矛盾」とか「先に出ていたFAQは苦肉の策」とは具体的にはどの文言?

SRAのFAQにGPLと矛盾するようなことは書いてないんじゃない?

626:デフォルトの名無しさん
07/04/14 12:05:12
GPLのソフトウェアを配布する場合に、それに著作者がGPLと矛盾しない条項を追加すること自体は
GPLとは矛盾しないよ。

著作者によって特別に条項が追加されていない素のGPLの場合は、追加の自作部分をBSDLにしようが
パブリックドメインにしようが自由自在だけれど、

URLリンク(www.trolltech.com)

If you wish to use the Qt Open Source Edition, you must contribute all your source code to
the open source community in accordance with the GPL when your application is distributed.

「Qtオープンソース版を使うなら、アプリケーションを配布する際には、
全てのあなたのソースコードをGPLのもとで
オープンソースコミュニティにもたらさなくてはいけません」

という追加条項自体はGPLとは矛盾はしないんじゃない?


627:デフォルトの名無しさん
07/04/14 12:29:31
>>625
「ソースを公開しつつも商用なプログラム」という概念を持っていないからおかしな記述が多い。
GPL を間違って解釈していると思われる部分もある。

A3: ソースコードも無料で公表する必要があり
--> 配布の手数料は取っても良い

A4: 報酬を要求したり(中略)できない
--> 報酬を要求しても良い。
GPL では、既にバイナリを入手している人に対してソースコードを開示する義務があるだけ。

Q7: 商用アプリケーションを開発することはできますか?
A7: 商用ライセンスを購入すればできます
--> GPL でも商用アプリケーションを開発出来ない理由は無い(ソースが公開に制限が無ければ)

A13: 商用ソフトウェアを製造したいのであれば)、Qt の商用版を購入しなければなりません
--> GPL 版の Qt を使用して GPL の規約に則った上で商用ソフトを開発するのは GPL に違反していない。

Q14: 自分のソースコードを公開したくないのです。どうすればいいですか?
A14: Qt の商用版ライセンスを購入しなければなりません。
--> GPL ではバイナリを入手した人にだけソースを公開すれば良い。
ソースを公開しない為に商用版ライセンスを購入する必要は無い(バイナリを配布しなければ良いだけ)。

などなど。

628:デフォルトの名無しさん
07/04/14 12:36:34
>>626
in addtion to じゃなくて in accordance with なんだから、
追加条項とは言えないんじゃない?

629:デフォルトの名無しさん
07/04/14 12:41:40
スマソ。>>628 は間違い。

>>626
"in accordance with the GPL" は自分のソースを GPL にしなければいけない
という意味では無いと思うよ。GPL に「合致」していれば良いんだから BSDL で配布
しても問題無いでしょう。

BSDL で配布しても良いと Trolltech 自身が言っているし。
URLリンク(www.trolltech.com)

630:デフォルトの名無しさん
07/04/14 12:45:45
>>628
(1)「If you wish to use the Qt Open Source Edition, you must contribute all your source code to
the open source community in addition to the GPL when your application is distributed. 」

なら、この文言全体が追加条項として扱われて、

(2)「If you wish to use the Qt Open Source Edition, you must contribute all your source code to
the open source community in accordance with the GPL when your application is distributed.」

なら、この文言全体が追加条項にならない、というわけ?

それはちょっと変な解釈じゃね?
>>628さん、(1)を訳してみてよ。



631:デフォルトの名無しさん
07/04/14 12:48:12
>>630取り消し

632:デフォルトの名無しさん
07/04/14 12:48:12
>>630
スマン。>>629 でも書いたけど >>628 は間違い。

633:デフォルトの名無しさん
07/04/14 12:51:31
わ、なんかごちゃごちゃしてもうた。すまんね。

>>629
>BSDL で配布しても良いと Trolltech 自身が言っているし。
>URLリンク(www.trolltech.com)

こりゃ、議論の余地なしだね。
GPL に「合致」していればの解釈で良いと思う。



634:デフォルトの名無しさん
07/04/14 12:57:35
>>627
俺の目は節穴w

ま、いいや。Qt open source edition は Trolltech からダウンロードしているし
SRAのWEBサイトは見なかったことにしよう。

635:デフォルトの名無しさん
07/04/14 20:03:53
>>623
>Qt商用版でコンパイルすれば、いきなりプロプライエタリなプログラムの出来上がりだ。
出来上がらない!

636:デフォルトの名無しさん
07/04/14 21:27:40
>>635
> 出来上がらない!

どういう理由なのかを書けよ…

637:デフォルトの名無しさん
07/04/15 08:42:01
>>629
曖昧だ。。。蒸し返すようだが、ソースのライセンスはBSDL可ということまでは
理解したけど、バイナリを配布したら実質GPLに基づいてBSDLのソースを
配布せざるをえなくなるというおかしさがまだ理解できない・・・。

638:デフォルトの名無しさん
07/04/15 08:49:34
GPL感染

639:デフォルトの名無しさん
07/04/15 12:23:52
>>637
GPL のソースコードを含むソースコードから作られたプログラムは、GPL のソースコードの
派生作品と看做され GPL の規程が適用されます。

GPL ではプログラムを配布したら、プログラムを受け取った人がソースコードも入手出来る
ようにしなくては行けません。

プログラムを作成した人は、自分の作成した部分のソースコードをどのライセンスで配布
するか GPL にコンパチブルな範囲で選ぶ事が出来ます。

640:デフォルトの名無しさん
07/04/15 12:36:09
GPL が感染するのはリンクをした時点です。ソースコードは当然リンクする前の物なので
基本的には GPL には支配されません。ただし GPL コンパチじゃないライセンスをソース
コードに適用している場合、GPL のソースコードから作成したオブジェクトにリンクする事が
出来なくなるので、バイナリを作成出来なくなってしまいます。それでは困るので、GPL
コンパチブルなライセンスを適用する必要性が発生します。

641:デフォルトの名無しさん
07/04/15 19:48:33
>>637
ソース配布とバイナリ配布を常に同じ人とだけ想定するからそうなる。

作者: BSDLでソース配布

LinuxのディストロとかWindows版ほげほげ配布厨とか:
GPLなQtとリンクしたバイナリを配布、
それに付帯してソースもGPLで配布。

エンドユーザ。

別に作者がBSDLで配布することを妨げるわけではないよ。
以上は作者の選択したライセンスがGPL互換の場合。

作者がGPL非互換ライセンスを選択した場合、ソースをGPLで再配布できないから、
GPLなQtとリンクしたバイナリも配布できない。
つまりその場合は
・バイナリを配布するなら商用Qtとリンクすることが必要
・バイナリを配布せず、リンクした当人が使うだけなら黙ってGPLなQt使ってても可
ということになる。

642:デフォルトの名無しさん
07/04/21 08:32:35
>>627
遅レスすまね。

"commercial license" という名前も微妙に良くないよな。

Qtのオープンソース版でGPLを採用した以上は、それで報酬を得ることが
可能になることぐらいはTrolltechは理解しているはず。
理解していたからこそ、長いあいだFSFから批判されてもQPLに拘っていたんだし。

一般人は「商用ダメ」=「報酬ダメ」って勘違いしてしまうだろうし、SRAもそんな
ふうに思っているのかな?まさかね、ちゃんとした企業なんだし。

643:デフォルトの名無しさん
07/05/04 15:38:54
要するにまとめると、どのQtを使ったソフトでも報酬をもらってよい。
しかしフリーのQtの場合、ソースを公開しなければならない。
商用Qtの場合、ソースは公開しなくてもよい。
ということだな。

644:デフォルトの名無しさん
07/05/04 20:10:31
かつ、配布先からの二次配布もフリー版は止められない。

645:デフォルトの名無しさん
07/05/04 20:38:25
なんか流れを無視するようですが、質問があります。
QDockWidgetを使って、QMainWindowにドックさせるような子ウィンドウを作ったのですが、
QDockWidgetのサイズが変更できず困っています。
指定したサイズにする方法ってありますでしょうか?

646:デフォルトの名無しさん
07/05/05 01:32:22
>>645
QDockWidgetはQWidgetを継承してるから、
QWidgetの関数も使えるよ。
resize()とか。

647:デフォルトの名無しさん
07/05/05 12:13:23
resizeがきかないから困ってるんです

648:デフォルトの名無しさん
07/05/06 22:19:02
日本語入力について質問なんですが、
QLineEditで日本語を入力して、変換時に候補がいくつもあるときは
候補一覧のウィンドウが出るはずなんですが、一瞬出て消えてしまいます。
これはQt本体のバグなんでしょうか。原因が分かる方いましたら教えてください。

なお環境は、PlamoLinux4.0.1と、Qt4.1.4です。

649:デフォルトの名無しさん
07/05/11 13:56:27
なんかもう、完全にGtkに遅れを取っちゃってるね。

650:デフォルトの名無しさん
07/05/11 14:42:48
KDEは使うけど、それ以外Qtってつかわない。。

651:デフォルトの名無しさん
07/05/11 14:54:40
Gnome は使うけどそれ以外Gtkってつかわない。
ってことでGtkに遅れをとってるとも思わないが…
# しいて言えばどっちも遅れ(ry

652:デフォルトの名無しさん
07/05/11 16:24:04
そんなに終わってるか?
C++プログラマなら例外をうまく扱えないgtkmmより使いやすいと思うんだが

653:デフォルトの名無しさん
07/05/11 16:32:38
Embeddedもあるしな。

654:デフォルトの名無しさん
07/05/11 16:32:44
裏を返せばCプログラマ(not C++プログラマ)から使い難いQtってことだが…
# まープログラマなら適材適所でよろ

655:デフォルトの名無しさん
07/05/11 21:07:26
どっちもどっち

656:デフォルトの名無しさん
07/05/11 21:23:51
CもC++も終わってて
QtにしろGTK+にしろスクリプトでガワだけサクサク作っちゃう傾向が高まってる感じがする

657:デフォルトの名無しさん
07/05/12 01:20:16
逆にC++プログラマからすると、Gtkのソースの汚さは目を覆いたくなるほどだ。
なんだあの大量のキャスト用マクロの山は。

658:デフォルトの名無しさん
07/05/12 03:57:51
GTKのソースは最新版のcfrontが出力してゐるんだよ(嘘だけど

659:デフォルトの名無しさん
07/05/12 14:17:16
最近のイイ!と思えるLinux用アプレットはみんなPyGtkで書いてある気がする。
すげー楽なんだよね。そういや、Qt Jambiが出たけどだれも騒いでないね。


>>657
GtkはCでOOPを実現してるから無理があるのは仕方ない。

660:デフォルトの名無しさん
07/05/13 19:44:06
名前付きパイプってQFileで扱えないのかな
読み込み専用でQFile::open()
readyRead待ち
よそから $ echo "hoge" > fifoすると即完了
待ちシグナル来ず。
何故に?

661:デフォルトの名無しさん
07/05/13 20:49:32
アプレット?

662:デフォルトの名無しさん
07/05/14 11:35:18
アプリケーションと言いたいのでは

663:デフォルトの名無しさん
07/05/14 15:12:48
カレンダーみたいなデスクトップ環境に付属している小物アプリの事を
最近はアプレットって言ったりもするのよ
Gnome 方面の方言だと思うけどね

664:デフォルトの名無しさん
07/05/15 14:27:36
小物アプリケーションのことをアプレットって呼ぶのは別に方言じゃないだろ…
アプレットと聞いてJavaアプレットしか思いつかない人は多いだろうけど…

665:デフォルトの名無しさん
07/05/15 21:08:28
方言は言い過ぎたかもしれないけど、Java Applet 以外ではあまり
一般的な用法じゃないよね。Mac だとまたちょっと違った意味合いに
なるし。

666:659
07/05/16 00:59:15
いや、これはおいらの偏見。
アプリケーションはネイティブな言語でかかれてなきゃ認められない。

Java, Python, Perl, Ruby, .NET、巨大なランタイムに頼らないといけないなんて
そんなのは本物のアプリケーションじゃないんだよ。



667:デフォルトの名無しさん
07/05/16 01:17:27
>>666
じゃあGtkも使わないでXに直接描画してろよ・・・

668:デフォルトの名無しさん
07/05/16 01:19:28
X に直接と言うのは違和感があるな。直接描画というなら VRAM に書き込むだろ。

669:デフォルトの名無しさん
07/05/16 02:00:25
気持ちは分かるんだが
cairoやpangoを使ったパワフルなアプリケーションが
さくっと書いたスクリプトで出来てる時代にはそぐわない感覚なのかもな

670:659
07/05/16 02:06:08
え〜、だからQtが好きなんだよ〜
ライブラリは一緒に配布できるじゃまいか。

おまえらこのスレに来てるのに酷いぜ

671:デフォルトの名無しさん
07/05/16 02:40:22
>>666
まぁ気持ちは分かるけど C++ だってランタイムあるじゃん。
普通は OS 組み込みだからサイズの比較は出来ないけど。

672:デフォルトの名無しさん
07/05/16 02:47:19
まあね、でもほら、アップデートなんて滅多にないじゃないか。

Linuxとかで互換性のためにPython-2.4と2.5が共存してるのは見てらんない。
おまえら、Python3000がきたらどうするつもりなのかと。
Rubyもバージョンうpのたびに、結構変わるよなあ。

673:デフォルトの名無しさん
07/05/16 07:02:25
仕様 = 実装 の言語ってそうなりがちだよなあ・・

674:デフォルトの名無しさん
07/05/16 08:23:34
ところで、Qtを使った国産アプリって、どんなのがありますか?



675:デフォルトの名無しさん
07/05/21 16:34:44
Qt3.3.8が出てるね。
Qt4が出てからもう2年にもなるのに、いまだにQt3のメンテが行われてるところを見ると
Qt4はほとんど使われてないのかもしれない。

676:デフォルトの名無しさん
07/05/21 21:35:49
3と4のどっちが小さいですか?libqt3-devかlibqt4-dev入れようとしたら
関連ファイルが多すぎで正直ウンザリぎみなんですが・・・。
小さいほうでちょっと試しに使ってみたいんですけど・・・。

677:デフォルトの名無しさん
07/05/21 21:54:45
>>675
おばちゃんのユーザーに詰め寄られて、Qt3サポートを継続するよう約束させられた、
と聞いたことがあります。

まあ、実際のところどうなんでしょうかねぇ。

作って動かすぶんには、Qt4の方が好みなんですが。個人的には。



678:デフォルトの名無しさん
07/05/22 02:28:19
組込みで大活躍してるね。
おいらはLinuxはリッチな組込み機器でこそ活躍するOSだと思うから
trolltechもいいところに目をつけたもんだ。Linux+Qtopiaで動く
携帯が欲しいよ。myloにビジネス機能つけてだしてくれよソニーさん


679:デフォルトの名無しさん
07/05/22 08:56:28
残念ながら Qtopia はかなりの重量級だよ。Zaurus のスペックでも厳しいくらいだから。

680:デフォルトの名無しさん
07/05/22 21:02:41
678と679の接続具合がよろしくないな、と思う俺

681:デフォルトの名無しさん
07/05/23 16:28:53
両方ともsignal:です

682:デフォルトの名無しさん
07/05/24 23:24:24
>>676
小さいのがいいならQt2.3を使いな。
Qt2とQt3はソースに互換性があるし、Qt2でもたいていのアプリは作れるよ。

683:デフォルトの名無しさん
07/05/25 00:09:01
何で GUI Library って太りたがるのかね。GUI を洗練する方向で
どんどん削ぎ落としていって欲しい物だけど。

684:デフォルトの名無しさん
07/05/25 01:06:06
QtはGUIライブラリというよりも、
クロスプラットフォームなC++ライブラリと言った方がいいかもしれない。
実際C++はCのライブラリとSTLだけでは足りない機能だらけだし、
boostはアルゴリズムや数学関係の機能ばかり充実させて、方向性を見失ってる感じだし。
だからQt4ではGUIとそれ以外のライブラリを分離したんだろう。
ソースの互換性をなくしたのは大失敗だと思うが。

685:デフォルトの名無しさん
07/05/27 08:05:25
Qt3がまだサポートされてるのは、Qt使ったアプリケーションで多分一番大規模な
KDEがまだQt4になってないからだと思う。

686:デフォルトの名無しさん
07/05/28 11:34:39
商用版のQtがここで落とせるんだけど、これいいの?
URLリンク(qt.tttxp.ru)

687:デフォルトの名無しさん
07/05/28 11:38:22
>>686
ライセンスがばれるから使えんぞ。
つかライセンスファイル入ってるのかな、落とさないからしらん。

688:デフォルトの名無しさん
07/05/28 17:11:02
さすがロシア。北欧のものを収奪するのに長けている。

689:デフォルトの名無しさん
07/05/29 00:19:12
凄え。今、誰かが相当に上手い事言った気がする。

690:デフォルトの名無しさん
07/05/29 01:34:22
>686
つかったところで意味あるのか?
GPL版と差ってあるのかな?

691:デフォルトの名無しさん
07/05/29 21:46:17
URLリンク(trolltech.com)
>Be able to gain access to Qt Solutions and
>commercial-only Qt components such as
>commercial database drivers and the
>Visual Studio Integration on Windows.
だってさ。

692:デフォルトの名無しさん
07/06/02 08:14:04
Qt4.3.0が出ているが、OpenSource版、debugライブラリ作れなくない??


693:デフォルトの名無しさん
07/06/05 17:01:43
「Qt GUI プログラミング」という本を読みながら、Qt4.2.3で動かしています。

いきなりはじめのサンプルのコンパイルで、
「setMainWidgetなんてメソッドはない」と怒られてしまったのですが、
setMainWidgetは使わなきゃおkですか?

今後この本を読み進めていくのが不安です…


694:デフォルトの名無しさん
07/06/05 17:09:05
その本はQt3用。
Qt2/3とQt4には互換性がない。

695:デフォルトの名無しさん
07/06/05 17:11:33
あと俺は、エラーを吐かれることを「怒られる」と表現するのが大嫌いだ。
エラーはエラーだ。機械的に文法の間違いを表示してるだけだ。
コンパイラに感情などない。

696:デフォルトの名無しさん
07/06/05 17:31:56
>>693
英語版のQt4版買いなよ。
>>695
「エラーを吐く」なんて生物的な表現はOKなのか。
「warn: 警告する」だからあながち間違いではない。
そんなことを言い出したら俺やあんたも単に脳で電気的・化学的に
行動してるだけだから、感情などないとされてもおかしくない。


697:デフォルトの名無しさん
07/06/05 17:35:54
コンパイルしたら怒られました

698:デフォルトの名無しさん
07/06/05 17:42:21
しかしまあ、どっちかというと「怒られる」よりは
「叱られる」のほうがしっくりくるなあ。
怒るほうは感情込み・理不尽な場合あり、
叱るほうは感情の有無を問わず理性的な指摘
というイメージだから、>>696を肯定したからと言って
あながち>>695のいうことも間違ってないように思う。

699:698
07/06/05 17:43:10
もちろん、そんなことはどうでもいいというツッコミは正論。

700:デフォルトの名無しさん
07/06/05 17:45:00
>>699は話の分かる奴だ、core吐きますた

701:693
07/06/05 17:49:04
みなさん、どうも。

Qt3と互換性がないと言っても、
「こうこうこういう仕組みだから、これはこういう風に読みかえればOK」
という部分を知りたいのですが・・・。

巻末にあるQt4の説明には特に何もかかれていなくて・・・。

>>696
英語版はもうQt4対応しているんですね・・・買い時を誤ったかなぁ。

702:デフォルトの名無しさん
07/06/05 18:28:21
>>701
ぶっちゃけリファレンスとExamplesで問題ない

703:デフォルトの名無しさん
07/06/05 18:30:50
Qt3とQt4の違いは多すぎてとても書ききれん。
URLリンク(doc.trolltech.com)
いちおうドキュメントではこれだけ違いがあることが書かれてる。
英語読めるよな?英語読めないならQt使おうなんて気は起こさない方がいい。

704:デフォルトの名無しさん
07/06/05 18:33:41
Qtなんて本買って読むほどのもんでもないぞ。
唯一の利点はWindows版のQt3が手に入ることか。

705:デフォルトの名無しさん
07/06/05 18:38:18
win版のQt3は>>686で落とせるよ
あとcygwinのプロジェクトの人たちが勝手に移植してるやつもある
バグだらけだけどなw

706:デフォルトの名無しさん
07/06/05 21:56:16
>>701
ちょっと古いけど
URLリンク(torafugu.com)

707:デフォルトの名無しさん
07/06/05 22:35:01
4.3がすでにリリースされています


708:デフォルトの名無しさん
07/06/05 22:54:47
>>707
4.3の新機能で、待ち望んでたのある?

4.2は、個人的にキターって感じだったのですが。



709:701
07/06/06 11:40:08
>>703,706
ありがとうございます!英語はかなり読めます。でものろいです…。

710:デフォルトの名無しさん
07/06/11 02:04:30
お!4.3来た?Betaから移行しよう

711:デフォルトの名無しさん
07/06/11 18:14:07
WindowsXP+MinGW+Qt 4.3.0でQtの練習をしています。

QGraphicsViewを使って、selectすると色が変わる丸い点をたくさん(50000個)表示するのを
目標にしています。

サンプルを見ると、QGraphicsItemを継承したクラスを作って、そこで
paint,shape,boundingRectをオーバーライドすればよいようなのですが、
便利のため用意されているQGraphicsEllipseItemを使うことにしました。
実際には、それを継承したクラス(ScatterPoint)を作成しました。

ところが、「selectすると色が変わる」という部分が実装できません。
作ったクラスは以下の通りです。

class ScatterPoint : public QGraphicsEllipseItem{
public:
ScatterPoint(qreal x, qreal y, qreal width, qreal height, QGraphicsItem * parent)
:QGraphicsEllipseItem(x, y, width, height, parent)
{
setPen(QPen(Qt::black));
setFlag(ItemIsSelectable);
setBrush(Qt::red);
}
};

例えば、さらにpaintをオーバーライドして、isSelected()に応じて色を変えるとか
にすればできそうですが、paintの中で「丸」まで書き直さないとだめになってしまいます。

何かよい案があれば教えていただけないでしょうか・・・。

712:デフォルトの名無しさん
07/06/11 21:44:31
書き直さないとってのがよくわからないんだけど
色を変えたら再描画は当然じゃない?

713:デフォルトの名無しさん
07/06/11 22:10:35
関数の最後にrepaint()入れてみたら?

714:711
07/06/12 10:02:34
>>712,713
ありがとうございました。paintの中にrepaintを入れることでできました!

void ScatterPoint::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *)
{
if( isSelected() ){
QAbstractGraphicsShapeItem::setBrush(QBrush(Qt::black));
} else {
QAbstractGraphicsShapeItem::setBrush(QBrush(Qt::red));
}
QGraphicsEllipseItem::paint(painter, option);
}

でも、select状態になると、boundingRectの枠線も描かれてしまうようで、
やはり細かいことをするにはQGraphicsItemを直接継承したクラスを作った
方がよさそうです。速度はほとんどかわりません。

50000個の円がある程度重なり出すと速度が異様に遅くなります。
これはどうしようもなさそうですね・・・。QGLWidgetを使うのを検討中です。

715:デフォルトの名無しさん
07/06/12 21:17:15
Qt3.3でデータファイルの内容が変化したときに、自動的に画面の内容を更新するプログラムを
書いています。

void QMyWidget::paint(QPaintDevice* device)
{
// timer eventに対するスロットの中でファイルが更新されたかチェックし
// 更新されたならIsFileModifiedをtrueにして、関数update()を呼ぶ

if(IsFileModified)
{              
ReadDataFile(); // ファイルをメモリに読み込む
IsFileModified = false;
}

// 以下、描画コード
}

ところが、上記のやり方でファイルを読むと"Error in opening the file"と
メッセージが出て、3回目でクラッシュしてしまいます。因みにメニューを
選んだ時にファイルが読み込まれるようにして読むと、同じファイルを何回読んでも
エラーは起きません。従ってファイルの読み込み関数(上記のReadDataFile)自体には
問題は無いと思います。
Qtではpaint関数の中でファイルアクセスを行ってはいけないのでしょうか?

716:デフォルトの名無しさん
07/06/12 23:45:42
>>714
repaint()のかわりにupdate()にしたら何か変化ありますか?
URLリンク(doc.trolltech.com)
URLリンク(doc.trolltech.com)

717:デフォルトの名無しさん
07/06/13 08:58:46
>>715
ファイルを変更するプロセスがファイルを開いているときに、
あなたのQtアプリで開こうとしているわけではないですよねえ。

718:715
07/06/13 09:25:20
>>717
FAMを使ってファイルの変更を検出していますが、これだとまだファイルが開かれて
いるときにFAMChangedシグナル(ファイルの変更を通知)が発生する可能性がありますか?

セマフォ等でプロセス間の同期をとってみます。

719:714
07/06/13 10:00:40
>>716
update()にすると、何も表示されなくなってしまいました・・・。
やはり、QGraphicsEllipseItem::paint(painter, option);を呼び出して
円から描画しないとだめみたいです。

あと、QGraphicsItemを直接継承したクラスを作ってやってみましたが結果は同じでした。
円同士がお互いにそんなに重ならない時は描画はやたら速いのですが、
感覚的にほとんど真上に重なるのが100個以上になると、めちゃくちゃ時間かかります。
boundingRectやshapeの計算で時間くってるっぽいですね・・。

720:716
07/06/14 00:18:04
>>719
むむ・・・、そうでしたか。

図形が重なると遅くなる件は、
QGraphicsSceneのItemIndexMethodとか、いろいろいじってみると
何か変わりそうな気がします。


721:デフォルトの名無しさん
07/06/21 15:32:59
Qtopia-Coreで日本語入力をやりたいのですが、
xを積まずに日本語入力は難しいでしょうか。

722:デフォルトの名無しさん
07/06/22 10:53:12
瞬間的に色が変わるアプリって作りずらいよなぁ
20年前のスプライトとか水平型のG-RAM積んだ8ビット機が
簡単にできるようなことを
Qtで再現しようとしたら速度的につらいよん(´・ω・`)

723:デフォルトの名無しさん
07/06/22 15:26:02
Qtに速度要求しちゃだめだよ。OpenGLと組み合わせるなら話は別だけど。
いろんなプラットフォームで動くように、裏でずいぶん冗長なことをしてる。

724:デフォルトの名無しさん
07/06/26 05:00:42
tileqtをXUbuntuでコンパイルしようと思い、Synapticパッケージマネージャーで
libqt3-headers
libqt3-mt
qt3-dev-tools
qt3-qtconfig
を入れたのですが、configureがとおりません。config.logを見ると
/usr/include/qt3/qglobal.h:775:21: error: qconfig.h: No such file or directory
/usr/include/qt3/qglobal.h:785:22: error: qmodules.h: No such file or directory
となっていました。/usr/include/qt3は作られていて、中にはQTのヘッダファイルが
入っているようですが、この二つはありませんでした。/usr/以下を検索してみましたが
これらの名前のファイルは見つかりませんでした。どこからこれらのファイルを
入手すればよいのか教えてください。

725:デフォルトの名無しさん
07/06/26 05:37:28
libqt3-mt-dev に入ってるんじゃね?

726:デフォルトの名無しさん
07/06/26 13:39:10
>>725
できました。ありがとうございました。

727:デフォルトの名無しさん
07/07/02 08:00:54
ターミナルからqtを使ったアプリを起動すると日本語入力のたびに
sending IMComposeのようなログ?が表示されるけれど、これって正常?
makeの際debug関係は無しにしてるのだけど。表示しないようにはできないのかな

728:デフォルトの名無しさん
07/07/02 10:36:11
Qt4のQPainterのdrawTextが遅すぎる
1文字1ミリ秒ぐらいかかる
なんとかならんものか

729:デフォルトの名無しさん
07/07/04 17:52:40
Qt4が出てから2年もたつのに、一向に普及しないな

730:デフォルトの名無しさん
07/07/04 18:46:16
KDE4が遅れに遅れてるからな

731:デフォルトの名無しさん
07/07/04 18:56:23
今年中にKDE4がちゃんとかんせいすればいいのですが

732:デフォルトの名無しさん
07/07/04 20:52:32
X Window+Qt3.3.5を使ってアプリを書いています。ところが完成したQtアプリを
解像度の違うPCでコンパイルするとQt Designerでデザインしたダイアログボックス
コントロールの位置がずれたり互いにオーバーラップしたりします。フォントの
サイズに合わせてコントロールの位置や大きさが変化しないせいではないかと
思うのですが、どうしたら解決できるでしょうか。レイアウトを使う以外に
ないのでしょうか。

733:デフォルトの名無しさん
07/07/04 22:03:45
フォントサイズをピクセルではなくポイントで指定してるせいでは?

734:デフォルトの名無しさん
07/07/09 18:59:40
もうQTはデスクトップからは撤退していいだろ
組み込みや携帯向けの方が売れてるんだからさ

735:デフォルトの名無しさん
07/07/09 21:15:48
>>734
俺が困る

736:デフォルトの名無しさん
07/07/09 21:48:40
>>734
同じく困る。



737:デフォルトの名無しさん
07/07/11 00:20:56
>> 734
組み込みや携帯向けは数分の一。

738:デフォルトの名無しさん
07/07/14 19:51:20
QObjectのparentって、指定したらなんかいいことあるの?

739:デフォルトの名無しさん
07/07/14 19:58:14
親がdeleteされるときにそのオブジェクトもdeleteされる

740:デフォルトの名無しさん
07/07/15 23:41:29
>>739
なるほど。それは便利ですね。

そしたら、クラス内でのみ使うものとかは全部、parentをthisにしときゃいいのか。

741:デフォルトの名無しさん
07/07/16 01:17:14
普通はわざわざparent指定しなくてもいいんじゃないの?
buttonとかlabelとかlayoutに貼り付けた時点で勝手にparent指定されると思う

742:デフォルトの名無しさん
07/07/26 17:51:48
QTextBrowserに画像を表示したいんですが、どうやったらいいんでしょう?

743:デフォルトの名無しさん
07/08/04 21:41:41
Qt5まだー?

744:デフォルトの名無しさん
07/08/11 01:06:04
4.3.1が出ましたね

745:デフォルトの名無しさん
07/08/17 10:47:21
こんなスレがあったのか。
以前、2chとQtをキーワードでググったときは
全然引っ掛からなかったのに今回はいとも簡単に見つかった。

Qt使ってる人間って日本には10人くらいしかいないんじゃないか、と真剣に思ってたりする。
情報の少なさには唖然とするよ。

746:デフォルトの名無しさん
07/08/17 11:26:26
使っている人間全てが情報提供の義務を負うわけじゃないから

747:デフォルトの名無しさん
07/08/17 14:58:57
TrolltechのQtのメーリングリストで日本人らしい名前の人は
ほとんど見かけないです


748:デフォルトの名無しさん
07/08/17 16:33:23
俺もやってるよー
付属のチュートリアルいじってるぐらいだけど

749:デフォルトの名無しさん
07/08/18 14:47:14
>>745
Qtユーザーって日本ではそんなに少数派なの?では日本では何を使ってGUIアプリ
作ってるんだろ。wxWidgetとかFox GUI tool?

750:デフォルトの名無しさん
07/08/18 15:00:11
>>749
GTK+

751:デフォルトの名無しさん
07/08/18 18:09:23
>>750
でもGtkのスレ全然伸びてないし、クロスなGUI環境というより
Linuxのネイティブとして使ってるだけでしょう?

752:デフォルトの名無しさん
07/08/18 18:32:36
>>751
クロス重視をネイティブで作ること自体あまりないよ。
仕事でそういう案件があれば大抵Swingだし、
趣味だと最近はGUIよりWebアプリの方が活発。

753:デフォルトの名無しさん
07/08/18 20:24:52
そもそも、日本人がクロスプラットフォームのアプリを作っている例を知らない。
ライセンスが面倒な Qt よりは wx の方が使われていそうだけど。

754:デフォルトの名無しさん
07/08/19 01:21:39
QtはC++アプリを作るのは非常に楽。

でも、いまはPyGtkを使うのが一番いい。C++たるいお。

755:デフォルトの名無しさん
07/08/19 01:59:32
PyQtもあるがな

756:デフォルトの名無しさん
07/08/19 02:54:48
QtRuby/Korundumすごく楽です

757:デフォルトの名無しさん
07/08/19 12:12:41
ザウルスでRuby/Qteつかって趣味でプログラム書いてる
純粋に楽しいお

758:デフォルトの名無しさん
07/08/22 08:17:38
スレタイ通りの書き込みです。
他の人が組んだQtプログラムを基にして
自分のプログラムに変えていってるんですが
まだその基のプログラムが理解できていません。

「固定の入力/出力ポートを持つノードを作成してそれらをつなげる」
というのが基のプログラムの主旨です。
僕はそれを「入力ポートを任意の数に増やせる」ように変えようとしていて
プロパティーでは入力ポートの数はちゃんと増えているんですが
何故か画面には描画されません。

ソースコードの断片はこちらです(実際には100個以上のファイルがあります):
URLリンク(kansai2channeler.hp.infoseek.co.jp)
4864.zip

いろいろ聞きたいことがあるんですが、まずは初歩的な質問から。
262行目などの

cout << QGraphicsItem::children().at( index ) << endl;

はアドレスが表示されてしまうんですが
この内容を表示するにはどうすればいいんですか?
'*'をどこに付ければいいんでしょうか?
C++の初歩的な質問でしょうけど…すみません。

759:デフォルトの名無しさん
07/08/22 09:44:16
>>758
コードはこれから見てみますけれども、
QGraphicsItemの子供を表示させることで期待している結果は何ですか?
オブジェクト名?



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

4880日前に更新/258 KB
担当:undef