[KDE/Qt]Qtについての疑問を教えあうスレ 2
乙
>>1 おつ
なんか、レスがある程度進んだ状態で一定期間カキコのないスレは、
積極的にdat落ちにしていく方針らしいね。
6 :
デフォルトの名無しさん :2005/10/26(水) 17:54:00
すまん、おいらは
>>1 に書いてあるヘッダーの作成方法を質問した厨房だが、
このスレをとっても有意義な質問スレにする為に、定期メンテナンスする必要が・・。
ってか、Qt4を使っている人口がそもそも少ない悪寒がする。
しかもQt参考書は英語の本は大量に出ているのに、日本語のQt本は数えるくらい。
そしてQt4の本は英語版でも一冊しか・・。しかもまだ発売されていない様子。
前途多難だぜー。
Qt4がんがれー。
Qtは悪くは無いが プログラム自体めんどくさくなってきた
質問スレと言ってしてしまう姿勢は如何かと
9 :
デフォルトの名無しさん :2005/10/26(水) 18:06:29
すまん、誰かQT4でmakeにてコンパイル可能なプログラムで、 生成したウィンドウに線を一本引くプログラムを作成してUPしてくれ。 こんな所で詰まっているオイラってorz
QHttpやQFtpなどのネットワークモジュールを扱う際 qmake -project で吐くプロジェクトファイル(hoge.pro)にその旨を記述してくれない なので、自分で QT += network と追記する必要がある 新スレ立ったし、以前引っかかったとこメモ
>>9 // draw.h
#include <QtGui>
class Draw : public QWidget
{
Q_OBJECT
public:
Draw(QWidget *parent = 0);
protected:
void paintEvent(QPaintEvent *event);
};
// draw.cpp #include <QtGui> #include "draw.h" Draw::Draw(QWidget *parent) : QWidget(parent) { } void Draw::paintEvent(QPaintEvent *event) { QPainter painter(this); painter.drawLine(10, 10, 100, 100); update(); }
// main.cpp #include <QtGui> #include "draw.h" int main(int argc, char *argv[]) { QApplication app(argc, argv); Draw draw; draw.show(); return app.exec(); }
↑のdraw.h, draw.cpp, main.cpp をセーブして、 qmake -project qmake make で、実行ファイルができるはずです。 # 書き込み制限って、結構シビアですね
int Q
Http::request (const QHttpRequestHeader &header, QIODevice *data = 0, QIODevice *to = 0)
の QIODevice *data は具体的にどんなデータを渡せばいいのか教えてください
Referenceに書かれてるの見ても1行であっさり済まされてて、いまいちよくわからんです
QIODevice *to は(ファイルをダウンロードしたとして)ファイルの内容を格納するバッファですよね?
QHttp requestとかで検索してみたところ、 ** 推測ですが ** フォームのPOSTなどで送信するデータを得るためのQIODeviceだと思います。 受信したデータを得る場合、 通常はreadyRead()シグナルを利用すればいいと思います。
18 :
15 :2005/10/27(木) 06:23:22
19 :
デフォルトの名無しさん :2005/10/27(木) 09:13:30
>>11-
>>14 有難う御座います!
draw.cppの10行目で警告は出ましたが、コンパイルは上手く行きいました。
実行も無事できました!
参考にしたいと思います!
20 :
デフォルトの名無しさん :2005/11/05(土) 15:47:39
>>12 update() は要らないですよ。
ここに入れると無限ループで paintEvent() が呼ばれてしまいます。
21 :
デフォルトの名無しさん :2005/11/05(土) 19:09:17
Qt が c から呼べたら、シェアが 一桁ちがってただろうな。
>>20 前すれと同じミスをしてしまいました orz...
ご指摘ありがとうございます!
まちがった音の使い方と言うのはありえない。 エモーショナル!エモーショナルでさえあれば全てが正当化される。 というのは、フリージャズの先駆的トランペッター、ブッカー・リトルの言葉である。 しかし、それはクラッシックも貪欲に学び、音楽理論に精通し、まるで作曲したかのようなインプロバイズを行える彼だからこそ言える言葉である。 『音の使い方』を『コーディング』と言い変えることも可能だろう。 そしてそれを言う奴はアフォいうかプワァーーいうかアフォである。 私たち凡人は少しづつでも成長していかなければならない。
25 :
デフォルトの名無しさん :2005/11/11(金) 21:13:41
>>2 のVisualStudio用パッチのページ(ロシア語)の、opensourceの部分だけ日本語に訳してみた。
Qt-4.0.0-opensource for Windows
商用のコンパイラ(BorlandやVisualStudio)ではオープンソース版Qt4はコンパイルできません。MinGWでのみコンパイルできます。
以下は商用コンパイラで動くようにできるインストール方法です。
1. qtopen2nmake.zipを適当な場所に展開します。
2. qt-opensourceを適当な場所(ここではC:\Qt\4.0.0)に展開します。
3. qmake.exeが実行できるように、環境変数 PATH に C:\Qt\4.0.0\bin を追加します。
4. 環境変数 QTDIR=C:\Qt\4.0.0 を設定します。
5. パッチフォルダからqmake.exeをbinにコピーします。
6. mkspecsフォルダに、使いたいコンパイラのフォルダ(VS.net2003ならwin32-msvc.net)をコピーします。
7. 環境変数 QMAKESPEC に使いたいコンパイラを指定します。(VS.net2003ならQMAKESPEC=win32-msvc.net)
8. (訳不明...)
9. Qtを展開した場所へ移動します
10. configureを実行(オプションは適宜指定すること)。
configure.exe -platform win32-g++ -release -shared
11. 隠しファイル .qmake.cache のQMAKESPEC=.win32-g++の行を QMAKESPEC=(7.で指定したコンパイラ)に書き換えます。
12. qmake.exeを実行
13. nmake.exeを実行
28 :
デフォルトの名無しさん :2005/11/13(日) 09:50:06
ケータイの仕事してて QTOPIA と Symbian 両方経験したヤシいる?
>>2 前スレまだあるぞ?
スレッド一覧からなくなっただけで消えたと勘違いしたんじゃなかろうな
>>29 おろ…
Janeでいくらスレ更新してもエラー吐いてたから消えたと思ってた
って、ググって開いてみたけど
やっぱ過去ログ倉庫に格納されてますってあるよ?
ってか、一覧から消えても残ってるってことあるの?板移動したとか除いて
32 :
デフォルトの名無しさん :2005/11/14(月) 14:25:52
しつこいなあ。 前スレあるって主張している香具師、試しにその前スレをageてみな。
34 :
33 :2005/11/14(月) 15:29:03
勘違いしてました ごめんなさい。
質問です QLineEdit::keyPressEvent で Qt::Key_Escape だけを検出したいのですが 何かいい方法はないでしょうか Escの押下を検出してQLineEdit内のテキストを削除し 別のWidgetへシグナルを送る、ということをやろうとしています
つーか普通に980超えたから落ちただけやん
37 :
35 :2005/11/15(火) 09:33:31
ラップしました(´・ω・)
qmake -project をしたあとに qmake をやったら QMAKESPEC has not been set, so configuration cannot be deduced. というエラーメッセージが出て、makefileができません。 助けて下さい。
Windowsでしたら、 set QMAKESPEC=win32-g++ などどして、QMAKESPECを設定します。
原因は大体予想できるな 以上、独り言でした
qmakeの.proファイルに HEADERS = ... を書き忘れて、小一時間悩んだ orz... リンク時にvtableが見つからないと言われても、 すぐにはわからなかった。
4.1.0-RC1が出てます
このバージョンアップはバグフィックスなのかな? どっか情報出てない?
RCが取れるのはいつごろなんだろう。 PDF出力できそうなのが嬉しいかも。
46 :
デフォルトの名無しさん :2005/11/23(水) 19:30:00
SUSEとかはQt4に移行したみたいだね。 KDEとかも大変だろうな
>>46 移行はしていません。
ただ SUSEだと4,0.1-7のライブラリー、ツールが用意されていて、
簡単にインストールできまつ。
48 :
デフォルトの名無しさん :2005/11/24(木) 01:27:15
49 :
デフォルトの名無しさん :2005/11/24(木) 08:10:23
50 :
デフォルトの名無しさん :2005/11/24(木) 12:02:33
Qtに限らないけどオープンソース系のプロジェクトってすぐにフレームワークの記法を 変えるからついていけない。 本かってもサンプルがコンパイルできないなんてザラだし。
>>50 > Qtに限らないけどオープンソース系のプロジェクトってすぐにフレームワークの記法を
> 変えるからついていけない。
> 本かってもサンプルがコンパイルできないなんてザラだし。
オープンソース系の開発環境だけが「変わってついていけない」わけじゃないと思う。
VC++の環境だと、かなり昔のソースを持ってきても、比較的すんなりコンパイルできるけど
それってむしろ例外なんじゃない?
Qtは4でずいぶん変わったね。でも2〜3はそれほどでもなかったよ。
もしかしてQMainWindowとQGLWidgetって共存できない? QWidgetをメインウィンドウとしてQGLWidgetを載せたらちゃんとGLが表示されるけど QMainWidgetをメインウィンドウとしてQGLWidget載せると 他のWidgetもろとも消えちゃうんだけど… メニューつきの窓にGLを表示したいんだけどどうしたらいいんでしょ?
GLUTの不自由さ、Cベースなのが嫌なので捨てた口ですが(ラッパー除く) 釣りですよね?
55 :
デフォルトの名無しさん :2005/11/27(日) 18:48:44
>>52 QMainWindowの中に入れて動いています。
QMainWindowならsetCentralWidgetではないの?
QFtpクラスがよくわからん 複数ファイルをアプリのメインウィンドウへドラッグ&ドロップしたら ファイルを1つずつFTPサーバーへアップロードするサンプルプログラム書いて。 アップロード中断時の処理もちゃんとかいてね。
VIPPERカエレ
VIPPERというかガキだ罠
Trolltechが本社を移転するためか、 MLアーカイブの更新が遅い orz...
63 :
デフォルトの名無しさん :2005/12/02(金) 10:41:25
WindowsのQt3.3.4をダウンロードしたいのですが 探しても見当たりません・・・。 どこで手に入れられますか?
64 :
デフォルトの名無しさん :2005/12/02(金) 15:12:41
65 :
デフォルトの名無しさん :2005/12/02(金) 15:18:00
66 :
63 :2005/12/03(土) 18:30:00
Windows版のフリーのQt3はトロルテックが正式に出したものじゃなく、 Cygwinのメンバーが勝手に作ってるだけだからあまり信用しない方がいいよ。 日本語入力まわりとか結構おかしい。 Qt4を使うか、古くていいならQt2.3がフリー。
68 :
デフォルトの名無しさん :2005/12/04(日) 05:01:47
69 :
デフォルトの名無しさん :2005/12/04(日) 05:26:21
Qtの仕事ってあるのな?
Qt4 には多くの可能性を秘めている。
C++自体の仕事が減ってるから、難しいかもよ。 組み込みとかならあるかもしれない。
73 :
デフォルトの名無しさん :2005/12/08(木) 00:11:28
Linux環境でQtをコンパイルする時Intelコンパイラーでコンパイル したいのですがqmakeとかどのあたりをいじればいいのでしょうか?
74 :
デフォルトの名無しさん :2005/12/08(木) 08:21:39
QMAKESPECをlinux-iccにすればよいのでは?
すみませんQMAKESPECはどこにあるのでしょうか?
76 :
デフォルトの名無しさん :2005/12/08(木) 20:42:04
QMAKESPECは環境変数です。 export=linux-icc
77 :
デフォルトの名無しさん :2005/12/08(木) 21:49:49
export QMAKESPEC=linux-icc
78 :
デフォルトの名無しさん :2005/12/10(土) 13:34:54
>>70 PhotoShop Album、PhotoShop Elements、Google Earth、Skype (Linux)、
Qtで作られた身近なものが出て来ている。
Photoshop ElementsがQTなのか?あのへんは全部ADAMじゃないのかよ。 最近は違うのか?
Google Earthもそうだったのか 確かOperaもQtだよね? けど、果たしてどのぐらいの割合でQtが使われてるんだろ Qtバリバリだとさすがにちょい重くなるし
elementsは多分違う
OperaがQtなのは犬糞版だけ。
83 :
デフォルトの名無しさん :2005/12/10(土) 20:20:02
Photoshop Albumだろ。Elementsは違う。
gcc4でQt4コンパイルした奴いる?
86 :
デフォルトの名無しさん :2005/12/11(日) 08:39:20
MinGWでPrecompiled Header使っている人いますか?
Winで現在の解像度を取得する関数はないんですか?
90 :
デフォルトの名無しさん :2005/12/12(月) 21:03:18
スクリーンの大きさならあるよ。
おぉ、キーワードはdesktopだったのか…
>>90 ,91dクス
それはそうとQt4.1まだかいな
RC1じゃダメですか。 自分は全然使い込んでないですが
Qt の Widget に DirectX を埋め込む方法を解説しているサイトを探しています。 (求めているのは "DirectXを埋め込む" のではなく、"埋め込む方法"です) 参考になるサイトがあれば教えてください。
qpushbuttonとまったく同じ機能で、 新たにプロパティとしてint の数字を追加で持たせたいです。 簡単なやり方教えてください。Designerからも使いたいです。 Qt3.3.4です。
97 :
デフォルトの名無しさん :2005/12/16(金) 17:29:32
Designer PlugInにすればできますよ。
>>97 ありがとう。Qt GUI プログラミングのP.118あたりをずっと読んでるんだけど、
頭が付いて行かない。
そんなに手間が掛からないようなものでしたら、qpushbuttonに何かプロパティ
1個追加したカスタムwidget作って見せてください。
自分じゃどうにも思うように出来なくて行き詰まってしまってるんです。
ttp://49uper.com/up-s/index.php
99 :
デフォルトの名無しさん :2005/12/17(土) 14:20:13
100 :
98 :2005/12/17(土) 16:23:44
>>99 ちょと反応が遅れてしまってすみません。改めまして
キタ━(゚∀゚)━(∀゚ )━(゚ )━( )━( )━( ゚)━( ゚∀)━(゚∀゚)━ !!
ありがとうございます。いだだきました。
頑張ります。実際の使用例はもちろん、pluginの中をビルドしたらちゃんと
desiner の方でもid のプロパティが追加されたボタンが作れる様になりました。
これを手がかりに、また試行錯誤をしてみます。
101 :
デフォルトの名無しさん :2005/12/18(日) 11:32:38
Qtを仕事で使いたいけどあのライセンス料はどうにかならないかな〜
102 :
デフォルトの名無しさん :2005/12/19(月) 03:20:54
いくらなの? VisualStudioで使ってみたいけどホームページには 買いたいメールくれみたいなことしか書いてないし。 1万以下なら考えるけどなw
103 :
デフォルトの名無しさん :2005/12/19(月) 04:07:40
104 :
デフォルトの名無しさん :2005/12/19(月) 04:25:18
>>103 安くても20万かよ
どうみても遊びで試せる額じゃねーな。
105 :
デフォルトの名無しさん :2005/12/19(月) 07:28:48
>>104 仕事じゃなくて遊びで試すなら無償のGPL版か評価版で良いではない?
というか、GPLにさえすればGPL版で仕事をやってもかまわんのだし。
106 :
デフォルトの名無しさん :2005/12/20(火) 00:45:49
Trolltech Japan が来年 6 月にできるそうだ。
107 :
デフォルトの名無しさん :2005/12/20(火) 16:16:52
まじで? 業務内容はどんなの? 事務窓口だけじゃないなら、プログラマでやとってもらえるかな?
なーんでおめーを雇うんだよ。
客を雇う馬鹿はいない。
4.1リリース!
今ガリガリとconfigure中 なにやらmovieっていうサンプルがあるようでwktk
113 :
デフォルトの名無しさん :2005/12/21(水) 19:44:55
114 :
デフォルトの名無しさん :2005/12/21(水) 20:29:20
>>101 商用版を何年か仕事に使っていて充分元が取れている。
MFCや.NETより楽でストレスがない。
115 :
デフォルトの名無しさん :2005/12/28(水) 12:08:24
116 :
デフォルトの名無しさん :2005/12/28(水) 13:34:51
個人購入?
117 :
デフォルトの名無しさん :2005/12/29(木) 11:01:00
Win OpenSouce版で間違ってStartメニューからデバッグライブラリ構築選んだら Pen4で1時間コンパイルしたあげくエラーはいて中止しやがった。 なんじゃこの糞システム
Souce...
119 :
デフォルトの名無しさん :2005/12/30(金) 18:38:54
Windows...
なんじゃこの...
>117 こちらの環境では普通にいけましたよ
122 :
デフォルトの名無しさん :2005/12/31(土) 19:08:25
>>118-122 おまいら突込みどころが違う
>間違ってStartメニューからデバッグライブラリ構築選んだら
>>123 > おまいら突込みどころが違う
>
> >間違ってStartメニューからデバッグライブラリ構築選んだら
え?そお?
うっかりやってしまわない?
>>124 止め方知らないとも読み取れるな
ちなみにCommand Promptはショートカットキー割り当てるから
うっかり選ぶってこともないな
時間はかかりますが、ソースからフルビルドがお勧め。
128get
>>127 なんとなく orz...
ところで、Qt Assistantでフォントが変更できなくて不便している人いますか?
130 :
デフォルトの名無しさん :2006/01/10(火) 18:11:32
>>2 ruのサイトに4.1.0のパッチ発見
コンパイル中
完了 qmakeもソースから作るので、こっちの方が安心
4.1.0のパッチはトロルテックが正式に出したものじゃなく、 ruのサイトが勝手に作ってるだけだからあまり信用しない方がいいよ。
133 :
デフォルトの名無しさん :2006/01/12(木) 02:52:42
どうみてもruは違法サイトだな。
QtってwxWidgetsよりバリバリ使いやすかったりしますか? 両方使ったことあるエライ人教えてくだしゃい。
>>134 両方少ししか使ったこと無いけど、Qtのほうが楽なのは確か。
あと、Linux上での外観ははるかにQtのほうが上。
136 :
134 :2006/01/16(月) 11:37:03
Qtの方がよさげですか・・・ いまはwx使いまくりなので、すぐには移行できなさそうですが、 余裕ができたら使ってみようかな。 レスどうもです。
137 :
デフォルトの名無しさん :2006/01/16(月) 19:42:54
cygwinでQt4.1.0使いたいんですけど、windows版入れたらtutorialのchapter4がx11関係のエラーで実行できませんでした。cygwinで使うならx11版なんでしょうか?知ってる方いたら教えてください。
MinGWのパスをCygwinより前に持ってきて、 環境変数MINGW_IN_SHELL=1に設定したら、とりあえずどうでしょうか?
139 :
デフォルトの名無しさん :2006/01/17(火) 01:38:59
>>136 wxWidgetはスタイルを変更しようとすると駄目ですね。速度が遅い。見栄えが悪い。
コードを書いていて面白くない。
140 :
136 :2006/01/17(火) 01:54:20
>>139 Qtでコードを書いてて面白いと思うのはどんなときでしょうか?
参考までに教えてもらえるとうれしいです。
141 :
デフォルトの名無しさん :2006/01/17(火) 02:21:13
>>140 MFC や .NET でコードを書いた後に Qt でコードを書いているときかな。
>>141 それじゃあQtの具体的な良さがいまいちわからんですよ・・・(つД`)
まあ要するに、フレームワークがきっちりしてて、
きれいで保守しやすいコードが書けるというふうに捉えておきます(´・ω・`)
レスどうもです。
>>142 wxはわからんが、Qtは確かにコード書いてて楽しいぞ
無駄が少なく簡潔にかけるし、オブジェクト指向をそのままコード化する感じで直感的
覚えることもたいした量じゃないからサクっと移行できると思うよ
144 :
137 :2006/01/17(火) 14:07:26
>>138 レスどうもです。
試してみましたが、やっぱりうまくいきません(´・ω・`)
cygwinでやろうとするのが間違っているのか?
VC++にしようかと思ったが、4.X.Xには対応してないなんて…windowsでQt4使ってる方、
使い方ご教授願います。
駆け出しな質問でスマソ
145 :
137 :2006/01/17(火) 14:13:30
あっ具体的な問題を書いてませんでした。 プログラムはtutorialのChapter4そのまま、 エラーメッセージは以下のとおりです: $ make make -f Makefile.Release make[1]: Entering directory `/home/Master/QT/HELLO' g++ -c -O2 -O2 -frtti -fexceptions -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_D LL -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"C:/Qt/4.1.0/include/QtCore" -I"C:/Qt/4.1.0/include/QtGui" -I"C:/Qt/4.1.0/inc lude" -I"." -I"C:/Qt/4.1.0/include/ActiveQt" -I"release" -I"." -I"C:/Qt/4.1.0/mk specs/win32-g++" -o release/main.o main.cpp g++ -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runt ime-pseudo-reloc -Wl,-s -Wl,-s -Wl,-subsystem,windows -o "release/HELLO.exe" rel ease/main.o -L"C:/Qt/4.1.0/lib" -lmingw32 -lqtmain -lQtGui4 -lQtCore4 release/main.o(.rdata$_ZTV8MyWidget[vtable for MyWidget]+0xb0):main.cpp: undefin ed reference to `QWidget::x11Event(_XEvent*)' collect2: ld returned 1 exit status make[1]: *** [release/HELLO.exe] Error 1 make[1]: Leaving directory `/home/Master/QT/HELLO' make: *** [release] Error 2 多分基本的なことだと思うのですが解決できません。 対処法か他の方法をご存知の方いらっしゃらないでしょうか。
146 :
デフォルトの名無しさん :2006/01/17(火) 21:42:59
Qt4のQTextDocumentで、「ブロック(QTextBlock)が何を意味するか」を変更することはできないでしょうか? リファレンスには「BlockはBlock/Paragraphをカプセル化する」と書いてあり、そのまま読むと「空行と空行の間」という意味だと思うんですが これを「/*から*/まで」や「{から}まで」のような解釈に変えたいんです。
QTextEditのリファレンスに A paragraph is a formatted string which is word-wrapped to fit into the width of the widget. By default when reading plain text, one newline signifies a paragraph. って書いてました。 146は無視してください。お騒がせしましたm(_ _)m
>>144 なんでMinGWじゃダメなんでしょ。
後学のために教えてください。
>>137 QMAKESPECは正しく設定されていますか?
150 :
137 :2006/01/18(水) 08:11:05
>>149 QMAKESPEC = win32-g++
です。
qt-win-opensource-4.1.0-mingw.exeをインストールするときに
環境変数は自動設定するようにしていますが、
インストール終了後に自分で確認もしています。
そのままだとqmakeにパス通ってないし…
151 :
137 :2006/01/18(水) 19:46:27
無事コンパイルできました!(´∀`) ちゃんと最初からmingw使ってコンパイルすればよかったようです。 やっぱり環境変数設定してもcygwinじゃだめだったんですね・・・ パス通しておけばさしあたり使えると思ってた(つД`) アドバイス下さった方々ありがとうございました。
152 :
137 :2006/01/18(水) 19:50:07
>>148 mingwがだめなわけではありませんでした。
むしろ自分が!! o..rz
以前WindowsでQt-2.3.0を使って作ったソフトがあるのですが、 WindowsXP上で動かそうとすると日本語の入力がおかしくなります。 たとえば「にほんご」を変換して「日本語」を出そうとするとき、 変換途中では「に」しか表示されなくなります。 表示されないだけで、続けて打って変換すると「日本語」と表示されます。 Qt4への乗り換えはいろいろ勉強しなければならないことが多そうなので Qt2を使いたいのですが、解決方法知ってる方いらっしゃいませんでしょうか。
154 :
デフォルトの名無しさん :2006/02/04(土) 14:14:11
>>153 >たとえば「にほんご」を変換して「日本語」を出そうとするとき、
>変換途中では「に」しか表示されなくなります
俺の作ったQt-2.3.0-NCで作ったアプリも同じようになってます。
普通はテキスト入力するウィンドウにフォーカスがあるかどうかで、タスクバーのIMEの表示が変わります。
(1)テキスト入力可能なウィンドウにフォーカスがないとき
(2)テキスト入力可能なウィンドウにフォーカスがあるとき
Qt-2.3.0-NCで作ったアプリだと、俺の環境ではテキスト入力するウィンドウにフォーカスを移しても(2)の
状態になりません。
キーボードで日本語入力に切り替えても、(2)の状態にはなりません。
で、表示されるのは最初の1文字だけです。
あなたのプログラムがどれぐらいの規模なのかはわかりませんが、Qt4への移行はそれほど大変じゃない
と思います。(そのままではコンパイルも通りませんが)
若干だけどソース各量も減るし 設計自体スリムになると思われ 早めに乗り換えたほうがいいと思うよ、ライセンスに問題がなければ
156 :
デフォルトの名無しさん :2006/02/07(火) 17:59:10
QT4系激しくバグバグなんだけど皆普通に使えてるか? QT自体のコンパイルはgccでもiccでも普通に通った。 #iccの場合は一ヶ所エラーしたが少しの修正でOK。 で、問題なのは自作プログラム。 ファイルダイアログが変で、designerのすら落ちるのはどういうことかと。 QT4.1になってスレッド関係もどうもおかしい。 QT4で動いていたプログラムがアボートで起動すらできなくなっちまった。
Qt4はKDEに採用された頃が使い時。4.3くらいかな。
>>156 > QT4系激しくバグバグなんだけど皆普通に使えてるか?
> QT自体のコンパイルはgccでもiccでも普通に通った。
> #iccの場合は一ヶ所エラーしたが少しの修正でOK。
>
> で、問題なのは自作プログラム。
> ファイルダイアログが変で、designerのすら落ちるのはどういうことかと。
> QT4.1になってスレッド関係もどうもおかしい。
> QT4で動いていたプログラムがアボートで起動すらできなくなっちまった。
GPL版だけど、Linux、Windowsともに使えてる。
ファイルダイアログが変って、どういうふうに変?
4.0のときは、Linux版のファイルダイアログのアイコンが変な色になったりしたけど。
159 :
デフォルトの名無しさん :2006/02/07(火) 22:14:20
> QT4系激しくバグバグなんだけど皆普通に使えてるか? > QT自体のコンパイルはgccでもiccでも普通に通った。 > #iccの場合は一ヶ所エラーしたが少しの修正でOK。 > > で、問題なのは自作プログラム。 > ファイルダイアログが変で、designerのすら落ちるのはどういうことかと。 > QT4.1になってスレッド関係もどうもおかしい。 > QT4で動いていたプログラムがアボートで起動すらできなくなっちまった。
>>158 >4.0のときは、Linux版のファイルダイアログのアイコンが変な色になったりしたけど。
使ってるのはLinux版でそれはなったよ。実害はないからこれはいいとする。
しかし特定のフォルダ開くと落ちてたが。
4.1になってこれらは改善されたが今度はネットワーク上のドライブへのアクセスが変な予感。
あるいはシンボリックリンクか。
この症状はdesignerに搭載されてるものでも同じ。
自分のホームにアクセスすると落ちてどうしようもない。
今度他環境でも試してみるよ。
他には、D&D中の描画が4.0では正常なのが4.0.1以降はぐちゃぐちゃになった。
SDLと併用してるんだけど4.1ではオーディオデバイスにアクセスすると落ちる。
マイコードがバグってるのか分からんからすごく困る。。。
QuickTimeをアップデートしたらコンパイル出来なくなったw
163 :
デフォルトの名無しさん :2006/02/09(木) 07:15:57
株主のボーランドやばいらしいけど、Qt大丈夫?
165 :
デフォルトの名無しさん :2006/02/10(金) 00:23:00
ボーランドは投資者一覧に名前も挙がっていない。 ボーランドのコンパイラのサポートも既に止めてしまっている。
あれ? 保有株2位じゃなかった?
>>162 別の問題の様だ。
エラーはこんな感じ
ld: Undefined symbols:
_HICopyAccessibilityActionDescription referenced from QuickTime expected to be defined in Carbon
_HICopyAccessibilityRoleDescription referenced from QuickTime expected to be defined in Carbon
_LLCStyleInfoCheckForOpenTypeTables referenced from QuickTime expected to be defined in ApplicationServices
_LLCStyleInfoGetUserRunFeatures referenced from QuickTime expected to be defined in ApplicationServices
168 :
デフォルトの名無しさん :2006/02/10(金) 22:26:58
スレタイ!
169 :
ご教授お願いします :2006/02/11(土) 11:21:54
mingw32-make -f Makefile.Debug mingw32-make[1]: Entering directory `C:/Documents and Settings/power user/test' g++ -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runt ime-pseudo-reloc -Wl,-subsystem,windows -o "debug\test.exe" debug\test.o -L"C:\ Qt\4.1.0\lib" -lmingw32 -lqtmaind -lQtGuid4 -lQtCored4 C:\MinGW\bin\..\lib\gcc-lib\mingw32\3.2.3\..\..\..\..\mingw32\bin\ld.exe: cannot find -lqtmaind mingw32-make[1]: *** [debug\test.exe] Error 1 mingw32-make[1]: Leaving directory `C:/Documents and Settings/test' mingw32-make: *** [debug] Error 2 このようなエラーが出てコンパイルできません 環境変数など何度もチェックしましたが怪しいところが見つかりません XP PROでQt4.1.0を使ってます よろしくご指導願います
170 :
デフォルトの名無しさん :2006/02/11(土) 11:48:09
>>169 qtmaind が見つからないって言ってます。
デバッグライブラリは作られましたか?
171 :
ご教授お願いします :2006/02/11(土) 14:55:57
170さんありがとうございます makefile.debugはあります デバッグライブラリはこのことでしょか? debugフォルダの中にoファイルが1つできてます 初学なので基本的な質問で申し訳ないです
>>171 いえ、Qt\4.1.0\libの中にあるべきものです。
WindowsのOpen Source版をインストールしただけだとリリース版のライブラリしかできていません。
デバッグライブラリを作るのには、3時間ぐらいはかかるはずです。
WindowsのスタートメニューのQtの中に
[ Qt4.1.0(Build Debug Libraries) ]
というのがありませんかね。
173 :
ご教授お願いします :2006/02/11(土) 15:14:25
[ Qt4.1.0(Build Debug Libraries) ] はあります
>>173 それを実行すればデバッグライブラリができますよ。
ライセンスに合意するかどうかの質問が出てくると思いますが、それ以外は勝手にやってくれます。
めっちゃ時間がかかりますので覚悟しておいてください。
175 :
ご教授お願いします :2006/02/11(土) 15:53:49
[ Qt4.1.0(Build Debug Libraries) ] を実行したところ mingw32-make[1]: *** [tmp\obj\debug_shared\qabstractsocket.o] Error 1 mingw32-make[1]: Leaving directory `C:/Qt/4.1.0/src' mingw32-make: *** [debug] Error 2 このようなエラーがでました
176 :
ご教授お願いします :2006/02/11(土) 17:05:10
175の修正ですglobal/qglobal.cpp: tmp\obj\debug_shared\qt_pch.h: No such file or directory mingw32-make[2]: *** [tmp\obj\debug_shared\qglobal.o] Error 1 mingw32-make[2]: Leaving directory `C:/Qt/4.1.0/src/corelib' mingw32-make[1]: *** [debug] Error 2 mingw32-make[1]: Leaving directory `C:/Qt/4.1.0/src/corelib' mingw32-make: *** [debug-corelib] Error 2 何度も申し訳ないです
キュピーン そうだ!諦めよう! のAAを誰か貼ってやれよ
178 :
デフォルトの名無しさん :2006/02/11(土) 17:56:13
>>176 > 175の修正ですglobal/qglobal.cpp: tmp\obj\debug_shared\qt_pch.h: No such file or directory
> mingw32-make[2]: *** [tmp\obj\debug_shared\qglobal.o] Error 1
> mingw32-make[2]: Leaving directory `C:/Qt/4.1.0/src/corelib'
> mingw32-make[1]: *** [debug] Error 2
> mingw32-make[1]: Leaving directory `C:/Qt/4.1.0/src/corelib'
> mingw32-make: *** [debug-corelib] Error 2
> 何度も申し訳ないです
残念ですね。
私はそんな目に遭いませんでした。
ちょっと気になることがあります。
あなたのMingwコンパイラのバージョンは何でしょうか。
スタートメニューの[ Qt Command Prompt ]を起動して、
gcc -v
と叩いてみてください。
私の環境は 3.4.2です。
>>169 を見ると
> C:\MinGW\bin\..\lib\gcc-lib\mingw32\3.2.3\
こんな行があります。
私の環境だと、Mingwのライブラリディレクトリは次のようになっています。
C:\MinGW\lib\gcc\mingw32\3.4.2
もしかしたら Mingwをバージョンアップしたら大丈夫なのではないでしょうか。
179 :
ご教授お願いします :2006/02/11(土) 21:11:21
178さんありがとうございます 3.4.2にして再実行したところ 途中で止まってしまうのですがそれでも大丈夫なのでしょうか?
>>179 [ Qt4.1.0(Build Debug Libraries) ]の実行が途中で止まるのですか?
だとしたらどんなところでどんなメッセージで止まるんでしょうか。
といっても、止まることを経験していない私には段々わからなくなってきているのですが。
古いバージョンのコンパイラで途中までやっていた痕跡が何か悪い影響でももたらしているのか、
それとも、何か別の環境要因なのか。
私だったらとっくにキレて、Qt 4.1.0を再インストールするところからやっているかもしれません。
それはともかく、何かすべてをひっくりかえすようなことを書きますが、デバッグバージョンは
あなたにとって必須なのでしょうか。
>>179 pathにCygwinなどのpathが入っていませんか?
pathにsh.exeが入っているとビルドに失敗することが多いようです。
>>167 自分も出た。ぐぐったら、QuickTimeを7.0.4から7.0.1にダウングレードしろ、とさ。(OS X 10.3.9)
183 :
182 :2006/02/12(日) 10:37:22
Appleってこういうヘマ多いなぁ。
185 :
デフォルトの名無しさん :2006/02/12(日) 12:30:35
>>185 QuickTimeとQtをひっかけた荒らしだとでも思っているのだろうか。
QtプログラミングをMacでやるときの話なんだが。
187 :
デフォルトの名無しさん :2006/02/13(月) 23:06:24
Qtの問題か?
>>187 それがQtの問題なのか、環境の問題なのか切り分けてから書き込めと言いたいのかな?
だとしたら無理なことを言う奴だなあと思うよ。
俺はMacのことは知らないけれど、たとえば、Windowsで○○をインストールしたら、Qtの
プログラムのビルドが通らなくなったとしても、それが○○のせいかどうかはわからないぞ。
Qtが不正に○○に依存するファイルを参照していることもありうる。
○○の修正版をインストールしたら直った、なんて情報があって初めて○○に問題があった
んだなあって分かるわけだろ?
189 :
182 :2006/02/14(火) 09:45:50
>>187 Qt Open Source Edition自体をコンパイルするとき(より正確にはシェアードライブラリを作るとき)に出るんだわ。
configureはちゃんとできて、qmake の作成は成功する。
これで気をよくしてmake してほおっておいたら
>>167 みたいなエラーが出て止まっていた。
ぐぐったら、どうもQuickTime 7.0.4 にするな、7.0.1に戻せ、という感じ。
FAQかどうか知らんけど、ビルド時間短縮になる人もいるだろうから、
一応情報としてレスをつけておいたのだけど。
190 :
デフォルトの名無しさん :2006/02/15(水) 14:57:25
インストーラについて質問です。 qt-win-noncommercial-msvc-3.2.1.exe を実行したところ、 avast が騒ぎだし configure.exe に Win32:Rbot-AOV[Trj] がいると言って来ました。 この現象に出くわしたことのある方、同じファイルでも問題はなかったという方、 そのほか何かご存じの方、ご教示願えませんか。 私が今のところ考えていることは、 Qt のリリースファイルはスパイウェアに注意するという "常識" のようなものがあるのか、 ということです。 # ファイルの入手元は濡れ衣にならないよう、 # このレスでは差し控えますが、 # 必要性があると判断したら書きます。
「疑問を教えあうスレ」だからだなぁ 回答は難しいと思うよ
192 :
デフォルトの名無しさん :2006/02/15(水) 16:20:25
すみません、「回答を教え合うスレ」があればそこへ行きます。
>>192 たまたま
>>1 が日本語不自由なだけに過ぎないから
このスレでいいよ。
やましい所があるなら、使用は差し控えた方が吉だろうな。
194 :
デフォルトの名無しさん :2006/02/15(水) 16:41:51
>>193 レスありがとうございます。
では、引き続きここを見ています。
>>190 に示したくだんのファイルは合法的に入手したもので、やましいことはありません。
ただ、スパイウェアが混入した経路を特定する根拠がある程度そろってからでないと、
うかつに特定の人物・団体の名を出すのは軽率であると判断しているのです。
サポートに聞くのがいちばんじゃね?
msvc-3.2.1かよ この時点で怪しいと思うけどなぁ
198 :
デフォルトの名無しさん :2006/02/15(水) 22:14:29
Qt BookのCD-ROMでは。
199 :
デフォルトの名無しさん :2006/02/16(木) 18:50:27
190 です。
>>197 ありがとうございます!
その一言、とても参考になりました。
いま Qt4.1 でやり直しています。
200 :
デフォルトの名無しさん :2006/02/16(木) 20:07:55
200
>>199 やっぱりダウンロード元はロシアのサイトだったのかい?
うん、怪しい。
204 :
デフォルトの名無しさん :2006/02/23(木) 13:57:22
205 :
デフォルトの名無しさん :2006/02/25(土) 03:22:33
>>204 Windows版QT4.1.1ってVS2005Express版で使えますか?
>>205 オープンソースエディションはMinGWだけ。
そのうちVC++が使えるようなパッチも出回るかもしれないけれど。
207 :
デフォルトの名無しさん :2006/02/27(月) 19:04:40
QTのライセンスがよくわからないんだが、 QT上で動作する、ソースを公開しないフリーソフトはライセンス上問題があるの? たとえば、Kitaという2chブラウザがあるが、あれをバイナリのみの配布にするとしたら問題あり?
>>206 フリー版はQPLとGPLのデュアルライセンス。
商用版のライセンスを取ったとしても
kitaはGPLなのでそれに従わなければならない。
209 :
208 :2006/02/27(月) 19:13:43
206は207のまちがい
>>207-208 ユーザーがソースコードにアクセスできるようになっていれば良いのでは。
1CD Linuxにはバイナリしか入っていなのが普通だし、雑誌に付いてきていたRedhatは
ソースCDは別途取り寄せだったし、必ずしも一緒に配布しなければいけないものでもない。
でも、GPLソフトを改造したものを作り、バイナリだけ配布してソースはクローズ、は許され
ないよ
>>207 。
Qt鈴木の作り方を教えてください
213 :
212 :2006/03/03(金) 01:52:25
間違えました。 ▽×の2つしかボタン... → ?×の2つのボタン... どのように最大最小ボタンをつければいいのでしょうか?
>>212 QWidget::setWindowFlags( )じゃなかったっけ。
215 :
212 :2006/03/03(金) 16:07:16
>>214 アドバイスありがとうございました。
どうもコンパイルが上手くいかなかったので知らなかったのですが、コンパイル → 実行すると、最小最大ともに表示されました。
(コンパイルは、cmd.exe → Qt 4.1.1 Command Promptで解決)
UIデザイナーで最大最小のテストは出来ないみたいです。
KDEのほうではちゃんと出るので、XPのUIデザイナーの問題のようです。
> Unofficial patches for Qt4 >'Additional compiler support for qpl'd Qt4/win32' って出てるね。 vc2005ですんなりコンパイルが通った。
219 :
デフォルトの名無しさん :2006/03/10(金) 12:14:04
Qt4をVisualStudio.NET2003で使いたいんですけど、 Makefile使わずにIDEでコンパイルってできますか? Makefile使ってコマンドプロンプトでnmakeならできるんだろうけど… ほんと初歩的な質問ですみません。
IDEでMakefile使えばいいじゃん?
222 :
デフォルトの名無しさん :2006/03/13(月) 20:12:16
レス遅れてすみません。 最近VisualStudio使い始めたもので…、 もっと勉強します。 ありがとうございました。
224 :
デフォルトの名無しさん :2006/03/15(水) 07:41:15
>>223 ¥7,468 か。
前のやつ(Qt3)より米国価格で10ドルばかり上がっているんだな。
オープンソース版のはビルドがMinGW必要ってあるけど、 商用版のは何も考えずにはじめからVSでいけますか? インストールからウィザードによる雛形の生成まで面倒 見てくれるんなら、お金取るのも検討していいかと思って ます。
>>225 はい、普通に。
integrationもできるでしょ。
というか221だな。
TextSS のWindowsXP(Professional)64bit化おながいします もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?
GNOMEのアイコンってどっからパクればいいの?
C言語をようやく一通り覚えたんですが Qtのコードをパッと見た感じ分かりやすかったので これでGUIに入ろうかと思うんですが やはりC++やってからの方がいいですか?
むしろC++専用ライブラリなわけだが Cは構文覚えれば一応Cのソースはかけるが C++は構文覚えればいいってもんじゃない 選択はいいけど、まだ使う前にやることがいっぱいあると思うよ
232 :
デフォルトの名無しさん :2006/03/23(木) 08:40:35
Qtを弄くりながらC++を覚えていけばいいだけ。 練習台に使うには規模がちとでかいライブラリだけど、 結果がすぐに目に見える形で出てくるのは、モチベーションの維持的にもいい。
233 :
デフォルトの名無しさん :2006/03/23(木) 20:56:41
俺もそう思う C++ をきっちり憶えようとすると遠大な道のりになるんで 途中ちょくちょく飴がないととてもじゃないけど持たないよ
vtableエラーなおんねーよヽ(`Д´)ノウワアァァン
qmakeのファイルで、ソースやヘッダのファイルを書き忘れて、 vtableエラーで悩んだことがあります。
236 :
235 :2006/03/32(土) 01:07:42
.proファイルで、HEADERSに書き忘れたのが原因で、 リンク時にundefined reference to `vtable 〜`が大量にでました。 日付が2006/03/32になっている orz...
237 :
デフォルトの名無しさん :2006/03/32(土) 23:44:35
windowsで商用利用されている実績はありますか?
239 :
デフォルトの名無しさん :2006/04/02(日) 02:26:49
何をしたらいくらロイヤリティ発生しちゃうの?
240 :
デフォルトの名無しさん :2006/04/02(日) 11:13:48
>>240 そういや、Qt/Eだと発生しなかったっけ?
>>241 Qtopiaなどの組み込みQtならロイヤリティが発生するはずです。
WEBにも金額の情報はないみたいだし、経験もないのでわからん。
243 :
デフォルトの名無しさん :2006/04/03(月) 07:33:15
QT4ってヘッダファイルがウンザリするほど沢山あって、 #include でクラス名を書くと、Qmakeが自動的に実際のヘッダファイルにアクセス する仕様のようですね。 このような仕様のもとで、商用版のQT4をVS2005で使った場合に、CTRL+スペースで 識別子を補完したり、関数パラメータのヒントが出たり、マウス右クリックでヘッ ダの定義に飛んでいける・・というようなVS2005の機能が使えるのでしょうか? DELPHIを使っていたサンデープログラマなので、この機能がないとコーディングが 出来ない体になっているもので・・
245 :
デフォルトの名無しさん :2006/04/08(土) 08:43:35
>>244 > #include でクラス名を書くと、Qmakeが自動的に実際のヘッダファイルにアクセス
> する仕様のようですね。
もしかして #include <QWidget> とか書くことを指してるのかな?
インクルードパスの中に、QWidget(拡張子なし)という名前のファイルがあって、その中に
#include "qwidget.h"
と書いてあるんだよ。
qmakeは関係ないんじゃないかな。
>245 「Qt GUIプログラミング」の付録Cの「Qt 4の概要」に 「ヘッダファイルは、それぞれ、$QDIR/includeディレクトリの下に,QtCore,QTGuiといった ライブラリ名と同名ののディレクトリに排置されている。しかしqmakeコマンドはヘッダファイル の配置場所を認識するので,qmakeを使ってmakefileを作成すれば、自動的に-Iオプション にインクルードディレクトリが追加される。そのため、特に意識することなく、単純にクラス名と 同名のヘッダファイルをインクルードすればよい」 と書いてあったので・・・
QtはUnicode対応でマルチバイトもOKとありますが 下記のような単純なソースでも文字化けしてしまいます。 これは回避できない問題なのでしょうか? #include <QApplication> #include <QLabel> int main(int argc, char *argv[]){ QApplication app(argc, argv); QLabel label(QObject::tr("ほげ")); label.show(); return app.exec(); } 簡易チャット風の物を作って マルチバイト文字の入出力&送受信は問題なかったのですが… 何か解決法がありましたら教えてください。 Qt4.10, MinGW3.4.2, ソースの文字コードはSJISで保存しています。
君のMinGWはソースがSJISで書かれていると知っているのかね?
>>247 QTextCodecクラスを使う。
詳しくはassistantを参考にしてください。
しかし、実は自分もはまっています(苦笑)。
Qtをインストールした環境だと期待した動作をするのですが、そうではない環境、DLLだけいれた環境だと
なぜかエンコーディングがとれないです。(nullで返ってくる)
>>247 おれも始めたばっかでよく分からんのだが
>#include <QString>
>QLabel label(QString::fromLocal8Bit("ほげ"));
にしたら表示は出来る
252 :
250 :2006/04/12(水) 20:24:25
なるほど・・・こんな感じにすればいいのかな? >#include <QTextCodec> >QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
UTF-8Nで保存してtrUtf8("ほげ")
保守
255 :
デフォルトの名無しさん :2006/04/23(日) 12:30:49
Qt4が出てからもうずいぶんたつのに、Qt4を使ったソフトが全然でないのはなぜ? KDEも全然追従してなくて、KDE3のバージョンアップばかりだし。
>>255 3と4で変わりすぎているからね〜
WindowsのOSS版はMinGWしかサポートされないしね
258 :
デフォルトの名無しさん :2006/04/23(日) 19:40:24
Qt4使わせてもらってます。もうQt3に戻る理由はないなあ。 なんてたってWindows版もGPLなのはQt4からだもんなあ。 まだQt3サポートクラスがコードに残っているけどね。 MinGWだからプログラム作れないっていう理由にはならないよな。
Qt4はスクリプトが対応してくれるともっとおもしろいんだけどなぁ PyQt,PerlQt etc..
260 :
デフォルトの名無しさん :2006/04/24(月) 00:03:47
261 :
デフォルトの名無しさん :2006/04/30(日) 10:36:12
Qtのライセンス高いね $7000 で 最低3ライセンスいるらしい
しかしトロルテックは、こんなもんで商売になってるのかね。 最近はどんどんWebアプリに移行してしまって、 俺のところに入ってくる仕事もASP.NETやJSPばかりだ。
Qt、Cマガの最終号についてたのインストールしようとして 仮ライセンスもらったんだけど、忙しくて触らないうちに期間 終わっちゃった(・∀・)
264 :
デフォルトの名無しさん :2006/04/30(日) 21:36:12
>>261 それは Qtopia ですね。なんで最低 3 ライセンスなんだ。
Qtopia 2 のコードはえらい汚くて、サンプルコードも乏しく、
ドキュメントも不充分だったけれど、Qtopia 4 はどうだろう。
>>262 組み込み系でやっていくのかな〜
デスクトップアプリが無くなる事は無いだろうけど、
Qtを買ってまでやる物はへりそう・・
Qtつかってるアプリで一番規模がでかいor普及してるものって何? KDE?
>>266 規模:KDE
普及:Google Earth
かも。
270 :
デフォルトの名無しさん :2006/05/05(金) 10:45:05
RS232C使える?
普通つかえるんじゃね?
272 :
デフォルトの名無しさん :2006/05/05(金) 12:50:45
q〜のapiある? それとも実行環境のapiそのまま呼ぶ?
QFileでいいんじゃね?
274 :
デフォルトの名無しさん :2006/05/05(金) 13:14:54
ありがとう 試してみます
275 :
デフォルトの名無しさん :2006/05/05(金) 16:12:32
みんなどんな開発環境? Emacs? KDevelop?
WindowsのQt 4.1.2とMeadowです。
ハゲ丸にコマンドプロンプトです
GNOMEでQt4です。
KDevelop。 ここでは少数派なのかな。
Kate
>>285 Qt Interest を見ていたら、4.1.3のWindows版で4.1.2のアプリが4.1.3のDLLで動かないとか
4.1.3でリコンパイルしてもセグメンテーションフォルトが発生したとか、書いている人がいますね。
おもにWindowsで使ってるんで、もうちょっと様子を見よう。
>>286 うーん、Text CodecのプラグインDLLがいなくなっています。。
(コンパイルされていない??)
ここ見る前に入れて失敗した。。。
288 :
デフォルトの名無しさん :2006/06/01(木) 22:11:35
そろそろQt5の話が出てきてもおかしくないんじゃないか?
289 :
デフォルトの名無しさん :2006/06/01(木) 22:18:25
キタコレ でもTrolltechはなんでフリー版のQt for WinでVCを正式サポートしないかな デファクトスタンダードにしたいならサポートしないのは逆効果じゃないかと思うんだが・・・ 企業はどっちみち有料版を買ってくれるわけだから Qt開発者の裾野を広げておいた方が良くないかね?
292 :
デフォルトの名無しさん :2006/06/12(月) 16:57:37
QtとopenGLとKDEの連携がわかりやすいサンプルプログラムって 何かありますか。
293 :
デフォルトの名無しさん :2006/06/15(木) 16:27:38
cygwinでX11版のQt4ってbuildできる? さっき試してみたら途中でこけちゃった。MinGWでもいいけどなんとなく。 In file included from generators/makefiledeps.cpp:30: /home/yunoki/work/qt-x11-opensource-src-4.1.3/mkspecs/win32-g++/qplatformdefs.h: 14:19: tchar.h: No such file or directory /home/yunoki/work/qt-x11-opensource-src-4.1.3/mkspecs/win32-g++/qplatformdefs.h: 16:20: direct.h: No such file or directory generators/makefiledeps.cpp: In member function `bool QMakeSourceFileInfo::findD eps(SourceFile*)': generators/makefiledeps.cpp:370: error: `::_read' has not been declared generators/makefiledeps.cpp:372: error: `::_close' has not been declared generators/makefiledeps.cpp: In member function `bool QMakeSourceFileInfo::findM ocs(SourceFile*)': generators/makefiledeps.cpp:675: error: `::_read' has not been declared generators/makefiledeps.cpp:677: error: `::_close' has not been declared make: *** [makefiledeps.o] Error 1
>290 これやってみたけど、g++がclになるだけで、 ただのOpenSource版でもできることのような気がする。 Cマガジンに載ってたみたいな、シームレスな連携がとりたい……
うお! 4.1.3を使わないうちに4.1.4が出ちまった。 様子を見てから4.1.4ダウンロードすっか。と、思っているうちに4.1.5になったりして。
VC2005ExpressEdition+Qt連携を試してみた
>>290 のリンク先で、qmakeのパラメータが
"-project -spec win32-msvc2005"ってなってるけど
projectモードの時はspec指定できないって、エラーでるから
パラメータは"-project"だけの間違いじゃないかな。
あと実行時にQtのランタイムライブラリが必要なのはどうにかならないのかな?
スタティックライブラリとかで静的リンクしといて、
exeだけ配布で済ませられたりすると便利なんだけど
Qt 4.2 Technical Preview リリース! MinGWでビルドしています。 VC2005のExpress Editionでビルドした人います?
>>297 ウホッ。素晴らしい。ありがとvvv
Eclipse+CDT+Qtで最初試したんだけど、
CDTのコードアシスト機能が使い物にならないから、
やっぱりVC連携の方がコーディング効率いいね
300 :
デフォルトの名無しさん :2006/07/03(月) 19:05:16
Qt 4.1 をLinuxで使ってます。 QLabelにQPixmapをセットするのに時間がかかるんでバックグラウンドでQPixmapを用意して GUIのスレッドでQLabel::setPixmap()するコードを書いたんですけど QPixmapを使うこと自体がGUI操作らしくて (QImageは違う) Xlib: unexpected async reply (sequence 0x99df)! というエラーがでて死にます。 QImageをバックグラウンドで用意してGUIのスレッドでQPixmap::fromImage()を使う方法は QPixmap::fromImage()が遅いんであきらめました。 ストレスなくQLabelにQPixmapをセットする方法ないですかねえ
>>301 ビルドできましたか?
さっきちょっと試したら、なんかエラーがでて駄目で、
調べるのが面倒だからMinGWならふつーにいけるだろうと思ってやったところ、
こっちはsh.exeがバックスラッシュをうまく解釈しないようでこれまたうまくいかず、
うーむ、ここは落ち着いて頭を冷やしてやりなおすか、と、
ちょうどここを覗いたところでしたw。
出来ましたよ vc2005eeでやるときは vsvars32.batを修正して、 sdkのインクルードパスとライブラリパスを含めてます? でないとfile not foundとかで落ちますよ
> 302 sh.exeがあるPATHを外すと、うまくいくと思います。
305 :
302 :2006/07/04(火) 00:02:53
>>303 , 304
ありがとうございます。本当に助かります!!
まずはVS2005で挑戦中ですが、うーむ、まだうまくいかないっす。。。
mkspecsは、例(?)のパッチから持ってくるのですか?
今は、qmakeがMakefileを生成してくれない状況です。
(MSVC.NETなんか知らん!と言って生成してくれません。パス入れ忘れですかねー。)
明日から出張なので、、、今日は時間切れとなってしまいました。
週末あたりに再挑戦します。
307 :
301 :2006/07/05(水) 20:06:47
>>305 Qtを知ってまだ一週間程なので、
「例の」が、どのパッチの事か分かりませんが、
とりあえず私の場合
vc.net2003とvc2005eeのそれぞれで、
static-debug,static-release,dynamic-releaseの
計6パターンでビルドしましたよ
方法としては、
ttp://qtnode.netにある4.1.4用パッチから qconfigure.bat
\mkspecs\win32-msvc2005\*.*
\mkspecs\win32-msvc.net\*.*
\qmake\Makefile.win32-msvc2005
\qmake\Makefile.win32-msvc.net
\qmake\generators\win32\msvc*.*
\qmake\generators\win32\borland*.*
辺りを4.2.0のフォルダにコピーして、
それだけでは通らないので、
\qmake\generators\metamakefile.cpp
\qmake\qmake.pri
\qmake\qmake.pro
\qmake\Makefile.win32-msvc2005
\qmake\Makefile.win32-msvc.net
\qmake\generators\makefile.cpp
\src\network\qnetworkinterface_win_p.h
辺りを手修正って感じです。
>300ゲームなどで高速描画したいのかな。OpenGLはだめなの?
ゲーム作成中。迷路で落とし穴にはまった時 画面をペカペカフラッシュさせたいんだが 昔Win では関数呼んでる最中に、InvalidateRect 効かないから 無理矢理 SendMessage(WM_PAINT) して更新させるという方法使ってたけど Qtでもそういうのありますか? ちなみに processEvents()では駄目でした。
>>309 QWidget::repaint(); だとどう?
311 :
デフォルトの名無しさん :2006/07/07(金) 00:37:44
Sleep(0)
designerでUI中にQWidgetを入れるにはどうすればいいですか?
意味が良くわからん
デザイナーでプロパティ設定していると頻繁に落ちるorz
>>312 カスタムWidgetを作成するか、QFrameなどを貼り付けて自前で描画するとか
317 :
312 :2006/07/08(土) 12:19:19
正確には、(カスタムウィジェットにするまでもない) QWidgetを継承した自作ウィジェットを入れたいんです。 QWidgetさえ入れば、Promote to Custom Widget で実現できるのですが、 QWidgetが入らないと、親クラスが別クラスになってしまうんです。 .uiファイルを直接編集する手もなくはないんですが、designer上でできないのでしょうか。
318 :
デフォルトの名無しさん :2006/07/09(日) 18:14:03
結局、Qt4になってもIMの「On The Spot」は改善されてないの? 日本語の変換候補の位置がおかしいんでQt使えないんだよなー。
319 :
302 :2006/07/09(日) 22:06:47
>>304 , 307
ありがとうございました!!
といあえず、sh.exeをpathからはずし、MinGWでコンパイルできました。
(vcの方は、まだうまくいかないですねーー。)
とりあえず、これでQt4.2で遊べるようになりました。
本当にありがとうございました。
>>318 だね〜。QtはいつまでたってもIM周りが癌だね。
Qtイケテナイヨ
が、他に何があるかというと・・・。ない。
WTL/ATL
2ch由来のライブラリOTLはどう?
4.2でIMバグ直ってたりしない?
いつまでたっても修正しないのでは、何のための保守料なんだろうか
327 :
デフォルトの名無しさん :2006/07/10(月) 21:44:40
オープンソースで無償で使えてドキュメントがしっかりしていて日本語も通って WindowsとLinuxとMacでほぼ同じソースが使えるなら とりあえず「Qt以外」の候補のひとつだなあ。
wxとtkは
designerで作成した.uiファイルを元に、 ヘッダファイルを自動生成させると、 その中のクラスが(QObjectやQWidgetなど)何のクラスも継承してないのが不便。 また、そのクラスにメソッドやQ_OBJECTマクロや継承元を追加したりすると、 .uiファイルにコントロールを追加やプロパティ変更などして、ヘッダを再生成させた時、 クラス宣言に追加した部分がゴッソリ消えてしまうのが致命的。 追加するコード量を減らそうと、ヘッダ中のクラスを直接使うのではなく、 それを継承するクラスを作って、そちらにメソッドを追加してみるという方法もとってみたけど、 それでも継承元クラスに追加しないといけない場合とかあるし、 それだけの為に、継承によるオーバーヘッドを受けるというのもすっきりしない・・・ なんだかQt微妙に思えてきた・・・
>>332 uiから生成したファイルの使い方を根本的に間違っているような気がします。
334 :
デフォルトの名無しさん :2006/07/12(水) 21:31:46
335 :
デフォルトの名無しさん :2006/07/16(日) 20:50:44
318 です。 SUSE 10.1のKDEではちゃんとOn The Spotになってることから、 Qt自体は改善されてるっぽい。 IMの問題みたい。
Qtからテーブルにデータを挿入する際、BLOBの列にデータを挿入するにはどのようにすれば良いのでしょうか? 具体的には create table tbl (id smallint, img blob); というようなテーブルに対して QImage img("./test.jpg"); QVariant var = img; QSqlDatabase Db = QSqlDatabase::addDatabase("QSQLITE"); Db.setDatabaseName("./test.db"); QSqlQuery query; query.prepare("insert into tbl(id, img) values(:id, :img)"); query.bindValue(":id", 1); query.bindValue(":img", var); query.exec(); としても、img列にはデータが挿入されていないらしく、 select id from tbl where img is null; というSQL文を投げてやるとidが1のレコードを返してきます。 どなたか教えていただけませんでしょうか。
DB板のSQLiteスレで聞け
>>337 馬鹿だね君は。SQLiteは問題ない。QImageの中に画像のデータが入っていないからテーブルに書き出せないだけ。
問題の切り分けも出来ないのであれば質問には黙っているべきだ。
>>336 具体的には
QImage img("./test.jpg");
QVariant var = img;
を
QFile img("./eclair.jpg");
img.open(QIODevice::ReadOnly);
QByteArray arr = img.readAll();
と書き換え、
BLOB列に対するbindValueを
query.bindValue(":img", arr, QSql::Binary);
とする。
これでいけるはず。
WindowsのAssistant重いね。 WindowsでAssistantを使うよりも、 その同じWindows環境でVirtual PCを使って動かしたLinuxでAssistantを 使う方がよっぽど快適なのはなんとかならんのか。
普通のブラウザ使えばいいやん
MinGWのg++を3.4.5に更新したら ... declared as dllimport: attribute ignored というwarningが大量に出てしまいます。 対処法をご存じの方いらっしゃいますか?
>>342 > 普通のブラウザ使えばいいやん
検索とか。
…って話じゃなくてさ。
Assistant風のプログラム作って同じソースでLinux版とWindows版のバイナリを作ったら
Linux版は快適で、Windows版は重いってことになるんだよね。
それがなんとかならんかなあ、と思うわけ。
345 :
343 :2006/07/24(月) 02:22:30
.proファイルに CONFIG += warn_off と書けば出なくなった。…ただし、すべての警告が出なくなる orz...
void DragTest::dropEvent(QDropEvent *event) { QList<QUrl> list = event->mimeData()->urls(); lineEdit->setText(list.at(0).toLocalFile()); } という具合に、ドラッグ&ドロップしたらウィジェット中のテキスト領域に、そのファイル のパスを表示させるプログラムを書いたのですが、Windows上ではパス上に2バイト文字が 含まれていても問題なく動くのですが、Macだと /Users/oresama/Desktop/%E3%81%A6%E3%81%99%E3%81%A8/test.jpg という風に、日本語の部分がエンコードされてしまいます。 最終的にはドラッグ&ドロップしたファイルを開くようにしたいのですが、このエンコード されたパスではファイルを開けません。 エンコードされたパスを元に戻すにはどのようにすれば良いのでしょうか? あるいはエンコード前のファイルパスを取り出す方法をご存知の方、教えていただけません でしょうか。
348 :
346 :2006/07/26(水) 01:36:00
>>347 ありがとうございます。しかしQUrlにfromPercentEncodingというメンバ関数を見つけて
しまいました……。
Mac上では
void DragTest::dropEvent(QDropEvent *event)
{
QList<QUrl> list = event->mimeData()->urls();
QVariant var = list.at(0).toLocalFile();
lineEdit->setText(QUrl::fromPercentEncoding(var.toByteArray()));
}
でうまくいきましたので、明日会社のWin機で試してダメでしたら教えていただいた方法を
試してみます。
だれか解説してくれ。Java言語からQtライブラリにアクセスする ってこと? QtそのものがJavaで書かれるって事じゃないよね?
>>350 JNIを使ってC++ライブラリをJavaから使うということみたい。
PDF版のWhitepaperの12ページ以降に解説あり。
似た様なのには qtjava があるけど、Qt Jambiは TrollTechからの公式なJava Bindingということになるな。
つまりあれか? Qtのライブラリって結構良くできてるけどC++めんどくさいな〜。 って思ってて、しかもLinuxとWindowsで動くアプリ作りたいけど 別にMacで動く必要はないし、Swingはちょっとな〜。っていう 俺には結構いい選択肢?
SWTがあるから要りません(><)
いくらなんでもSWT<Qtだけどね。
355 :
デフォルトの名無しさん :2006/07/31(月) 23:45:30
>>352 一応Macでも動くみたいなんで、それでもいいならいいんじゃね?
まあMacで動くのもデメリットではないな。 Qt/C++と比べると遅くなりそうだけど、Swingより速いならいいかも。 言語的には嫌いじゃないんだよなJavaって。
357 :
デフォルトの名無しさん :2006/08/12(土) 21:28:54
http://doc.trolltech.com/4.1/threads.htmlによると スレッドごとにメッセージループを持てるらしいんですが
QThreadを継承したクラス(Aとします)を作り、
A* hoge = new A();
hoge->start();
A::run()内でexec()しA::event(QEvent*)でイベント処理ができることを確認しました。
ここで、A::event()のイベントハンドラ内でsleep(5)とすると、メインスレッドのGUIメッセージループも止まってしまいます。
Aのメッセージループとメインのメッセージループはお互いに独立していると思っていたんですが
わたしは何か勘違いしているんでしょうか?
358 :
デフォルトの名無しさん :2006/08/14(月) 07:26:39
Qt2,3の翻訳サイト落ちちゃったんですかね ダウンロードしておけばよかった・・
>>357 sleep()だと、プロセス全体が反応しなくなるようですね。
(メッセージループというよりも、sleep()のせいだと思います。)
Kdeが出しているQt3のWindows版なんですけど何度コンパイルしてもQtAssistantのドキュメントが読み込めないんですけどバグなんでしょうか
361 :
デフォルトの名無しさん :2006/08/17(木) 06:49:40
やっぱフリーのQtは駄目だわ 使えるコンポーネントが少なすぎる
さっさとJavaに移行しろって
QWidgetがあればたいていのGUIは作れるね。
365 :
デフォルトの名無しさん :2006/08/18(金) 19:33:22
あるウィジェットのインスタンス名を知りたいのですが、 ウィジェットのコンストラクタ内でQObject::objectName() を呼び出しても名前が設定されていません。コンストラクタが完了 した後であれば、メンバ関数からQObject::objectName()を 呼ぶとインスタンス名が得られます。どうしたらいいでしょうか?
366 :
デフォルトの名無しさん :2006/08/23(水) 20:02:04
Qt4を使っています。データベースをCreateしたいのですが、 SQLで「Create database XXX」とやっても、Openしていないと叱られます。 Openするにはデータベースファイルが存在していなければならないため、 Openできません。 データベースをCreateするにはどうしたらよいのでしょうか? InterBase(Firebird)を使っています
そんなマイナーなDBMS使ってるからいかんのだよ。 オラクルかSQLServerにしなさい。フリーでよいならMySQLでもよし。
368 :
デフォルトの名無しさん :2006/08/26(土) 01:15:03
オラクルかSQLServerにしたら。QtからCreateできるの?
できない。 ちゅうか、最初にコマンドラインか管理ツールかなんかで create database しといて、 接続すれば無問題なんでないのか? これ以上はQt依存の話じゃないのでスレ違い。
370 :
デフォルトの名無しさん :2006/08/26(土) 14:45:55
「コマンドラインって何?」「管理ツールって何?」っていうじっちゃんばっちゃんに 説明するのが面倒だから、プログラムにCreateを組み込むのは当たり前。 そんなこともできないのか。お前
371 :
デフォルトの名無しさん :2006/08/26(土) 14:50:41
正直、wxWidgetとどっちが優れてるのかな?
>>370 出来ないのはDBMSの仕様であって、このスレで相手してくれている人たちではないとおもわれ。
あと、プログラムに組み込むのが当たり前といっているが、管理ツール以外で「当たり前」に出
来るものなんてあるのかね?
つーか、やりたいことが見えない。じっちゃんばっちゃんでも簡単に使えるDBMSのフロントエ
ンドを作るつもりなら、いっそFileMakerとか買ってやれば良いじゃない。
……まぁ文句ばかり書き連ねても仕方ないので教えてやるが、SQLiteならばQtからDBを作成出
来る。
FirebirdにCREATE DATABASEが出来ない仕様なんてないけど?
375 :
デフォルトの名無しさん :2006/08/29(火) 14:44:22
QtJambiってどうなんかなあ なんか興味がある
Qtって一体どこで使われてるんだろう。 ビジネスとして成り立ってるのかすごく疑問だ。
>>378 たとえばGoogle Erath。
あれはGPLじゃないから、ライセンス料払っているとおもわれ。
380 :
デフォルトの名無しさん :2006/09/06(水) 23:07:17
>Erath >Erath >Erath >Erath >Erath >Erath >Erath >Erath >Erath >Erath >Erath >Erath >Erath >Erath >Erath
グーグル 偉ス
382 :
デフォルトの名無しさん :2006/09/07(木) 16:57:51
googleって普通の検索でもイメージ検索が一部含まれるようになってたんだね。
>>382 を見てふとRayearthで検索したら画像が出てきてびびった。
あー職場でRayearthを検索しなくて良かった
WindowsのQt2用のIME制御クラス作ったんだけど、需要ありますか? WindowsXPとMS-IMEの組み合わせだと、Qt2のエディットボックスで 変換中の文字列が表示されないので、これを使えば表示できるようになります。
もうQt4使ってるからなぁ…
需要はあると思うよ。アップしたらお礼メールくらいは来ると思う。 俺が今必要かというと必要じゃないけど、将来は欲しいと思うかも。
388 :
デフォルトの名無しさん :2006/09/09(土) 11:17:36
高精度のタイマーを使いたいのですが、 QTimerは精度が10ms程度ぐらいしかなく困っています。 ナノ秒単位でシグナルを飛ばしてくれるタイマーってQtにはないのでしょうか?
>>388 個人的には、そういうシビアなtimerをOS非依存な画面ツールキットの
Qtに期待するほうが間違っていると思うけど。。。
>>388 そもそも ns 単位での制御となるとRTOSの範囲と思われ。
391 :
デフォルトの名無しさん :2006/09/09(土) 14:21:49
分かりました。タイマーはあきらめます。 もうひとつ質問なんですが、 Ctrl + Enterのショートカットを作りたいのですが、うまく動いてくれません。 QShortcutのコンストラクタに、 Qt::Key_Ctrl + Qt::Key_Enter と tr("Ctrl+Enter") を試したのですがだめでした。 tr("Ctrl+O")だとうまく動きましたので、SIGNALとSLOTはちゃんとつながってます。 Ctrl + Enterで動かすにはどう指定したらよいのでしょうか?
392 :
391 :2006/09/09(土) 14:32:12
すみません、自己解決です。 QKeySequence(Qt::CTRL+Qt::Key_Return) でできました。
ヘッダのincludeの書き方って、 #include <qapplication.h> みたいな感じのと #include <QApplication> みたいなのと、どっちが正しいんでしょうか?
>>393 おーこれは凄い
さっそく使わせてもらいます
何でだろう ファイルを作るとアプリがエラーで終了しちゃう
設定を変更したら直りました 楽でいいですね 補完も出来るし^^
Qt3にはこういう便利ツールは無いのか
サクラエディタで十分だと思うけど
KDevelopとかVisualStudioとかEclipseとか、 いい開発環境はいっぱいあるのに、なんでわざわざ素人が作った ショボいIDEを使うのかわからん。
わからんならわからんでいいじゃないか
>>401 Eclipseは重いし。
VSはGPL版Qt4にパッチ当てるの嫌だし。
KDevelopってQt4でも使えて補完もしてくれる?
>>403 Kdevelop4はまことに素晴らしいものになるそうな。
KDevelop4の情報ポインタきぼん。
407 :
デフォルトの名無しさん :2006/09/24(日) 02:07:41
Qt4のテーマを「CDE」「Motif」「Plastique」「Windows」以外にできるのでしょうか。 例えばKDEのテーマを使えないのでしょうか。
KDEのテーマはKDEのライブラリ入れなきゃ、Qt単体じゃ無理だよ。 KDEはQtで作られてると言われてるが、実際にはQtを拡張したKDEライブラリがあって、 それを使って作られている。
教えて下さい。 #include <QtCore> #include <QtGui> int main(int argc, char **argv) { QApplication app(argc, argv); QMovie *mov = new QMovie("./test.mng"); QLabel label; label.setMovie(mov); label.show(); mov->start(); return app.exec(); } 上記のソース、Winだとtest.mngがアニメーションとして表示されるのですが、Macだと表示されません。 Q_IMPORT_PLUGIN(qmng)をつけて.proファイルにQTPLUGIN += qmngを追加すると今度は /usr/local/Trolltech/Qt-4.1.4/plugins/imageformatsにはlibqmngがあり、それをリンクしようとしているにも関わらず、 qt_plugin_instance_qmng() というシンボルが見当たらない、というエラーが出ます。 どのようにすればMacでもWinと同じようにmngを表示出来るようになるのでしょうか、 どなたかご存知でしたらお願いします。
411 :
デフォルトの名無しさん :2006/09/28(木) 09:12:21
>> 409 label がとても小さく表示されていたので、resize() したら表示されました。
>>410 そのページ、なぜか我が家のMacからだと見えません……。
明日、会社からアクセスしてみます。
>>411 ほんとだ……。表示出来ないのではなくて、ウィンドウが小さくて見えなかっただけなのですね。
全く気が付きませんでした。ありがとうございました。
413 :
デフォルトの名無しさん :2006/09/29(金) 21:40:46
Qt3をMinGW+MSYSで使いたいのですが、どのようにインストールしたらよいのでしょうか? (Qt以外に必要なライブラリが、Qt4にまだ対応していないのです。) ご存知の方、教えていただけないでしょうか。 いろいろなページを見たのですが、どうにもうまくいきません。
Qt4にも3互換のやつが入ってるぜ。4でやってみたら?
415 :
デフォルトの名無しさん :2006/10/04(水) 17:50:45
Qt4.1.4をstaticでコンパイルしてライブラリはできたのですが、 チュートリアルの1をコンパイルしようとすると、以下のクラスのメンバ関数が 未定義というエラーが出ます。 QBasicTimer QTimer QMimeData QAbstractItemModel QSignalMapper なぜこれらのクラスだけリンクされないのか原因が分かりません。 なお、.objディレクトリにoファイルはできています。 このoファイルを直接チュートリアルのプログラムにリンクしてやると、 うまくコンパイルとリンクができて、実行ファイルができます。 環境は、PlamoLinux3.3、gccは3.1.2です。
416 :
415 :2006/10/04(水) 18:02:22
なお、ar xvでlibQtCore.aとlibQtGui.aを分解してみると、 上記のクラスの.oファイル(QTimer.oなど)が出てきますので、 クラス自体のリンクはなされてるようです。
417 :
415 :2006/10/04(水) 18:34:16
nm libQtCore.a | grep stop とやると、 00000044 T stop__11QBasicTimer 00000128 T stop__6QTimer U stop__6QTimer が出てきます。 しかしリンクしようとすると、これらはundefined referenceになってしまいます。
418 :
415 :2006/10/04(水) 18:55:43
自己解決です。 -lQtCore -lQtGuiと書いていたのがまずかったです。 -lQtGui -lQtCoreでできました。 「依存されるライブラリは後に書く」 ということですね。
4.2リリース!
420 :
デフォルトの名無しさん :2006/10/05(木) 09:52:19
Qtのコンフィグでfreetypeの項目がありますが、 これをnoにするとTrueTypeのフォントが使えなくなるのでしょうか?
421 :
デフォルトの名無しさん :2006/10/06(金) 11:18:09
Qt4.1.4を使っているのですが、 X11にインストールされているすべてのフォントがQFontDialogやQFontDatabaseでリストされません。 調べてみたところ、TrueTypeのもののみリストされ、pcf形式のフォントが出ないようです。 Qt3のアプリケーションだと、すべてのフォントが出てきます。 どなたか原因の分かる方いましたら、教えてください。
422 :
421 :2006/10/06(金) 14:43:41
どうやらQtではなく、fontconfigの問題っぽいです。 fontconfigのfc-listでリストしてみても、pcfのフォントが出ません。 ちなみにQtのconfigureのオプションでfontconfigをnoにしたら 「浮動小数点例外です」で、QApplicationのコンストラクタがこけます。
423 :
QuickTime? :2006/10/15(日) 02:01:06
良スレに出会ってしまいました.2chには初カキコです. Qt 4.2をMac OSxでコンパイル中ですが,makeが6時間しても止まりません. これって普通でしょうか? (4.2用のスレが既に立ってたりして,板違いならご指摘ください.)
424 :
QuickTime? :2006/10/15(日) 02:25:55
すみません.やっと終わりました. ただいまmake install中です. なんちゅうこっちゃ.
コンパイルは結構時間がかかる。IntelMac miniで2〜3時間くらい。 PowerBook 12inchだと眠る前にmakeして朝起きたら終わっている、くらい。
426 :
QuickTime? :2006/10/15(日) 09:07:22
たしかにそれ > くらい でした.
macもたぶん同じだと思うけど、 linuxの場合-release をやればデバッグ用のオブジェクトはコンパイルされなくなるから、 コンパイル時間が約半分になるよ。 あとexamplesとdemosのディレクトリは消してもいい。これで大幅に時間が短縮できる。 基本的にlibディレクトリのlibQtCore.so(又は.a)とlibQtGui.so/aができてれば 途中でストップさせてもインストールできる。 ちなみに俺の環境はPentiumIIIの800だけど、これだけなら40分で終わった
428 :
QuickTime? :2006/10/17(火) 07:36:37
なるほどなるほど. しかしexamplesとdemosの充実は凄いので, 初心者の人は使った方がよいと思われます. ちなみに私はiBookです.
しかし、Mac版でqmakeするとMakefileにソースツリー内のライブラリと フレームワークディレクトリへのパスが追加されるのはやめてもらいたい。 まぁ、フレームワーク内にある.prlファイルを編集すれば良い話なんだが。 誰も疑問に思わないのか?
どうして?
431 :
QuickTime? :2006/10/17(火) 23:46:15
ダウンロードしたフォルダごと,ソースファイルを消したらコンパイラが文句を言ってきました. > フレームワーク内にある.prlファイルを編集すれば良い話なんだが。 該当パスが入っている行を消せば良いのでしょうか? それとも本当に必要なファイルだったのでしょうか?
>>430 すまん、説明が足りなかった。問題なのは、Qtのソースツリー内の
libディレクトリが-Lや-Fで設定されること。これは意味ないと
思うんだが。
>>431 各.framework内の.prlファイルを編集して、-L /path/to/src/tree/lib
および -F /path/to/src/tree/lib を削除すれば、コンパイル時に文句を
言われなくなる。
433 :
QuickTime? :2006/10/18(水) 06:12:38
なぁ、QTDIR 以下のディレクトリって qmake 的には特殊なのか? QTDIR/example/tutorial/t1 にて qmake -project qmake make と実行しても qmake -o Makefile t1.pro qmake -o Makefile t1.pro qmake -o Makefile t1.pro ... C-cするまで延々と繰り返される状態なんだが... 他のディレクトリに移してから make すると正常にビルドが終わるんだ 両方の Makefile を見比べてみたら全然違う 危うくチュートリアルすら終わらせられずに挫折するところだったんだぞ
>>434 exampleなんかは.proファイルがあるんだから、最初のqmake -project
は必要ない。
>>435 要らないにしても、元からある .pro ファイルから qmake で Makefile を作って make しても
あるいはそれも飛ばして元からある Makefile で makeしても
やっぱり同じで qmake -o Makefile t1.pro ...の繰り返しだよ
チュートリアルの練習問題を解こうとしてハマった
Qt4の採用が全然増えないのはなぜ? 最新のLinuxのディストリビューションでQt4を標準パッケージとして 入れているものが皆無なんですけど。
そらQt4ベースのKDEが出来てないからでそ まだまだQt3ベース全盛
>>436 少なくとも、Mac版のQt4.2.0では問題無くビルドできるから、
環境依存の話だな。
単にデバッグ用のバイナリがないだけなきがす
>>436 Windows XP、SUSE Linux 10.0、MacOS X上で試したが、普通にコンパイル出来た。
Qtそのものをmakeし直してみては?
442 :
436 :2006/10/20(金) 11:24:56
結論から言うと path を通すときに Qt のパスを MSYS より先に定義したら QTDIR 以下のディレクトリでも正常にビルドできるようになった Qt のパスには make.bat が置いてあって、中身は mingw32-make (make 3.80) を呼んでいた 一方 MSYS のパスには make 3.79 が入っていた... 環境依存にもほどがあるよな orz お前らどうもありがとう
なぜQtは、関数名の最初が小文字なのでしょうか?JAVAを参考にしてるのでしょうか? しかしプロパティアクセスでgetを省略してますね。setはあるのに。 あとなぜクラス名の最初にQをつけるのでしょう? そんなのをつけるぐらいなら、名前空間使えばいいでしょうに。 それから、Qt4は、どうしてQt2/3とソースコードに互換性を持たせなかったんでしょう? Qt2が出たのは1999年です。それからQt3の最終バージョンが出るまで6年。 この6年間で蓄積されたQtアプリケーションの資産は膨大です。 それをすべて捨てなければ得られなかったものがQt4にはありますか? 結局Qtを使う人々は、トロルテック社に踊らされてるにすぎないのです。 オープンソースとは、もっと自由であるべきです。ボランティア精神によって成り立つべきです。 企業に束縛されているQtに本当の自由はありません。 さあ今こそQtを捨て、本当の自由を手に入れましょう!
444 :
デフォルトの名無しさん :2006/10/21(土) 01:15:28
( ´`ω´)シシシ (つ444⊂
>>443 オープンソースとフリーソフトウェアは全く違う概念だから、出発点からして間違っている。
煽るにしても、も少し勉強してた方が良いよ。
>>443 > それをすべて捨てなければ得られなかったものがQt4にはありますか?
Trollの中の人はそう考えてるぞ。
確かに今更感はなきにしもあらずだけれども、滅びていくよりは良いとおもう。
なにもQt3が明日から使えなくなる、というわけではない。
Qt3ってまだメンテナンス行われてるんですね。Qt3.3.7が出てますよ。 まあKDE3がメンテされてるから当然かもしれませんが。
449 :
447 :2006/10/24(火) 02:50:25
Xcode 環境設定→ファイルタイプで、 file→text→text.htmlをHTML Fileに設定したらうまくいった!
450 :
デフォルトの名無しさん :2006/10/25(水) 06:28:32
Qtのライブラリをできるだけ小さくしたいのですが、 configureで削れるところは削ったのですが、 たとえば不要なウィジェットを使わないようにするなど細かい設定もできるんでしょうか。
フォントがらみのことで質問があります。 QFont f = QFontDialog::getFont(&ok); label.setText(f.family()); label.show(); のようなソースを実行し、ヒラギノ丸ゴを選択すると、表示されるウィンドウには ヒラギノ丸ゴ Pro W4 という風に表示されます。 この、ヒラギノ丸ゴを直接Qfontに設定するつもりで QFont font("ヒラギノ丸ゴ Pro W4"); という風にしても設定されませんでした。 QFontDialogを使わずにソースコード中に直接埋込むにはどのようにすれば良いのでしょうか? 使用しているQtのバージョンは4.2.0です。 以上、よろしくお願いします。
>>452 無責任な発言だけど、ソースファイルの漢字コードが違ってるとかじゃないのかなぁ。UTF8?
454 :
452 :2006/11/01(水) 00:23:50
>>453 それは自分も確認しました。確かにUTF8で記述されたソースです。
職場のQt/win4.2.0では
QFont font(QObject::trUtf8("HG行書体"));
としたところ正しくHG行書体で表示されたので同じように
QFont font(QObject::trUtf8("ヒラギノ丸ゴPro W4"));
と、trUtf8の引数にしてみたのですがダメでした。
>>454 選択してでてくるってことは、たぶん"ヒラギノ丸ゴPro W4"って名前がおかしいんじゃないのかな。
半角英数とか半角スペースとかを疑ってみるべき。toStringしてみれば?
456 :
452 :2006/11/01(水) 23:39:56
>>455 出来ました。フォント名が間違っていました。
QFontDatabaseでフォント一覧を作り、それをQTextEditに出力し、フォント名を
ソースにコピペしたところ、正しくヒラギノ丸ゴで出力されました。
下らない質問にお付き合い下さいまして、ありがとうございます。
正直、顔を真っ赤にしてカキコしてます……。
457 :
デフォルトの名無しさん :2006/11/04(土) 02:09:55
EclipseでQt4を使っています。 スロット&シグナルを使ったプログラムをコンパイルしたら、 undefined reference to vtable ... というエラーがでてしまいました。 mocの指定(?)ができていないのが原因、ということだけは分かったのですが、 EclipseもQtも使い始めたばかりでどう対処したらよいのか分かりません。 どなたか、アドバイスいただけないでしょうか?
Q_OBJECTマクロを忘れている クラス定義がヘッダファイルに無い .proファイルを更新していない とかチェックしてみて
459 :
デフォルトの名無しさん :2006/11/04(土) 12:08:30
お返事ありがとうございます。 Q_OBJECTマクロは、単にクラス定義のprivate部分に Q_OBJECT と書けばよいのですよね。 それで合っているなら、初めの2つは大丈夫だと思います。 .proファイルの更新、これがよく分かりません。 .proファイルや.moc自体できていません。 実はこのプログラムは本(C++ programming with Qt4)に載っていたものなのです。 このプログラムが必要で、ここに至るまでの部分を殆ど読み飛ばしてしまっているのが問題なのでしょうが・・・。
>>459 >このプログラムが必要で、ここに至るまでの部分を殆ど読み飛ばしてしまっているのが問題なのでしょうが・・・。
qmakeでググるといいよ
フネ
463 :
デフォルトの名無しさん :2006/11/05(日) 01:29:22
qmake、使ってみることにしました。 それに伴い、今までManaged Makefile Projectにしていたのですが、 Standard Makefile Projectに変更しました。 必要と思われるライブラリをInclude Paths and Symbolsに指定して、 .proファイルを作って Build commandに qmake [ファイル名].pro を指定してMakefileを作成し、 次にBuild commandに make を指定してプロジェクトのビルドをしたところ、 「QGLWidgetが見つからない」エラーがでてしまいました。 QGLWidgetのあるファイル([QTPATH]/include/QtOpenGL)はInclude pathに指定してあります。 何が足りなかったのでしょうか。 あるいは Build commandを初めとする使い方自体が間違っているのでしょうか?
eclipseもQtも使い始めたばかりなら、多分君はどちらが問題なのか切り分けが出来ないのでは? 個人的にはeclipseをやめて、テスト用のディレクトリを作成し、そちらで簡単なプログラムを作成 してコンパイルすることをお勧めする。 正直、eclipse+CDTはまだ初心者向けの環境ではないとおもう。
>>463 QGLWidgetが見つからないのがリンクエラーなら、 .pro ファイルに
QT += opengl
の記述が必要。
コンパイル時にインクルードが見つからないのなら、
ttp://lists.trolltech.com/qt-interest/2005-03/msg00369.html の2人めが書いているように、project settings に $QTDIR/include を追加する必要があるはず。
...自分は、MinGW環境(Windows)でやっているんだけど、設定するのが面倒(!)なので、
eclipseはエディタとしてしか使っておらず、コンパイルはQtをインストールしたときにできた
コマンドプロンプトでmakeしています。
>>465 そんなあなたにmingw-developer studioおぬぬめ
激マイナーですかそうですか(´・ω・`)
468 :
デフォルトの名無しさん :2006/11/05(日) 13:41:05
QT += opengl,抜けていました($QTDIR/includeはokです)。 追加したら先のエラーは出なくなったけれども、今度は cannot find -lqtmaind と言われてしまいました。きっとこれを克服しても他のエラーが出るんだろうな。 コマンドプロンプトにした方がいいんだろうか?? インタフェース部分(Qtを使おうとしているところ)以外に、 ガッツリプログラムを書かなきゃならないので、 eclipseはそこでのデバッグにとても便利なのだけれど・・・。 Eclipseは確かに使い始めて日が浅いのだけれど、プログラム自体は多少かじっているから、 eclipseに関する問題は自分としてはライブラリやパスの指定をどこでしたらいいのか分からない、ということなのだと認識しています。 Eclipse plugin for Qtは職場で一度入れようとしたのですが、失敗したので・・・。 自宅と職場では同じ環境を使いたいのです。
linuxにしてkdeveloper使えばnearly解決?
470 :
デフォルトの名無しさん :2006/11/05(日) 18:19:50
職場、共有マシンなのでOSを入れるのはためらわれます。 なので、Windows+MinGW以外で使ったことないです。 作ったアプリはマルチプラットフォームでも、 作る環境はきっとWindows以外のほうがいいのだろうな、とは思っているのですが。 WindowsでIDE使ってQtなんて、高望みすぎるんですかね・・・。
qemuでも使って仮想PC上で動かせば?
高望み、というか。
Javaと違って、C/C++は泥臭い言語だし、Qtのようなフレームワークを使っててもやはり泥臭い。
こういう泥臭い言語はある程度は泥臭いことを経験しておかないと、いつまで経っても人に質問し
てばかりになる。
以上、抹香臭い年寄の小言。
そのエラーに関しては
>>170 を確認したかな?
>>470 会社で使うのだったら、商用版を買うとかなり楽だぞ。
(Qt Integrationは結構良い。)
あと、"make -f Makefile.Release" とやればコンパイルは通るのでは?
(コマンドラインで、だけど。)
474 :
デフォルトの名無しさん :2006/11/06(月) 01:10:44
>> 472 抹香臭くなんかない 核心を突いてる。 170を確認後、Qt 4.2.1 (Build Debug Libraries) を実行しようとしたんだが、 'mingw32-make' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 と言われてしまった。未熟だな。まだまだ泥臭いことの経験が足りん。 >> 473 プロパティー → C/C++ Make Project → Make Builder → Build command で Use defaultのチェックを外してBuild command: に make -f Makefile.Releaseを指定してみた。 コンパイルできた!!ちゃんと実行できた。ありがとう。
4.2.2を使ってるんだけどlinuxとwindowsでQSystemTrayの挙動が違う linuxは最後のウィンドウを閉じてもタスクトレイが残っててプロセスもちゃんと生きてるんだけど、 windowsではウィンドウを閉じるとプロセスごと終了してしまう だれか打開策を知らないだろうか?
476 :
デフォルトの名無しさん :2006/12/05(火) 22:04:14
ファイルダイアログを使ってファイルを開くためのスロットを サンプル見ながら作ったのですが void MainWindow::open() { QString fileName = QFileDialog::getOpenFileName(this, tr("QFileDialog::getOpenFileName()"), infoLabel->text(), tr("All Files (*);;IMG Files (*.img)")); if (!fileName.isEmpty()) fopen(fileName.data(),"rb"); } このように作ってみると、コンパイル時にcharに変換出来ませんと出るのですが 一般的にはどのようにするのでしょうか? qt4.2win です。
data()はQChar *を返すようです。 fopenではなく、Qtのクラスを使うのはどうですか。
478 :
デフォルトの名無しさん :2006/12/10(日) 04:49:45
>>476 fileName.toLocal8Bit().constData() でどうでしょう?
479 :
デフォルトの名無しさん :2006/12/16(土) 17:53:40
Qt4.2.1 Win FreeのVS Patchで、VS2005にSP1を入れたら、コンパイルできなく なりませんか?
>>480 >qt ライブラリ ソースの最新の バージョンがコンパイルでエラーを生成しま
>す。:
>VC++コンパイラの修正プログラムで、特定のテンプレート コードが Visual
>Studio 2005 SP1 でコンパイルしないで、そして C2244 エラーを生成するの
>が発生しました。 SP1 を使わないでコンパイルを実行するコードでは、継承
>されたテンプレート クラスと入れ子になった型を使用します。 特にこうし
>たテンプレート コードを使用する qt ライブラリ ソースの現在のバージョ
>ンは、この変更の影響を受けてあります。
こんなの回避できません。ので、SP1は待ちかも。
482 :
デフォルトの名無しさん :2006/12/19(火) 12:38:19
Qtでグローバルなキーボード/マウスフックを入れる方法はありますか?
483 :
45 :2006/12/19(火) 14:26:43
シェーカーソートで昇順に並べるプログラムを教えてください。あと移動回数もわかるやつでおねがいします。
484 :
デフォルトの名無しさん :2006/12/19(火) 21:51:30
タブエディタつくりたいんだけどQtでタブの部分できる?
>>484 ドキュメントのAll Functionsのところでtabを探してみる位の努力をしてはいかがですか?
>>482 QApplication::desktop()->grubMouse()とかできないかなぁ?
>>483 スレ違い
>>484 All Classesだったorz
Qtが死滅するのはいつ頃ですか?
>>479 Photoshopには使ってないしPhotoshopのUIにも使ってないよ。
Photoshop ELのおまけの画像管理ソフトに使ってるよ。
誤解を生むことを意図した営業トークだよ。
489 :
デフォルトの名無しさん :2006/12/21(木) 11:30:38
教えてください。 例えばQPushButton1からQPushButton100まであります。 QPushButton1から順番に回して属性を変更したいのですが、 QPushButton1の様なコントロール名の数字の部分を変数にして処理するにはどうすればいいでしょうか。 for(int i=0; i < 100; i++) { int n = i+1; Form1::Button1 -> setHoge(moge); }
配列に入れればいいじゃない
あと試してないけど parent->children() でリストを取得して child->objectName() で名前を取得すればいんじゃね?
>>490-491 僕には難しくって何がなんだかさっぱり分かりません。
ボタン2個だけ、別のボタンを押すとこの2個のボタンサイズが変わる様なサンプルアプリ作って試してみようと思います。
レスありがとうございます。
493 :
デフォルトの名無しさん :2006/12/21(木) 22:11:02
#ifndef HOGE_H #define HOGE_H #include <QWidget> class QPushButton; class Hoge : public QWidget { Q_OBJECT; public: Hoge(QWidget *parent=0); ~Hoge(); private: QVector<QPushButton *> v; public slots: void larger(); void smaller(); }; #endif // HOGE_H
494 :
デフォルトの名無しさん :2006/12/21(木) 22:11:35
#define HOGE_CPP #include <QtGui> #include "hoge.h" Hoge::Hoge(QWidget *parent) :QWidget(parent) { for(int i=0; i<20;i++) v.append(new QPushButton(QString::number(i))); QPushButton *l = new QPushButton(tr("&Larger")); QPushButton *s = new QPushButton(tr("&Smaller")); connect(l, SIGNAL(clicked()), this, SLOT(larger())); connect(s, SIGNAL(clicked()), this, SLOT(smaller())); QVBoxLayout *vbox0 = new QVBoxLayout; for(int i=0;i<v.count();i++) vbox0->addWidget(v.at(i)); QVBoxLayout *vbox1 = new QVBoxLayout; vbox1->addWidget(l); vbox1->addWidget(s); QHBoxLayout *hbox = new QHBoxLayout; hbox->addLayout(vbox0); hbox->addLayout(vbox1); setLayout(hbox); } Hoge::~Hoge(){ qDeleteAll(v); } void Hoge::larger(){ for(int i=0;i<v.count();i++) v.at(i)->resize(v.at(i)->size()*1.1f); } void Hoge::smaller(){ for(int i=0;i<v.count();i++) v.at(i)->resize(v.at(i)->size()*0.9f); }
ネタだろ? CやC++の基礎も理解してないやつにQtを使えるわけがない。
ネタじゃないんですよ。ちょっとずつですが必要になった所を勉強しながらちまちま作ってます。
仕事ではないです。
C++はたまたまQtがそれで書かれていたからはじめただけで、言語やツールキットなんて
何でも良かったし、当然Qtである必要もありませんでした。
自分の書くコードはこの上無く陳腐で、美しさのかけらもないのは自覚しています。
上で質問させて頂いたのも、このせいなんです。
>>493-494 を見せていただいて、思い描いていたのと全く違ってました。
既に作ってしまっているQPushButton0〜19の名前をどうこうするわけではないんですね。
ありがとうございます。
>>496 本当にネタじゃないなら、一応アドバイス。
C++どころか、プログラムすら未経験っぽいあなたが
どうしてQtでなんか作ろうと思ったのかは知らないけど、
まずはC++の勉強をそこそこやった方がいいと思う。
本でもネットでもいいから、とりあえず条件、反復、配列、ポインタ、クラスあたりは
書けるようにしといたら、大分違うよ。
実は俺もQtで書こうと思ったらC++だったんで、C++学びはじめたんだ。
Cはまぁ書けたけど、C++は食わず嫌いしてたんだなぁ。
でもQtのコード見てたらシンプルさに感動して、今ではC++好きだよ。
499 :
デフォルトの名無しさん :2006/12/25(月) 05:36:07
>>499 まあ、まちがいなく数はすくないだろー。
どんなのお探し?
ちなみに、つくってTrollに売ったら、ライセンス料をまけてくれるという噂。
501 :
499 :2006/12/25(月) 14:56:42
いままでBorland関係で使ったコンポーネントを挙げれば、 ・TWAIN制御、読込 ・DirectX関係 ・アプリケーションエラーのログを実行時に取るコンポーネント ・ウインドウサイズの前回の状態保存、復元 ・データ圧縮 ・別のEXEを起動 ・共有メモリー ・画面FORMとCPPソースから文字列を抽出し、他国語に変換したファイルをEXCELで作成できるツール+コンポネント ・タスクトレイに入るコンポーネント ・アニメーションアイコン ・リバースエンジニアからコードを保護するプロテクト用のコンポーネント ・ヒントボックス(バルーン表示) ・複数起動禁止 ・キャプションバーにボタンをつける ・バーコード出力 ・かっこいいボタン、チェックボックスなど ・3Dグラフ表示 >500 ありがとうございます。いいこと聞きました。早速その噂を調べます。
Qt4.2から登場したGraphicsViewを使ってプログラミングしています。 検索しても、全然引っかかりません。 orz... GraphicsViewを使っているFLOSSプロジェクトをご存じでしたら、教えてください。
503 :
502 :2007/01/06(土) 04:27:48
>>501 ほとんどはWindowsに依存した機能だよね??
Qtでラッピングする意味ないような。
受注仕事でソース納品の時とかは使えないよね?
>>505 ん? SRAからライセンスを書けばよいのでは?
>>506 すまん。書き方が悪かったな。
例えばオレがQtの商用ライセンス買ってプログラム作るとするじゃん。
んで、発注元にそれを納入するじゃん。
そのとき納入物にQt自体のソースを含めてもいいの?
あと、発注元がそのプログラムで商売するとき、
(パッケージソフトとして売るにしろ、ソースごと他所に売るにしろ)
発注元も商用ライセンスを買わないといけないの?
だとしたら、嫌がられない?
まあ、零細企業の発想と言われてしまえば
それまでだが。
下請けが相談もせず勝手にライセンス買って納品? そんな会社(技術者)には任せられない。
自分の都合を中心に世界が回ってると思ってそうな奴だな。
え? 商用ライセンスは発注元にソース公開しなくていいって ライセンスじゃないの? 発注元にソース公開するのがデフォならフリー版つかうか、 Qtのソースを含めずに納品して、発注元がQtの商用ライセンス 購入するかじゃね?
商用ライセンスしかないと考えるべきじゃないの。 Windows開発するとして、MSのVisualシリーズと Delphiとかかで開発したら、基本的にみんなが買わなきゃイケナイだろ。 >510 フリー版使っちゃったら、その時点でそれ以降、作成したソフトを GPLでライセンスするしかない縛りになるんじゃなかった?
そう、俺の理解では、フリー版Qt使って納品したら納品先には 自分のコードもGPLで納品することになると思っている。 それを嫌う人が多いのも承知している。 ところが実際問題、自分のコードがGPLになったからといって、 ちゃんと代金受け取れれば別に問題ないんではないかとも思える。 納品先がそのコードをバラまくメリットもあまりないだろうし、 GPLでなかったとしてもいずれにしてもソース納品ってケースなら なおさら納品先がソースいじったり別の人雇っていじらせる可能性 はもともとあるんだし。 そこさえわりきれればGPLのソース使いまくって楽できる。 俺ならGPLでソース書いて金もらえるなんてラッキーと思う。
>>512 納品先がGPLに対応してくれるならな。
普通はそういった労力を嫌うとおもうけど。
>>507 Qt4は、出荷一本あたりいくらかはらう必要がある。(Windowsだけかな?)
商用版は、開発するユーザーが購入すべきライセンス。
まあ確かに、インハウスでしか使用しない前提のソフトなら、 ライセンスがGPLだからって「安くなるならいいんじゃねーの」ってところかもだ。
社内利用だからってGPL(の様々な規定)を免れると思うな、って意味だな。
518 :
512 :2007/01/18(木) 01:25:01
>>514 サンキュー
>>508 >下請けが相談もせず勝手にライセンス買って納品?
相談もせずにとか誰も言ってないだろ
提案レベルでの話だ
>>512 >そう、俺の理解では、フリー版Qt使って納品したら納品先には
>自分のコードもGPLで納品することになると思っている。
>それを嫌う人が多いのも承知している。
>
>ところが実際問題、自分のコードがGPLになったからといって、
>ちゃんと代金受け取れれば別に問題ないんではないかとも思える。
著作権が自分にあるコードなら何も問題ないんだよ。
ソース納品 = ソースは納品先のものじゃん
んで、Qt使うとなると、納品先がメンテするときに
開発ライセンス買うか、Qtできるとこ(ライセンスを持っているとこ)に出すか
っていう制約がついてくるわけじゃん。
そうなると、そうそう「Qt使ってやりましょう」とかいえないじゃん。
んで
>>505 で何が言いたかったかというと
仕事で使ってる人はどういうケースで
使ってんのかなって聞きたかったわけだ。
微妙にすれ違いになってスマソ。
>>516 むしろ社内利用ならGPLでいいじゃん。
自社開発で自社にソース公開なんて普通だろ?
それ(自分で開発したソフト)にどんなライセンス付けようと勝手だけど、 QTがGPLな以上、配布するならライセンスはGPLコンパチな(=感染しても 問題ないライセンスである)必要がある。 システム全体としてはGPLになるんだよ、みたいな話なのかね。
>>522 自分で書いたソースの部分は GPL コンパチなライセンスなら何でも良いはず。
コンパイルして、GPL なライブラリとリンクした時点で GPL が適用されるけど、
その際に GPL とライセンスがコンフリクトしなければ良い。
そうじゃないと BSDL なライブラリと混ぜられないでしょ。
>>518 linuxZaurus,mylo,DivX,Skypeとか。
イメージでは、組み込みか、Linuxを含んだマルチプラットフォームでリリースしたいと思っているところかな?
>>521 GPLだと社外への配布に制限をつけられんと思うが、、、
セキュリティ上問題では?
Qtの普及に貢献する(オープンソース)か、対価を払う(商用)か、どっちかを選べ、というだけかと。
>>525 社外への配布に制限がつけられない?
社内システムを自社開発するのなら、納品先は社員でしょ?
ソース持ち出すななんて、社内のルールで縛れるんじゃないの?
それとも公開義務の話? 社外からソース公開しろっていわれても
公開する義務はないと思うけど。
>>526 「著作権(GPL)」と「会社のルール」のところで、ちょっとリスクがあるかな、と思うんだが。
つまり、著作権は法律で保護されている=copy leftの原則を行使される可能性がある、ということ。
こころない人によってルールが破られたときのリスクを理解した上で、どおってことないツールを
作るのに使うのなら別に構わないと思う。
>>526 GPL を遵守するのが前提であれば、社内ルールで制限をかけるのは無理。
公開したくない部分はサーバ側に逃がすか別プロセスにすれば良い。
>>528 ほんとに? 「ソフトを配布するときに相手にソースも配布しろ」
ってのがGPLのルールでしょ? 社内ソフトは外部に配布しない
んだから、当然社外にソースは配布しないでしょ?
>>529 なんか釣りのように思えてきた、、、。
別にソースの同時配布を義務づけるのがGPLではない、と思うのだが。
ルールと権利(〜できる)を混同してないか?
532 :
デフォルトの名無しさん :2007/01/19(金) 22:46:52
>>531 「ソフトウェアを再配布する事を制限するような付帯条件」を
ソフトウェアのライセンスに付けるのはたしかに違反だけど、
社員と会社の間の雇用契約として再配布をしないって決めること
にはなにも問題ないと俺は考えてる。
再配布をやっちゃった場合に、ソフトウェアライセンスには違反
してないってだけで、雇用契約に違反している。と。
無免許運転で子供をはねた場合に、児童虐待防止法では故意で
子供を傷つけたのでなければOKなんだけど、道路交通法で問題に
なるってのと同じじゃない?
534 :
デフォルトの名無しさん :2007/01/20(土) 08:04:39
すげースレ違いだな ただのライセンスの話じゃん
デモのimageviewerを参考にフォームにラベルとテキストエディット を配置しラベルに画像、テキストエディットにファイル名を表示 するように作ったのですがラベルにスクロールバーを 作るところがうまくいきません。 QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"), QDir::currentPath()); if (!fileName.isEmpty()) { QImage image(fileName); if (image.isNull()) { QMessageBox::information(this, tr("Image Viewer"), tr("Cannot load %1.").arg(fileName)); return; } textedit->setText(fileName); imagelabel->setPixmap(QPixmap::fromImage(image)); imagelabel->setScaledContents (true ); scrollArea = new QScrollArea; scrollArea->setBackgroundRole(QPalette::Dark); scrollArea->setWidget(imagelabel); と書いたのですがうまくいきません、最後の三行をなくせば 画像は表示されますが2000×2000程度の画像なので画面から はみ出してフォームが拡大されてしまいます。 どのようにすればいいのでしょうか。
>>538 ラベルでやるのではなくて、QGraphicsViewをつかえばどうかなあ?
540 :
539 :2007/01/21(日) 00:14:57
541 :
538 :2007/01/21(日) 00:31:22
539様、詳細な説明入りのサンプルコードまで書いて頂いてすみません。 QGraphicsView関連はデモのコードを見ても入り組んでいてよく分からなかった のですが、お陰様で前に進めそうです、本当に有難うございました。
度々すみません、同心円を解析するソフトを作っているのですが、 まず中心を合わせるためのスロットをこのように作りました。 QGraphicsScene scene; void IV::on_spinBox_valueChanged(int value) { X=value; QPixmap pix(fileName); QPainter p(&pix); p.setPen(qRgb(255,0,0)); p.drawEllipse(X-100,Y-100,200,200); scene.addPixmap(pix); } Yについても同様に作ったのですが、一度だけ反応するのですが 2回目からは反応しません、何処が悪いのでしょうか?
>>542 addPixmap()する前に、前のアイテムをremoveItem()してからaddPixmap()する、というのはどうでしょうか?
addPixmap()の返り値で、removeItem()するアイテムのポインタを取得できるはずです。
ご指摘有難う御座います。 scene.removeItem(scene.addPixmap(pix)); scene.addPixmap(pix); この様に追加した所うまくいくようになりました。 有難う御座いました。
Undelivered Mail Returned to Sender
This is the Postfix program at host srasca.sra.co.jp. I'm sorry to have to inform you that the message returned
below could not be delivered to one or more destinations. For further assistance, please send mail to <postmaster>
If you do so, please include this problem report. You can delete your own text from the message returned below.
The Postfix program
<
[email protected] >: host sranha.sra.co.jp[133.137.8.8] said: 550
<
[email protected] >... User unknown
Final-Recipient: rfc822;
[email protected] Action: failed
Status: 5.0.0
Diagnostic-Code: X-Postfix; host sranha.sra.co.jp[133.137.8.8] said: 550
<
[email protected] >... User unknown
---------- 転送されたメッセージ ----------
From: "Kimura Kazuhiro" <
[email protected] >
To: "
[email protected] " <
[email protected] >
Date: Fri, 26 Jan 2007 11:40:26 +0900
Subject: Re: 【 (株 )SRA Qt MailNews 特別号】 SRA主催お勧め無料セミナーの御案内
> ★このメールをお受け取りになったお客様へ★
> このメールは、Trolltech Qt製品をお使いのお客様、過去にTrolltech Qt製品の
> お問合せを頂いているお客様、各種サービスよりTrolltech Qt製品情報にお問合
> せを頂いたお客様にお送りしております。
> メール配信の停止、配信先の変更等ございましたら、このメールにご返信下さい。
配信停止をお願いいたします。
546 :
デフォルトの名無しさん :2007/01/31(水) 17:50:42
Qペイントでフォームに線をひきたいのですがペイントイベントを使わずに ボタンをクリックした時に引くにはどうすればいいのですか?
547 :
デフォルトの名無しさん :2007/01/31(水) 20:25:27
シグナル、スロット使えばいいのでは? QPushButton *b=new QPushButton; connect(b, SIGNAL(clicked()), this, SLOT(hoge())); void hoge(){ /*線を引く*/ }
Qtって、Desktop Light Licenseでも30万近くするんだね。 高いなぁ。
GPL採用すればロハじゃん。
550 :
デフォルトの名無しさん :2007/02/02(金) 11:21:52
>>547 さん
いえ、そのようにしてもQPainterはpaintevent内でしか
使えないというようなエラーが出てしまうんです。
551 :
デフォルトの名無しさん :2007/02/02(金) 21:02:18
//こんな感じではどうでしょうか?(もっといいやり方あるかも...) #include <QWidget> class QPushButton; class Widget : public QWidget { Q_OBJECT public: Widget(QWidget *parent=0); void paintEvent(QPaintEvent *e); QPushButton *button; void drawBackGround(QPainter &p, int w, int h); void drawForeGround(QPainter &p, int w, int h); bool disp; public slots: void buttonClicked(); };
552 :
デフォルトの名無しさん :2007/02/02(金) 21:05:07
#include <QtGui> #include "widget.h" Widget::Widget(QWidget *parent) : QWidget(parent), disp(false){ button=new QPushButton; connect(button, SIGNAL(clicked()), this, SLOT(buttonClicked())); QVBoxLayout *l = new QVBoxLayout;l->addWidget(button);setLayout(l); } void Widget::drawBackGround(QPainter &p, int w, int h){ QRadialGradient g;g.setCenter(QPoint(0, 0)); g.setFocalPoint(QPoint(10, 10));g.setRadius(w/2); g.setColorAt(0.0, Qt::white);g.setColorAt(0.2, Qt::green); g.setColorAt(1.0, Qt::black);p.setBrush(g);p.drawRect(QRect(-w/2, -h/2, w, h)); } void Widget::drawForeGround(QPainter &p, int w, int h){ p.setPen(QPen(Qt::black, 1, Qt::DashDotLine, Qt::RoundCap)); p.setBrush(QBrush(Qt::red, Qt::DiagCrossPattern)); QMatrix m;m.translate(-w/4, -h/4);m.rotate(90.0);p.setMatrix(m); p.drawPie(QRect(-w/8, -h/8, w/4, h/4), 30*16,300*16); } void Widget::buttonClicked(){disp=!disp;update();} void Widget::paintEvent(QPaintEvent */*e*/){ QPainter p(this); p.setRenderHint(QPainter::Antialiasing, true); int w=100,h=100; p.setViewport(0, 0, width(), height()); p.setWindow(-w/2, -h/2, w, h); drawBackGround(p, w, h); if(disp) drawForeGround(p, w, h); }
>>546 classにprivateなフラグ変数 draw_line = 0;でも書いといて、
ボタンクリックしたら、draw_lineを1にして描画イベントを呼び出す。
painteventでは、draw_lineが1なら、線を引くといってみる。
日本語を使うのって、関数でコンバートするか、別ファイルに保存して読み込むしかない? ファイルをUTF-8にしたら、そのまま日本語が通るなんてことはできない?
>>554 通るはずたけど。
.uiは、UTF8なはず。
>>555 え、そうですか?
ボタンの文字を日本語とアルファベットにして、フォントをMS Gothicにしてみましたが、
日本語部分だけ文字化けしてしまったんですが。
シフトJIS、UTF-8両方で試しました。
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
>>556 MS ゴシックって、Qt で Windows 専用開発でもしてるの?
559 :
554 :2007/02/13(火) 20:24:39
遅レスですが、
>>557 と類似命令で出来ました!
ありがとうございました。
>>558 デフォルトのフォントが日本語が通らないものかな、と思ったので、
適当にやってみました。
Qt触るの初めてなもので。
560 :
デフォルトの名無しさん :2007/02/15(木) 16:12:41
Qtの中の人ってwxWigetsなんでつか?
別個のものです!
562 :
デフォルトの名無しさん :2007/02/16(金) 08:53:46
Qtってどういう用途で使われてるんですか? wxWigetsと領域被ってるような。。。
>>562 ブラウザもあればKDEもあるし、
P2Pアプリケーションもある。
むしろwxWidgetsで作られたアプリを知りたい。
あ、そういう話ね。 ウィンドウライブラリを使う側の話だったんだけど。 Qtだと企業の物だし、組み込みで使おうとしたらライセンス要ったりめんどーかなーと。
トラブルが起きた時のサポートの事を考えると、仕事で使うのには結局何らかの契約が必要な訳で。問題があればとにかく煽りを入れて、連日徹夜させてでも納期を守らさせなくてはいけない。 場合によっては、海外にある相手のオフィスに監視要員を送り込むような事も必要。。
社内で使うアプリに使用するだけで 社外に出さない場合とかはライセンスどうなるの?
KDE日本ユーザー会って活動してるの? 掲載情報が古いすぎ
565の内容を理解したいんだが、 何度読んでも事態とか情景が分からない。
え、何、565の内容ってQtに関係無くってただの会社の情景? バカらしい文章読んじゃったぜ。
571 :
デフォルトの名無しさん :2007/02/22(木) 18:22:45
質問です マウスのクリックでプロットして図形を作成するものを開発しているのですが、わからないところがあったのでよろしければ回答お願いします。 クリック時にQlistBoxでプロットの回数と、座標を表示するようにしているのですが表示したItemをクリックしたときにプロットした点がわかるようにしたいのです。 点が小さいため、そのものを赤くしたら全然見えなくて拡大または他の方法がありませんでしょうか? またItemをクリックしたら処理をするようにするには、どのような関数を使えばよいのでしょうか? お願いします
572 :
デフォルトの名無しさん :2007/02/26(月) 08:55:34
ITRONでQ使えますか?
Juceが安くていいな。
Qt4.2.2、mingw-gcc 4.3でコンパイルできない・・・
>>574 PATHにCygwinのパスが含まれていませんか?
cygwin入れてません。けっきょくバイナリでいれました。でも、dllimport関連の警告がやまほど出るなあ・・・
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 :
続き :2007/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; }
>>577 最初は a b ともに 12、次はaが12、bが48になったけど。
期待通りの動作ではない?
う〜ん、もちろんそれが期待通りなんだけどコンパイル、実行しても なにも表示されないんだよね〜
確かwindowsだと標準出力に出なかったような...。 linuxだとちゃんと出るし、windowsでもcygwin上から実行すると出た気がします。
確かに当方、mingw版です。cout取られちゃうんですね。了解しますた。
583 :
デフォルトの名無しさん :2007/03/10(土) 06:48:59
printfやfprintfだとどうなる?
qDebug() << "hello, world" とか、よくやります。
586 :
デフォルトの名無しさん :2007/03/27(火) 21:42:58
GPL的には可能ではないのか?
ソース毎コピーされて、ばらまかれても商売が成り立つならいいんでないの。
>586 何をやるか、すごく興味がある できれば、おしえてくれませんか?
>>590 ただ商用ライセンス高いからGPLをソフトを配布するかなと思ってるだけです。
>>577 .proファイルに
CONFIG += console
と追加したらwindowsでも
qDebug()<< "moji";
で出力できるようになりました。
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 と定義されていますが、これはバージョンが新しすぎるということなのですか…?
594 :
デフォルトの名無しさん :2007/04/05(木) 06:45:30
シェアウエアは商用に入りますか? バナナはおやつに入りますか?
シェアウエアのライセンスがGPLであることに耐えられるなら、 free版を使えばいい。寧ろシェアウエアの本義に近いな。 GPLなバナナは(ry
食べたらどうなるんだwwwwwwwwwwwwwwwww
難読化してもセーフ?
>>593 とりあえずw32api.hにある定数を以下のように書き換えたら通りました…。
書き換えていいのか分からないですが。
#define __W32API_VERSION 3.2
#define __W32API_MINOR_VERSION 2
商用ライセンス高いな。 これで普及してくれるんだろうか?
高いですよね。 安くしてください。
GPLにしろよ 無料で使えるうえに、フリーソフトウェアに貢献できる。こんな素晴らしいことはない。
GPL で公開しなくても良いんだよね? 自分で書いた部分は MIT や BSDL みたいなもっと自由なライセンスで。
>>603 ソースそのものはそれでもいいけど、
GPLなQtでコンパイル・リンクして作った実行バイナリはGPLになるよ。
つまり、その場合
・Qtの商用ライセンスを持ってる人は煮るなり焼くなり好きにして。
・それ以外の人にとってはGPL。
ということになるね。
自分の作品を発表するかどうかは作者の自由だろう。 できあがった作品が満足できなかったら発表しないのは当然じゃないか? ライセンスをみると発表する義務があるみたいに書いてあるが それは憲法で保証された表現の自由を侵害しているのではないか?
>605 憲法までもってくるはなしじゃないとおもうけどなw
>>605 書いてないし。というか、仲間内で使う分にはソース出す必要なし。
一般公開して、ソース欲しいよ〜ん、って言った人に送る必要がある。
GPL そのものじゃなくて、Trolltech の説明の方にそんな風に書かれていた様な気がする Trolltech の独自解釈なんて気にする必要無いけどね
その常識はどこの常識だw
補足しておくと、GPL コンパチなライセンスを採用すれば問題無いよ。 GPL より自由な BSDL などのライセンスにすれば、GPL が問題を起こす事は無い。 続きがあるならライセンススレで。
612 :
605 :2007/04/13(金) 23:03:03
ライセンスと書いたがこれは記憶違いで正確にはGPLそのものではなく ホームページのFAQにある説明だった。 (www.sra.co.jp/qt/faq) しかしこのFAQを認めるともはやGPLとはいえないのじゃないだろうか?
>>611 コンパチってのは、GPLがBSDを取り込むことができるって意味だろ。
その逆はねえよ。そんなのが許されるなら、LGPLの意味がねえよ。
補足しておくと、BSDL なプログラムから GPL なライブラリをリンクする事は可能。
リンクした時点でバイナリが GPL になる事は
>>604 の通り。ソースは BSDL のまま。
これは LGPL の存在理由を損なう物ではない。LGPL は再リンクさえ出来ればソースの
公開義務も無い、全く別種のライセンス体系だ。
>>615 > 補足しておくと、BSDL なプログラムから GPL なライブラリをリンクする事は可能。
> リンクした時点でバイナリが GPL になる事は
>>604 の通り。ソースは BSDL のまま。
「バイナリがGPL、ソースは BSDL のまま」なんてびっくり仰天。
L(劣等)GPLのライブラリをリンクしても、GPLに基づくソース公開の義務は発生しないけれど、
GPLのライブラリをリンクすれば、プログラム全体にGPLに基づくソース公開が発生するよ。
だいたいさ、「バイナリがGPL」って言う時点でそのバイナリのソースをGPLで公開する
義務が発生わけだし。
>>613 の話は、こういうこと。
BSDLのソースをGPLのプログラムに取り込むことはできる。その場合はすべてをGPLで公開する。
GPLのソースをBSDLのプログラムに取り込むことはできない。
ただし、GPLのソースを取り込んだ後のプログラムをすべてGPLで公開するならOK。
曖昧だった。 より厳密に修正。 >L(劣等)GPLのライブラリを静的にリンクしても、GPLに基づくソース公開の義務は発生しないけれど、 >GPLのライブラリを静的にリンクすれば、プログラム全体にGPLに基づくソース公開が発生するよ。
>>612 FAQの何番のどの文章にそう書いてあるんでしょ?
>>616 例えば↓このような状態でソースを配布するのは全く問題無いよ。
Software A contains...
Source A : GPL
Source B : BSDL
Source C : MIT
>バイナリのソースをGPLで公開する義務が発生わけだし。
GPL の規定に基づいて、自作ソース部分は BSDL で公開する事も可能。
もちろん元々 GPL だった部分を BSDL に変えて配布するのは無理だよ。
>GPLのソースをBSDLのプログラムに取り込むことはできない。
取り込むと言うけど、どちらかのライセンスに一本化する必要は無いんだよ。
GPL は流石にそこまでは求めていない。共存出来るからコンパチブルな訳。
ビックリ仰天かもしれないけど、これが真実。
Qtオープンソース版の取り扱いに関わる問題についてはここで良いでしょう。 少なくともQtオープンソース版を使ったプログラムを配布する場合は、 プログラム全体をGPLかQPLとすることが求められます。
GPLと矛盾のないライセンスのコードとGPLのコードを結合することは、結合されたプログラム
がGPLで配布される限り許可されています。
以下、
ttp://www.gnu.org/licenses/gpl-faq.ja.html からの引用です。
リンク先原文には、質問を表す「Q.」、回答を表す「A.」は付いていませんが下記の引用では
明示的にQ,Aを区別するために付加しました。
-----------------------------------------------------
Q.ライセンスが「GPLと矛盾しない」とはどういう意味ですか?
A.他のライセンスとGNU GPLが矛盾しないという意味です。
あなたは、他のライセンスの下で公開されたコードをGNU GPLの下で公開されたコードと
結合して一つの大きなプログラムにすることができます。
GPLでは、そのような結合著作物がGNU GPLの下で公開される限り、結合を許可しています。
他のライセンスもそれを許可しているならば、そのライセンスは GPLと矛盾しません。
-----------------------------------------------------
Q.GPLが適用されたプログラムを私のコードとリンクして独占的なプログラムを
ビルドしたいと考えているのですが、私のコードとそのプログラムとをリンクすると
私のプログラムにもGPLを適用しなければならなくなるというのは事実でしょうか?
A.その通りです。
待て待て、Qtオープンソースを使った自作プログラムの自作部分のソースを パブリックドメインにするのはOKか? (日本じゃ厳密にはパブリックドメインは成立しないかもしれんが) 自作部分がパブリックドメインになっていて、その自作部分を別の者が入手するとする。 入手した奴はそれをどんな風に使おうが自由自在だ。それを、Qt商用版でコンパイルすれば、 いきなりプロプライエタリなプログラムの出来上がりだ。 つまり、Qt商用版を1ライセンス持っておけば、あとはオープンソース版を使って複数の人員で プロプライエタリなソフトを開発できちゃうことになるわけだ。 これがOKだったら、Trolltechはやってられんなあw
>>623 確かに、開発ライセンスの縛りは GPL との矛盾が大きいと思う。
先に出ていた FAQ は苦肉の策なんだろうね。
>>624 「矛盾」とか「先に出ていたFAQは苦肉の策」とは具体的にはどの文言?
SRAのFAQにGPLと矛盾するようなことは書いてないんじゃない?
GPLのソフトウェアを配布する場合に、それに著作者がGPLと矛盾しない条項を追加すること自体は
GPLとは矛盾しないよ。
著作者によって特別に条項が追加されていない素のGPLの場合は、追加の自作部分をBSDLにしようが
パブリックドメインにしようが自由自在だけれど、
ttp://www.trolltech.com/products/qt/licenses/licensing/opensource 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とは矛盾はしないんじゃない?
>>625 「ソースを公開しつつも商用なプログラム」という概念を持っていないからおかしな記述が多い。
GPL を間違って解釈していると思われる部分もある。
A3: ソースコードも無料で公表する必要があり
--> 配布の手数料は取っても良い
A4: 報酬を要求したり(中略)できない
--> 報酬を要求しても良い。
GPL では、既にバイナリを入手している人に対してソースコードを開示する義務があるだけ。
Q7: 商用アプリケーションを開発することはできますか?
A7: 商用ライセンスを購入すればできます
--> GPL でも商用アプリケーションを開発出来ない理由は無い(ソースが公開に制限が無ければ)
A13: 商用ソフトウェアを製造したいのであれば)、Qt の商用版を購入しなければなりません
--> GPL 版の Qt を使用して GPL の規約に則った上で商用ソフトを開発するのは GPL に違反していない。
Q14: 自分のソースコードを公開したくないのです。どうすればいいですか?
A14: Qt の商用版ライセンスを購入しなければなりません。
--> GPL ではバイナリを入手した人にだけソースを公開すれば良い。
ソースを公開しない為に商用版ライセンスを購入する必要は無い(バイナリを配布しなければ良いだけ)。
などなど。
>>626 in addtion to じゃなくて in accordance with なんだから、
追加条項とは言えないんじゃない?
>>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)を訳してみてよ。
>>627 俺の目は節穴w
ま、いいや。Qt open source edition は Trolltech からダウンロードしているし
SRAのWEBサイトは見なかったことにしよう。
635 :
デフォルトの名無しさん :2007/04/14(土) 20:03:53
>>623 >Qt商用版でコンパイルすれば、いきなりプロプライエタリなプログラムの出来上がりだ。
出来上がらない!
>>635 > 出来上がらない!
どういう理由なのかを書けよ…
>>629 曖昧だ。。。蒸し返すようだが、ソースのライセンスはBSDL可ということまでは
理解したけど、バイナリを配布したら実質GPLに基づいてBSDLのソースを
配布せざるをえなくなるというおかしさがまだ理解できない・・・。
GPL感染
>>637 GPL のソースコードを含むソースコードから作られたプログラムは、GPL のソースコードの
派生作品と看做され GPL の規程が適用されます。
GPL ではプログラムを配布したら、プログラムを受け取った人がソースコードも入手出来る
ようにしなくては行けません。
プログラムを作成した人は、自分の作成した部分のソースコードをどのライセンスで配布
するか GPL にコンパチブルな範囲で選ぶ事が出来ます。
GPL が感染するのはリンクをした時点です。ソースコードは当然リンクする前の物なので 基本的には GPL には支配されません。ただし GPL コンパチじゃないライセンスをソース コードに適用している場合、GPL のソースコードから作成したオブジェクトにリンクする事が 出来なくなるので、バイナリを作成出来なくなってしまいます。それでは困るので、GPL コンパチブルなライセンスを適用する必要性が発生します。
>>637 ソース配布とバイナリ配布を常に同じ人とだけ想定するからそうなる。
作者: BSDLでソース配布
↓
LinuxのディストロとかWindows版ほげほげ配布厨とか:
GPLなQtとリンクしたバイナリを配布、
それに付帯してソースもGPLで配布。
↓
エンドユーザ。
別に作者がBSDLで配布することを妨げるわけではないよ。
以上は作者の選択したライセンスがGPL互換の場合。
作者がGPL非互換ライセンスを選択した場合、ソースをGPLで再配布できないから、
GPLなQtとリンクしたバイナリも配布できない。
つまりその場合は
・バイナリを配布するなら商用Qtとリンクすることが必要
・バイナリを配布せず、リンクした当人が使うだけなら黙ってGPLなQt使ってても可
ということになる。
>>627 遅レスすまね。
"commercial license" という名前も微妙に良くないよな。
Qtのオープンソース版でGPLを採用した以上は、それで報酬を得ることが
可能になることぐらいはTrolltechは理解しているはず。
理解していたからこそ、長いあいだFSFから批判されてもQPLに拘っていたんだし。
一般人は「商用ダメ」=「報酬ダメ」って勘違いしてしまうだろうし、SRAもそんな
ふうに思っているのかな?まさかね、ちゃんとした企業なんだし。
要するにまとめると、どのQtを使ったソフトでも報酬をもらってよい。 しかしフリーのQtの場合、ソースを公開しなければならない。 商用Qtの場合、ソースは公開しなくてもよい。 ということだな。
かつ、配布先からの二次配布もフリー版は止められない。
なんか流れを無視するようですが、質問があります。 QDockWidgetを使って、QMainWindowにドックさせるような子ウィンドウを作ったのですが、 QDockWidgetのサイズが変更できず困っています。 指定したサイズにする方法ってありますでしょうか?
>>645 QDockWidgetはQWidgetを継承してるから、
QWidgetの関数も使えるよ。
resize()とか。
resizeがきかないから困ってるんです
648 :
デフォルトの名無しさん :2007/05/06(日) 22:19:02
日本語入力について質問なんですが、 QLineEditで日本語を入力して、変換時に候補がいくつもあるときは 候補一覧のウィンドウが出るはずなんですが、一瞬出て消えてしまいます。 これはQt本体のバグなんでしょうか。原因が分かる方いましたら教えてください。 なお環境は、PlamoLinux4.0.1と、Qt4.1.4です。
なんかもう、完全にGtkに遅れを取っちゃってるね。
KDEは使うけど、それ以外Qtってつかわない。。
Gnome は使うけどそれ以外Gtkってつかわない。 ってことでGtkに遅れをとってるとも思わないが… # しいて言えばどっちも遅れ(ry
そんなに終わってるか? C++プログラマなら例外をうまく扱えないgtkmmより使いやすいと思うんだが
Embeddedもあるしな。
裏を返せばCプログラマ(not C++プログラマ)から使い難いQtってことだが… # まープログラマなら適材適所でよろ
どっちもどっち
CもC++も終わってて QtにしろGTK+にしろスクリプトでガワだけサクサク作っちゃう傾向が高まってる感じがする
逆にC++プログラマからすると、Gtkのソースの汚さは目を覆いたくなるほどだ。 なんだあの大量のキャスト用マクロの山は。
GTKのソースは最新版のcfrontが出力してゐるんだよ(嘘だけど
最近のイイ!と思えるLinux用アプレットはみんなPyGtkで書いてある気がする。
すげー楽なんだよね。そういや、Qt Jambiが出たけどだれも騒いでないね。
>>657 GtkはCでOOPを実現してるから無理があるのは仕方ない。
名前付きパイプってQFileで扱えないのかな 読み込み専用でQFile::open() readyRead待ち よそから $ echo "hoge" > fifoすると即完了 待ちシグナル来ず。 何故に?
アプレット?
アプリケーションと言いたいのでは
カレンダーみたいなデスクトップ環境に付属している小物アプリの事を 最近はアプレットって言ったりもするのよ Gnome 方面の方言だと思うけどね
小物アプリケーションのことをアプレットって呼ぶのは別に方言じゃないだろ… アプレットと聞いてJavaアプレットしか思いつかない人は多いだろうけど…
方言は言い過ぎたかもしれないけど、Java Applet 以外ではあまり 一般的な用法じゃないよね。Mac だとまたちょっと違った意味合いに なるし。
666 :
659 :2007/05/16(水) 00:59:15
いや、これはおいらの偏見。 アプリケーションはネイティブな言語でかかれてなきゃ認められない。 Java, Python, Perl, Ruby, .NET、巨大なランタイムに頼らないといけないなんて そんなのは本物のアプリケーションじゃないんだよ。
>>666 じゃあGtkも使わないでXに直接描画してろよ・・・
X に直接と言うのは違和感があるな。直接描画というなら VRAM に書き込むだろ。
気持ちは分かるんだが cairoやpangoを使ったパワフルなアプリケーションが さくっと書いたスクリプトで出来てる時代にはそぐわない感覚なのかもな
670 :
659 :2007/05/16(水) 02:06:08
え〜、だからQtが好きなんだよ〜 ライブラリは一緒に配布できるじゃまいか。 おまえらこのスレに来てるのに酷いぜ
>>666 まぁ気持ちは分かるけど C++ だってランタイムあるじゃん。
普通は OS 組み込みだからサイズの比較は出来ないけど。
まあね、でもほら、アップデートなんて滅多にないじゃないか。 Linuxとかで互換性のためにPython-2.4と2.5が共存してるのは見てらんない。 おまえら、Python3000がきたらどうするつもりなのかと。 Rubyもバージョンうpのたびに、結構変わるよなあ。
仕様 = 実装 の言語ってそうなりがちだよなあ・・
ところで、Qtを使った国産アプリって、どんなのがありますか?
Qt3.3.8が出てるね。 Qt4が出てからもう2年にもなるのに、いまだにQt3のメンテが行われてるところを見ると Qt4はほとんど使われてないのかもしれない。
3と4のどっちが小さいですか?libqt3-devかlibqt4-dev入れようとしたら 関連ファイルが多すぎで正直ウンザリぎみなんですが・・・。 小さいほうでちょっと試しに使ってみたいんですけど・・・。
>>675 おばちゃんのユーザーに詰め寄られて、Qt3サポートを継続するよう約束させられた、
と聞いたことがあります。
まあ、実際のところどうなんでしょうかねぇ。
作って動かすぶんには、Qt4の方が好みなんですが。個人的には。
組込みで大活躍してるね。 おいらはLinuxはリッチな組込み機器でこそ活躍するOSだと思うから trolltechもいいところに目をつけたもんだ。Linux+Qtopiaで動く 携帯が欲しいよ。myloにビジネス機能つけてだしてくれよソニーさん
残念ながら Qtopia はかなりの重量級だよ。Zaurus のスペックでも厳しいくらいだから。
678と679の接続具合がよろしくないな、と思う俺
両方ともsignal:です
>>676 小さいのがいいならQt2.3を使いな。
Qt2とQt3はソースに互換性があるし、Qt2でもたいていのアプリは作れるよ。
何で GUI Library って太りたがるのかね。GUI を洗練する方向で どんどん削ぎ落としていって欲しい物だけど。
QtはGUIライブラリというよりも、 クロスプラットフォームなC++ライブラリと言った方がいいかもしれない。 実際C++はCのライブラリとSTLだけでは足りない機能だらけだし、 boostはアルゴリズムや数学関係の機能ばかり充実させて、方向性を見失ってる感じだし。 だからQt4ではGUIとそれ以外のライブラリを分離したんだろう。 ソースの互換性をなくしたのは大失敗だと思うが。
Qt3がまだサポートされてるのは、Qt使ったアプリケーションで多分一番大規模な KDEがまだQt4になってないからだと思う。
>>686 ライセンスがばれるから使えんぞ。
つかライセンスファイル入ってるのかな、落とさないからしらん。
さすがロシア。北欧のものを収奪するのに長けている。
凄え。今、誰かが相当に上手い事言った気がする。
>686 つかったところで意味あるのか? GPL版と差ってあるのかな?
Qt4.3.0が出ているが、OpenSource版、debugライブラリ作れなくない??
693 :
デフォルトの名無しさん :2007/06/05(火) 17:01:43
「Qt GUI プログラミング」という本を読みながら、Qt4.2.3で動かしています。 いきなりはじめのサンプルのコンパイルで、 「setMainWidgetなんてメソッドはない」と怒られてしまったのですが、 setMainWidgetは使わなきゃおkですか? 今後この本を読み進めていくのが不安です…
その本はQt3用。 Qt2/3とQt4には互換性がない。
あと俺は、エラーを吐かれることを「怒られる」と表現するのが大嫌いだ。 エラーはエラーだ。機械的に文法の間違いを表示してるだけだ。 コンパイラに感情などない。
>>693 英語版のQt4版買いなよ。
>>695 「エラーを吐く」なんて生物的な表現はOKなのか。
「warn: 警告する」だからあながち間違いではない。
そんなことを言い出したら俺やあんたも単に脳で電気的・化学的に
行動してるだけだから、感情などないとされてもおかしくない。
コンパイルしたら怒られました
しかしまあ、どっちかというと「怒られる」よりは
「叱られる」のほうがしっくりくるなあ。
怒るほうは感情込み・理不尽な場合あり、
叱るほうは感情の有無を問わず理性的な指摘
というイメージだから、
>>696 を肯定したからと言って
あながち
>>695 のいうことも間違ってないように思う。
699 :
698 :2007/06/05(火) 17:43:10
もちろん、そんなことはどうでもいいというツッコミは正論。
701 :
693 :2007/06/05(火) 17:49:04
みなさん、どうも。
Qt3と互換性がないと言っても、
「こうこうこういう仕組みだから、これはこういう風に読みかえればOK」
という部分を知りたいのですが・・・。
巻末にあるQt4の説明には特に何もかかれていなくて・・・。
>>696 英語版はもうQt4対応しているんですね・・・買い時を誤ったかなぁ。
>>701 ぶっちゃけリファレンスとExamplesで問題ない
Qtなんて本買って読むほどのもんでもないぞ。 唯一の利点はWindows版のQt3が手に入ることか。
win版のQt3は
>>686 で落とせるよ
あとcygwinのプロジェクトの人たちが勝手に移植してるやつもある
バグだらけだけどなw
4.3がすでにリリースされています
>>707 4.3の新機能で、待ち望んでたのある?
4.2は、個人的にキターって感じだったのですが。
709 :
701 :2007/06/06(水) 11:40:08
>>703 ,706
ありがとうございます!英語はかなり読めます。でものろいです…。
お!4.3来た?Betaから移行しよう
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の中で「丸」まで書き直さないとだめになってしまいます。 何かよい案があれば教えていただけないでしょうか・・・。
書き直さないとってのがよくわからないんだけど 色を変えたら再描画は当然じゃない?
関数の最後にrepaint()入れてみたら?
714 :
711 :2007/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 :
デフォルトの名無しさん :2007/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関数の中でファイルアクセスを行ってはいけないのでしょうか?
>>715 ファイルを変更するプロセスがファイルを開いているときに、
あなたのQtアプリで開こうとしているわけではないですよねえ。
718 :
715 :2007/06/13(水) 09:25:20
>>717 FAMを使ってファイルの変更を検出していますが、これだとまだファイルが開かれて
いるときにFAMChangedシグナル(ファイルの変更を通知)が発生する可能性がありますか?
セマフォ等でプロセス間の同期をとってみます。
719 :
714 :2007/06/13(水) 10:00:40
>>716 update()にすると、何も表示されなくなってしまいました・・・。
やはり、QGraphicsEllipseItem::paint(painter, option);を呼び出して
円から描画しないとだめみたいです。
あと、QGraphicsItemを直接継承したクラスを作ってやってみましたが結果は同じでした。
円同士がお互いにそんなに重ならない時は描画はやたら速いのですが、
感覚的にほとんど真上に重なるのが100個以上になると、めちゃくちゃ時間かかります。
boundingRectやshapeの計算で時間くってるっぽいですね・・。
720 :
716 :2007/06/14(木) 00:18:04
>>719 むむ・・・、そうでしたか。
図形が重なると遅くなる件は、
QGraphicsSceneのItemIndexMethodとか、いろいろいじってみると
何か変わりそうな気がします。
721 :
デフォルトの名無しさん :2007/06/21(木) 15:32:59
Qtopia-Coreで日本語入力をやりたいのですが、 xを積まずに日本語入力は難しいでしょうか。
瞬間的に色が変わるアプリって作りずらいよなぁ 20年前のスプライトとか水平型のG-RAM積んだ8ビット機が 簡単にできるようなことを Qtで再現しようとしたら速度的につらいよん(´・ω・`)
Qtに速度要求しちゃだめだよ。OpenGLと組み合わせるなら話は別だけど。 いろんなプラットフォームで動くように、裏でずいぶん冗長なことをしてる。
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/以下を検索してみましたが これらの名前のファイルは見つかりませんでした。どこからこれらのファイルを 入手すればよいのか教えてください。
libqt3-mt-dev に入ってるんじゃね?
ターミナルからqtを使ったアプリを起動すると日本語入力のたびに sending IMComposeのようなログ?が表示されるけれど、これって正常? makeの際debug関係は無しにしてるのだけど。表示しないようにはできないのかな
Qt4のQPainterのdrawTextが遅すぎる 1文字1ミリ秒ぐらいかかる なんとかならんものか
Qt4が出てから2年もたつのに、一向に普及しないな
KDE4が遅れに遅れてるからな
今年中にKDE4がちゃんとかんせいすればいいのですが
732 :
デフォルトの名無しさん :2007/07/04(水) 20:52:32
X Window+Qt3.3.5を使ってアプリを書いています。ところが完成したQtアプリを 解像度の違うPCでコンパイルするとQt Designerでデザインしたダイアログボックス コントロールの位置がずれたり互いにオーバーラップしたりします。フォントの サイズに合わせてコントロールの位置や大きさが変化しないせいではないかと 思うのですが、どうしたら解決できるでしょうか。レイアウトを使う以外に ないのでしょうか。
フォントサイズをピクセルではなくポイントで指定してるせいでは?
もうQTはデスクトップからは撤退していいだろ 組み込みや携帯向けの方が売れてるんだからさ
737 :
デフォルトの名無しさん :2007/07/11(水) 00:20:56
>> 734 組み込みや携帯向けは数分の一。
QObjectのparentって、指定したらなんかいいことあるの?
親がdeleteされるときにそのオブジェクトもdeleteされる
>>739 なるほど。それは便利ですね。
そしたら、クラス内でのみ使うものとかは全部、parentをthisにしときゃいいのか。
普通はわざわざparent指定しなくてもいいんじゃないの? buttonとかlabelとかlayoutに貼り付けた時点で勝手にparent指定されると思う
QTextBrowserに画像を表示したいんですが、どうやったらいいんでしょう?
Qt5まだー?
4.3.1が出ましたね
745 :
デフォルトの名無しさん :2007/08/17(金) 10:47:21
こんなスレがあったのか。 以前、2chとQtをキーワードでググったときは 全然引っ掛からなかったのに今回はいとも簡単に見つかった。 Qt使ってる人間って日本には10人くらいしかいないんじゃないか、と真剣に思ってたりする。 情報の少なさには唖然とするよ。
使っている人間全てが情報提供の義務を負うわけじゃないから
TrolltechのQtのメーリングリストで日本人らしい名前の人は ほとんど見かけないです
俺もやってるよー 付属のチュートリアルいじってるぐらいだけど
749 :
デフォルトの名無しさん :2007/08/18(土) 14:47:14
>>745 Qtユーザーって日本ではそんなに少数派なの?では日本では何を使ってGUIアプリ
作ってるんだろ。wxWidgetとかFox GUI tool?
>>750 でもGtkのスレ全然伸びてないし、クロスなGUI環境というより
Linuxのネイティブとして使ってるだけでしょう?
>>751 クロス重視をネイティブで作ること自体あまりないよ。
仕事でそういう案件があれば大抵Swingだし、
趣味だと最近はGUIよりWebアプリの方が活発。
そもそも、日本人がクロスプラットフォームのアプリを作っている例を知らない。 ライセンスが面倒な Qt よりは wx の方が使われていそうだけど。
QtはC++アプリを作るのは非常に楽。 でも、いまはPyGtkを使うのが一番いい。C++たるいお。
PyQtもあるがな
QtRuby/Korundumすごく楽です
ザウルスでRuby/Qteつかって趣味でプログラム書いてる 純粋に楽しいお
758 :
デフォルトの名無しさん :2007/08/22(水) 08:17:38
スレタイ通りの書き込みです。
他の人が組んだQtプログラムを基にして
自分のプログラムに変えていってるんですが
まだその基のプログラムが理解できていません。
「固定の入力/出力ポートを持つノードを作成してそれらをつなげる」
というのが基のプログラムの主旨です。
僕はそれを「入力ポートを任意の数に増やせる」ように変えようとしていて
プロパティーでは入力ポートの数はちゃんと増えているんですが
何故か画面には描画されません。
ソースコードの断片はこちらです(実際には100個以上のファイルがあります):
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm 4864.zip
いろいろ聞きたいことがあるんですが、まずは初歩的な質問から。
262行目などの
cout << QGraphicsItem::children().at( index ) << endl;
はアドレスが表示されてしまうんですが
この内容を表示するにはどうすればいいんですか?
'*'をどこに付ければいいんでしょうか?
C++の初歩的な質問でしょうけど…すみません。
>>758 コードはこれから見てみますけれども、
QGraphicsItemの子供を表示させることで期待している結果は何ですか?
オブジェクト名?
>>754 /qt.の言語は、C++では無く、「python.系」ピョぞ¿...コチラオンシンフツウデス…
761 :
759 :2007/08/22(水) 12:50:28
>>758 cout << QGraphicsItem::children().at( index )->toPlainText().toAscii() << endl;
とかかなぁ? PortGraphicsItem を表示させようとしているんですよね?
そっちがQGraphicsTextItem継承ならば。。。
↓で、何か情報が得られるかもしれません。 qDebug() << QGraphicsItem::children().at( index );
765 :
758 :2007/08/23(木) 07:52:26
>>759 ==
>>761 ありがとうございます。
仰る通り、PortGraphicsItemの内容を表示したかったのです。実は
cout << QGraphicsItem::children().at( index )->toPlainText().toAscii() << endl;
のtoPlainText()は「QGraphicsItemのメンバーではない」とエラーが出ましたが、
お陰でQGraphicsItem::children().at( index )にどんな内容が入っているか予測はつきましたので
もう表示しなくてもよくなりました。
追加されたポートが「一応」描画されるようになったのですが
setPosなどで位置を変更しているにもかかわらず、(0, 0)の位置に描画されます。
次回はこれについて質問させていただきます。
今は大幅に変更しまして、変数名なんかがいい加減な名前になっていて
読みづらいでしょうから書き直してからうぷしますね。
766 :
758 :2007/08/23(木) 08:09:07
>>764 ありがとうございます。
今は環境がないので後で試してみますね。
でも、そんな関数が用意されてたんですね。
ttp://doc.trolltech.com/qtopia4.2/qtglobal.html#qDebug もしかしてQStringとかも読めたりするんでしょうか。
少し話が逸れますが、
QStringってUnicodeが入り混じるようになってからややこしくなったようですね。
(上の質問とは別の件で)
今日はQLineEditなんかのid->text()とかid->displayText()とか試してみました。
返り値はQStringなのでcoutで表示できると思ったのですが
"No match ..."なんとかで結局内容を表示できませんでした。
ちなみにcout「無し」で
id->displayText();
だとエラーは出ませんが、何も表示されません(出力はどこ?)。
これらが表示されればどう対処すべきか判るんですけどね。
…長々と書いてすみません。
767 :
759 :2007/08/23(木) 09:02:11
>>766 cout に出すには、std::string のc_str() と同様に一度
toAscii()とかしないとダメだと思いますー。
Qtには、良質のサンプルとチュートリアルが付属しているので、
一度眺めてみるとよいかも、ですよ。
デモとそのアプリのコードの説明を表示できるやつは、使いたい
オブジェクトをどうやればよいか、またどうなるのかを実際に示して
くれるので、自分は重宝しています。
768 :
759 :2007/08/23(木) 09:21:13
「教え合う」スレ、ということなので、自分も質問させてくださいw。 Windows版を利用しているのですが、プラグインのロードが環境により できない、って現象が発生した方、いらっしゃいませんか? 具体的には、開発した環境では動くのに、ほかの環境へ持って行ったら 動かない、ってことが起きます。 ただexeと同じディレクトリにdllをおいておくだけじゃあダメなのでしょうか? QtCore とか QtGui とかは同じディレクトリに置いておくと使えるのですが、 プラグインは読まれないような現象が起きます。 (具体的にはテキストコーデック、昔png形式の画像は読み込まれて 表示できるのに、jpeg形式の画像はダメだった、という件があったの ですが、思い返せばこれが原因かも...。) 何か設定があるんだろうとは感じているんですけど、、、。 もし同じような現象を解決された方がいらっしゃったら、チェックする場所など、アドバイスをください。 よろしくお願いします。
さて、そろそろQt5の話でもしようか
何年先の話だよw
Qt5ではAPIが大幅に変わります。Qt4とは全く互換性がありませんので 注意してください。今までの知識やコードはぜんぶ捨てることになります。 なお、Qt6ではまたさらに大幅な改変をする予定ですので楽しみにして おいてください。
QCoreApplication::libraryPaths()によれば、 the default installation directory for plugins is INSTALL/plugins, where INSTALL is the directory where Qt was installed). The directory of the application executable (NOT the working directory) is always added, as well as the colon separated entries of the QT_PLUGIN_PATH environment variable. だから、カレントでもOKのはずだけどな〜。 あとはレジストリにプラグイン情報がキャッシュされていた気もする
>771 ただの嫌がらせですね もう、qt4以上をだす必要がない気がする、、、
もう永遠にqt3でいい。
>>771 去年末にうちへ宣伝に来たTrolltechの人は、
「もうああいう大幅に変えることはしないから許してね。」
とか言っていたけどなー。
宣伝でわざわざマイナスになるような事をいうわけがない・・・ 念書でも取って約束させたのか?
777 :
758 :2007/08/25(土) 08:38:13
>>768 的外れだったらすみませんが
>プラグインのロードが環境により
できない、って現象が発生した方、いらっしゃいませんか?
(・∀・)ノシ
Linux版ですけど、研究室から家に持ち帰るときに
外付けハードディスクやメモリースティックに落とすんですが
その時にいつも.soファイル(=Windows版の.dllファイルに相当)がコピーできないですね。
理由は「パーミッションがない」らしいですが、ちゃんとchmodしてもダメです。
Windowsのサーバーから落とすと警告もなく無事コピーは出来るんですが
やっぱり.soファイルのデータサイズが減ってますね。動きません。
対処法は簡単です。
tar(またはzip)で圧縮してから落とすと問題ないと思います。
自分はプロジェクト始めたときにもらったtarballの.soファイルをコピーして使ってます。
重ね重ね、的外れだったらすみません。w
778 :
758 :2007/08/25(土) 08:46:34
>>764 今頃になって
キタ━━━━(゚∀゚)━━━━!!!!
qDebug()でQGraphicsItem::children().at( index )が持ってる情報を吐きましたよ!
アドレスやポートの次元、ポートの状態フラグなどが表示されました。
qDebug()はこれからも役に立ちそうです。
ありがとうございました。
779 :
764 :2007/08/25(土) 10:55:18
>>778 ほかにも、QMouseEventとかいろいろ
qDebugに食わせると、情報を出してくれますよ。
すみません、質問させてください。 MacOS XにはHID ManagerというAPIがあり、 これを利用することでUSB接続のゲームコントローラーからの入力を処理出来るのですが、 Qtにはこのようなことをする為のAPIは無いのでしょうか?
781 :
758 :2007/08/28(火) 00:33:07
>>779 はい、今もいろいろと試しています。
模索しているところです。
782 :
758 :2007/08/28(火) 01:32:07
>>765 で「一応描画できるようになった」と書きましたが、まったくの気のせいでした。
paint()の中で四角を描けば描画されますが、
当然それはポートとは何の関係もなくハンドルを持っていませんよね。
コンストラクタの中のポートは描画されるのに
なぜ新たに追加されたポートは描画されないのでしょう?
自分だけの力ではもう限界です。
そこで、どうしても皆さんの力がお借りしたいのです。
コンパイルは出来ませんが、今回の修正で必要とされるだろうフォルダごとをうぷしました。
ろだ
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.cgi?mode=thr&no=4863 4870.zip お借りします Qt
いじるのは
network/gui/NodeGraphicsItem::updateNode() <=これが中心になります
network/gui/GraphScene::changeNode( NodeGraphicsItem *currentNodeGraphicsItem )
network/Graph::addNode( Node *newNode )
network/Node::addInPort( Port *newInPort )
network/nodes/Passage/PassageNode::callAddExtraInPort()
あたりだと思います。
783 :
758 :2007/08/28(火) 01:33:12
最近気付いたことを書いておきます。 新たなポートの作成時に NodeGraphicsItem::updateNode()の最後で GraphScene::changeNode( NodeGraphicsItem *currentNodeGraphicsItem )を呼んでいて、 そのchangeNode()の中で Graph::addNode( Node *newNode )を呼んでいませんでした。 Graph::addNode( Node *newNode )の中には newNode->setParent( this ) があり、これのお蔭でコンストラクタで作成されたポートはchildren()とみなされるようです。 新たなポートはchildren()とみなされてないので描画されないのだと思います。 しかし、 _graph->addNode( currentNodeGraphicsItem->node() ); addItem( currentNodeGraphicsItem ); とやっても QGraphicsScene::addItem: item has already been added to this scene と言われてしまい、更新されてないようです。 ここまでが今の自分に出来る限界です。 質問があればいくらでも捕捉いたしますので 何卒、ヒントだけでも教えてくだされば光栄に思います。 どうかよろしくお願い致します。
784 :
758 :2007/08/28(火) 02:16:32
785 :
758 :2007/08/28(火) 10:15:45
>>782 QGraphicsItem::ItemChildAddedChange という定義があるようなので、
何かできそうな感じですね。(itemChange() で通知?)
787 :
758 :2007/09/01(土) 08:16:29
>>786 ありがとうございます。
すみません、返事が遅くなりました。
例の通りに
if (change == ItemChildAddedChange)という感じでitemChange()使ってみました。
ちゃんとchildrenが追加されたときに呼び出されますね。
しかし、呼び出されたときに何の処理をすればいいのかが分からないんですよね…。
実はポートを追加する方法は二つ用意してありまして
一つはメニューから追加、もう一つはOutputポートをクリックして追加、です。
メニューからの追加ではitemChange()は呼び出されたんですが
Outputポートをクリックして追加ではitemChange()は呼び出されなかったです。
残念ながらどちらも描画されません。
…ということで「前任者のコードを修正する」という件はひとまず保留にして
trolltechのExampleを基にして新たに作ることにしました。
↓ ↓ ↓
788 :
758 :2007/09/01(土) 08:17:04
ベースはtrolltechのExamplesにある"Elastic Nodes"です:
ttp://doc.trolltech.com/4.2/graphicsview-elasticnodes.html 仮のゴールは
1. 任意の数のノードを任意の位置に追加する
2. 任意のノード同士をエッジでつなげる
だけです。
「任意の数のノードを追加する」までは出来ました。
ただ「任意の位置に追加する」は半分だけ達成です。
というのも、「フルスクリーン + ズームなし」だと
任意の位置に追加することは出来たのですが
それ以外の条件ではクリックした場所とは違う場所に
ノードが追加されてしまうからです。
どなたか同じような経験をされた方はいませんか?
789 :
758 :2007/09/01(土) 08:19:47
あと、出来れば窓を大きくしたいんですが
どこで調整すればよいのでしょうか?
scene->setSceneRect(-200, -200, 400, 400);
を
scene->setSceneRect(-400, -400, 800, 800);
にすれば窓は大きくはなりますがグラフは小さいままです。
それをズームすると今度ははみ出してしまいます…。
こちらがソースコードですが、手を加えたのは
graphwidget.cpp
graphwidget.h
のみです。サイズが小さいので他のコードもすべてうぷしておきますね:
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm 4890.zip お借りします Qt
…今回は基となるコードも見れますし、
コンパイルも出来るのでそんなに面倒ではないと思います。
初心者レベルの質問だと思いますが、どうかよろしくお願い致します。
790 :
デフォルトの名無しさん :2007/09/14(金) 10:04:13
Qt4の本はどれがよいですか? Foundations of Qt Development The Art of Building Qt Applications [ILLUSTRATED] An Introduction to Design Patterns in C++ with Qt 4 C++ GUI Programming with Qt 4
791 :
デフォルトの名無しさん :2007/09/14(金) 11:53:17
スレ違いかもしれませんが・・・ QWTを使ってる方に質問です. QWTの5.0.1のインストールで「comdlg32.dllがインポートされていない」とエラーが発生します. Qt designerにqwtの要素は追加されていないし,コンパイルも失敗します. .proファイルも上手く生成できてないようです. インストールの方法が間違っているのでしょうか. qwtに添付された INSTALL という名のファイルにある "B) Win32/MSVC Qt3/Qt4"の 項に従ってインストールしたのですが・・・ Qt GUI Programmingについてきたqt3.2.1[non commercial]を使ってます. 環境はXP SP2です.コンパイラはVS.NET2003です. qwtってマイナーなのか情報が少ない・・・ どうかよろしくお願いいたします.
>>791 qwt5は、Qt4対応版だと思っていたのですが、Qt3でも大丈夫なのかな?
(Qt4の環境では、何も考えずに入れられた気がします。)
あんまり役にたたない情報ですみません。
793 :
デフォルトの名無しさん :2007/09/15(土) 12:52:14
>> 790 C++ GUI Programming with Qt 4 を。
>>790 C++ GUI Programming with Qt 4お勧め
てかQt4の本他にもでてるのか
今度買ってみる
本家のドキュメントじゃ不満なの?
>>795 本家のドキュメントにはとても満足してる(解説も結構詳しく書いてあるし)
けど本には本の良さがある
>>790 The Art ... は、結構初心者向けで読みやすかったです。
これからQtをはじめる、っていうのなら、ほかの人がすすめている
ものよりもよいかも。かなり丁寧に説明しています。
Qtをいくらかさわっているのであれば、自分もそっちをオススメします。
>>795 assistantとサンプルコードは手放せないし、大満足なんですけど、
本は本で裏話っぽいのも載っていておもしろいと思いました。
799 :
デフォルトの名無しさん :2007/09/16(日) 00:13:27
801 :
800 :2007/09/16(日) 01:39:25
802 :
デフォルトの名無しさん :2007/09/16(日) 09:17:27
Qt に限らないけれど、日本語のマニュアルはないかと言われる。
選ぶほど数が出てないから、 手に入るものは全部手に入れておくってのが正解
日本語で書かれたQt4の本って存在するの?
805 :
デフォルトの名無しさん :2007/09/18(火) 15:23:16
俺がQt4の本出版したら売れるんじゃね?
>>805 日本語のは二冊「も」あるのか
一つはKDEについてだけど
C++GUI Apllication with Qt4
は持ってるけど、結局公式ドキュメントのほうがよく参照するなあ。
好きなブラウザで読めるし。悪い本じゃないよ。
Foundation of ~の出版社はだいたいいい本を出すからこのスレのために
人柱になってはいかがかな
>>790
810 :
デフォルトの名無しさん :2007/09/19(水) 11:07:31
>>809 注文しました。たぶん読み終わったら感想を書くので
忘れないでね。
期待しているよ
812 :
デフォルトの名無しさん :2007/09/20(木) 21:03:16
linuxでkdevelopを使いだしてから、Qtが一番使いやすいです。 VCなんて考えられません。
>>812 kdevelopってどこら辺が使いやすい?
814 :
デフォルトの名無しさん :2007/09/20(木) 21:49:16
何使って、プログラム書いてるの?
Kate
816 :
デフォルトの名無しさん :2007/09/20(木) 22:14:34
エディタ、ディバッガ、コンパイラー、ディザイナーの機能が一体化している kdevelop の方が使いやすくない?
自分はEclipse + CDT + Qtが一番使いやすい ところで、kdevelopってインテリセンスちゃんと使えるの?
818 :
デフォルトの名無しさん :2007/09/20(木) 23:17:43
クラスの関数名の補間機能の事? だとすると、自分の作ったクラスにしか適応されない。 Eclipseってできるの? 後、qmakeに対応してるの?
>>819 こんなのあったのか
vimでコード編集してmakeとかいちいちやるよりも明らかにラクだな
kdevelop + qt は使ったことあったけど、なんだかいまいちだった
ていうかkdevelop自体が使いにくかった(特にコンパイルがわけわからん、
ソースファイル追加したらコンパイルできなくなったり)
まあ使い方が悪いんだろうけどさ
821 :
819 :2007/09/21(金) 01:58:31
あれ、VS Expressはいままで対応してなかったの? 普通にVS Express使えてるんだけど いままで使ってたのは公式のものではなかったのか・・・
俺、もしかしたらQt使いになるために生まれてきたんかもしれんわ そう感じた一日だった
824 :
デフォルトの名無しさん :2007/09/28(金) 12:17:23
qt-4.3.1を入れたのですがKDE3.5が立ち上がらなくなりました。 libqt-mo.so.3が無いと言われました。 他のWMからQtアプリは起動するのですが、これは何かの拍子に消してしまったという事でしょうか?
4.3.2きた。
Win CE版のお試し版もきた。
じゃ、
>>821 の通りVS Express対応になるんだね
てか、おせーよ!
パッチだのなんだのさせやがって!
あれ? まだMingwしかサポートしないって書いているように見えるけど。
The Open Source edition of Qt/Windows supported only MinGW (and MinGW/MSYS starting Qt 4.3). ~~~~~~~~~~ (略) We have decided to support Visual Studio Express with Qt/Windows Open Source (略) We did schedule it for Qt 4.4 but some quick work by Marius and Andre will see this feature in Qt 4.3.2. ~~~~~~~~~~~~~~~~~~~~~~~~~~ Why make you wait for 5 more months to get hold of such goodness ?
>>828-830 もうどっちでもいいや
面倒なんでMinGW版にしたついでに
Linux版に切り替えたから
832 :
デフォルトの名無しさん :2007/10/07(日) 00:21:09
質問です よく知らないけどC++だとgtkとか他のGUIツールがあるのになんでQtを使ってるんですか?
gtk--てまだあるの?使ったこと全然無いけど QtはWxよりは理解しやすかったな,つか途中で諦めた
gtk--はともかく、gtkmmは現役ですよ
835 :
デフォルトの名無しさん :2007/10/07(日) 10:54:41
人によってはQtより他のGUIツールの方が使いやすいとかってあるんですか?
>>835 そりゃありますよ。
たとえばジャガー横田さんに一目惚れした医者だって現にいるんですから。
いや、それくらい珍しいとか、そういう意味じゃないんですけどネ。
g++は遅いからなぁ公式でVCに対応して欲しいわ
アプリのGUI部分を完全分離動作できてもQTライブラリをリンクしたらけでGPLの影響ウケルんでしょうか?
gtkmmは単なるラッパだからQtの対抗馬にはならない
>>838 商用ライセンスを購入しなければ汚染されるよ。
完全分離出来るのなら、GUI だけ別プロセスにしてしまえば汚染される事は無いけど
倫理的には微妙になる。
別プロセスにします。 非道ライセンスに倫理も糞もないですよね。 ありがとうございマシタ!
842 :
デフォルトの名無しさん :2007/10/07(日) 15:32:50
Qt 4.3.2 は Visual C++ 2005、その express editionのみならず、 Visual C++ 6.0 でも問題なくコンパイルでき、スムーズにデバッグ から全て可能です。これまで何度も途中でひっかかったりしましたが、 こんなにスムーズに行くとは、驚きです。むしろ、Visual Studio 6.0 の方が好きな方には good news.
だよなあ・・・ 酷すぎるよなGPL汚染って。
VC6なんてまだ使ってる人いるんだ・・・ 俺のことだけどな
パッチ当てれば4.0.0からVCでもコンパイルできたわけだが
Trolltechの国内代理店てあるの? 質問投げたいんだけど
なぁなぁ、あまり大声じゃ言えんけどさ GUIの得意なJavaとC#の需要がどんどん高まってて 逆にQtの基盤となるC++自体の需要が減ってるやん? GUIの不得意なC++に無理矢理GUIやらすって 発想がそもそも間違ってる気がするんだけどどうよ?
Swing/Formsが便利過ぎでヤバイってことだろ フレームワークを取っ払って,言語だけ抽出したらどれも変わらない
ワロス
こう言っちゃなんだけどやっぱりQtは糞だよ JavaやC#使ってる人なら誰でもすんなりコンパイルできるというのに QtはC++コンパイラとは別にインストールしなきゃいけないなんてクズだろ? そりゃ使用人口が少ないわけだ
何この壮絶なネタの打ち合い…
>854 じゃあ、ほかの使えば?
JavaやC#の人々 「そろそろGUIでも勉強するか」 →すんなり C++でQtの人々 「そろそろGUIでも勉強するか」 →「ええっ?Qtのインスコ?('A`)マンドクセ」 →約一時間経過 →「ええっ?環境変数?('A`)マンドクセ」 →約一時間経過 →「ええっ?分厚いマニュアル嫁?('A`)マンドクセ」 →「どこまでがC++でどこまでがQtなのか分かんねぇよ・・・」 →約一ヶ月経過 →放置
vistaのwpfより高速だとか宣伝してんな。 実際kde4かなり速くなってるし、tkとして磨きがかかったな。
Qtを使うのってLinux/UNIXで触ってて,じゃWinでも書くかって奴ばかりじゃね?
>→「ええっ?環境変数?('A`)マンドクセ」 ここがおかしい。
862 :
デフォルトの名無しさん :2007/10/20(土) 16:09:13
C#やJavaって、売れるようなプログラムが書けるんですか? よく知らないもんで。売ってるのはそんな言語では書かれていないのでは?
俺は普段赤い字で親指を使って書いてる
>>862 物に依る。
イントラで使う様なアプリは殆ど JAVA じゃないの。携帯も JAVA。
ゲームとかは C / C++。OS も C / C++ が殆ど。
それ以外で売り物のプログラムって何かあったっけ?
>>858 C++でQtの人々
「そろそろGUIでも勉強するか」
# apt-get install libqt4-dev
→すんなり
売れるようなプログラムを書いているC++でQtの人々
上司 「おい、明日までにQtプログラミングできるようになっとけよ。これが資料な」
→ぐんにゃり
ぶっちゃけパッケージでQtを使ってる物って少ないぞ
869 :
デフォルトの名無しさん :2007/10/20(土) 20:25:20
>>867 GPL な Qt/Windows が出たからでしょう。
>>866 ># apt-get install libqt4-dev
それでも一時間弱かかるだろ
>>870 いまだにテレホマンの地域にお住まいですか?
光ならあっという間ですよ?
こんなところで質問してまともな答えが得られるとは思えんけど訊いてみる ゲームってほとんどC++で書かれてるじゃん? ゲームのメニューなんかのGUIにQtが使われてるとはとても思えんのやけど? 彼らは会社独自のGUIツールなんかを一から開発してるんかな?
ゲームは win しか考えてないだろうし、ふつうに MFC でsy
874 :
デフォルトの名無しさん :2007/10/21(日) 08:17:34
どうもここは、Qtについて教えあうスレと言うより、 いかにQtがダメで将来性が無いかを教えあうスレのようだね。 どうしてこうなっちまうのかなー。
しかし、Qtの将来性に疑問があるのは確か どうせ同じ努力をするならQtよりも SwingやFormsを覚えた方が遥かに仕事が得やすいだろう
Keywords: # of jobs C++ Qt: 16 jobs C# Forms: 78 jobs Java Swing: 271 jobs Swing >>>> Forms >>>>> Qt 差は歴然 特にQtとSwingの間では17倍もの差がある
ちなみに Keywords: # of jobs C++: 1,021 jobs C#: 1,178 jobs Java: 15,738 jobs これは面白い結果かもしれない ここでもやはりC++とJavaの差は16倍 つまり両言語で欲されているGUI開発者の比率はほぼ同じということになる それに大してC#で欲されているGUI開発者の比率はそれらよりもずっと高い
878 :
デフォルトの名無しさん :2007/10/21(日) 10:06:04
なるほど、そういう背景があるんですね。 (ソフトウェア業界のことは何も知らないものですから) でもJobの数で数える場合、それぞれのJobが同価値であるという 前提が必要になりますね。たとえば、販売個数でセールスマンを 比較するときに パソコンのセール 100台 車のセール 50台 よってパソコンの方がよくやっている、とはならないと思います。
パケ売りのアプリよりイントラ開発とかのほうが仕事があるってことじゃね Qtだって日本と中国に代理店持ってるぐらいなんだし仕事はあるでしょ。
880 :
デフォルトの名無しさん :2007/10/21(日) 13:32:21
QtにもQyoto(C#)とかJambi(Java)があるけどな
>>881 Keywords: # of jobs
C# Qyoto: 0 search results match this
Java Jambi: 0 search results match this
まぁ、当然の結果か
>>878 >それぞれのJobが同価値であるという前提が必要
確かに
ま、ほとんどの条件に
「シニア・プログラマー」「二〜三年以上の経験者」
と書いてあるんで、それらはほぼ同じだと考えてもいいと思う
>>882 Macintosh of Jobs: 7,800,000 search results match this
やった!!!マックの仕事すげー多いよおかーさん!
>>884 よかったですね
マックの工場で梱包の仕事でもしててください
自信満々の書き込みワラタ
ホビープログラマとしてはQtは良い選択肢 仕事で使う気にはならんけどな
888 :
デフォルトの名無しさん :2007/10/22(月) 13:29:48
というのが、プロの見解の落ち着くところですか。 ならば、安心して楽しめばよいわけだ。 Ver. 4.3.2 はWindows派(Visual Studioに慣れている人) には、大サービスだ。
889 :
デフォルトの名無しさん :2007/10/22(月) 15:36:27
windowsの環境で、Qt使ってる人っているの?
いるよー
891 :
デフォルトの名無しさん :2007/10/22(月) 18:07:01
ホビープログラマに取っては、フリーのQtは大変結構だけど、 プロに取っては、ちょっとやって見ようという値段ではない ですね。でもソフトの値段というのは、本当はこういうもの ですか。
892 :
デフォルトの名無しさん :2007/10/22(月) 21:26:46
>>891 仕事のために買いました。人件費に比べたら充分に元が取れますよ。
自分は上司を説得して会社に買ってもらった。 確かにそれなりに高いけど、長い目で見たら十二分に元が取れる。
組み込みとかだとコンパイラで40万円超はざらだし。
ライセンスか?妥当な値段じゃね?
GPLでいいだろ どうせイントラで使うんだし。公開?ばかいっちゃいけない。
客先に納品するならソースくっ付けるしGPLで問題ないよな 開発費用もらってるし,公開はどうぞお好きにっとw パッケージ製品?バカいっちゃいけない. こんなんでtrolltechは大丈夫なのか?
899 :
デフォルトの名無しさん :2007/10/23(火) 07:59:52
>>898 GPL がよいなら GPL 版、商用版がよいなら商用版を使えるのだから何の問題もない。
さりげなく
>>900 ゲット
どちらにしてもTrolltechの戦略はあまりうまくいってないように思う
Qtの認知度は低いし、使用人口なんて更に低い
使用人口が少なければそれに関する本も出ない
質問サイトだっていつもガラガラ
質問サイトがガラガラなら学ぶ手段もないし
また使用人口が減る、という悪循環
Trolltech自身が詳しい解説やデモやらサンプルを大放出しているが
「本当にこれら全部網羅する価値あるのか?」といつも疑問に思う
なんと言うか…
野球やサッカーで世界を目指すのならまだしも
カーリングで世界を目指して楽しいか、という気分だ
例えの意味がわからないが・・・ 何らかの方法でGPLと商用の中間が欲しいね。 二者択一しかないなんて、使うなと言ってるのと同じ。 例えば俺はいくらなんでもGPLは拒否したいし、 余分な金も払いたくない。 よって使わない。 つまり検討の余地が全く生まれない。
>>901 「あの人、サッカーの先週でさ、今度のワールドカップの日本代表に選ばれたんだって!」
「ええ〜っ、すっご〜い!日本中のサッカー選手の憧れの的じゃん!」
「あの人、カーリングの選手でさ、今度の冬季オリンピックの日本代表に選ばれたんだって!」
「・・・そ、それって・・・すごいの?どこがどうすごいの?ていうか・・・カーリングってなに?」
言いたい事は分かるけど、カーリングは日本でもかなりメジャーなスポーツじゃん。 選手の名前も知られてるし、日本代表なら普通に凄いよ。
904 :
デフォルトの名無しさん :2007/10/23(火) 20:56:10
wxWidgetsあたりを使えば?
qtが閑古鳥ならwxとtkはどうなるのよ。クロスなgui環境が下火なのか?
>>901 >よって使わない。
それで良いんじゃないの。よくある結論だと思うけど。
自由が欲しいのであれば俺も wxWidgets を強く勧めるよ。
あれは良い物だ。
>>900 >質問サイトだっていつもガラガラ
>質問サイトがガラガラなら学ぶ手段もないし
MLは毎日結構な量のメッセージが流れているようだけど。
あれぐらいじゃ、ガラガラなのかな?
日本語のMLってある?
考えたこともなかったわ
クロスプラットフォーム自体の需要が(r
913 :
デフォルトの名無しさん :2007/10/24(水) 18:58:12
914 :
デフォルトの名無しさん :2007/10/25(木) 00:13:17
Qt って使いやすくて良いじゃん。
>>916 投稿はあっても回答者がいなけりゃ何にもならんだろ?
あそこは放置される質問の数の方が回答来る質問より多いんだから。
実はあそこはたった一人か二人の回答者で回ってんだ。
一日二日放置して「誰も答える人いないですか?」って書くとやっと返答が来る始末。
あとは他の質問者が「これくらいなら答えられる」って答える程度。
全員が全員「クレクレ厨」ってことさ。
他のBBSでのプログラミングの質問サイトだと5分で返答来るけどね。
少なくとも「それ、どういう意味?」くらいの返答は来る。
qt-interestもどれだけの質問が放置されてるかよく見てみろ。
もう完全に終わってるね。
それって世間一般ではC++/QTの学習曲線が急すぎて 誰も登っていけないってことじゃないの?
>>918 違うのでは。むしろ、興味を持つ人はいるが、親切なお節介さんが
少ないということだと思う。他では結構できる人がいろいろ答えたり
する場合がよくあるからね。trolltech も本家の ML 位にはいろいろ
新人でも良いから答えさせておけば入りやすいかも、なんて思ってしまうが…
親切になれというのが間違いでは。 1回答1000円ぐらいなら考えてもいいよ。
921 :
デフォルトの名無しさん :2007/10/25(木) 23:31:26
>> 917 >一人か二人の回答者で回ってんだ だったら自分で回答しまくって実力を見せてみろ。それすらできない技術レベルなののだろう。 ML に質問しなくても、リファレンス、サンプルコード、ソースコードで分かる。 ML に投げるのは、そういうことができないのがほとんどなんだよ。
>>920 その通りだよね。だからこそ trolltech とかは利害が絡んでるから
ちょっと手伝っても良いような気がするのだが…
923 :
デフォルトの名無しさん :2007/10/26(金) 00:35:25
GTK+ って使ったことないんだけど、Qtとどっちが使いやすそう?
おいおい判らないならソース読めよって感じだけどな Core・GUIに関しちゃそんな難しくないし
関係ないが、 ソース読めって、最後の武器だと思うんだが 軽々しく使いすぎる オープンソースはビジネスモデルとして破綻してる
ドキュメントにはたまに嘘が書いてあるからね。 あと、ソースとそのコメントってお互い補完しあう関係だと思う。 だいたい、ソース読むのぐらい今時MSでもやってることだろ オプソというのは広く公開する話で、一般の技術とは関係がない。
928 :
デフォルトの名無しさん :2007/10/26(金) 07:45:21
>>925 オープンソースでなくても開発者にはソースを読めるようにするのが当たり前なんだ。
>>919 ほぼ同意
何しろ絶対数が少ないからな
もう少し多ければ親切なお節介さんも増えるだろうに
>>921 アホか?
なんでそんなところで俺の実力を見せないといけないんだ?
テイクもしてないのになぜギブせんといかんのだ?
その点では
>>920 と同じ考えだよ。
自分の回答を答えてもらった代わりに他の人を助けたことはあったがな。
>ML に質問しなくても、リファレンス、サンプルコード、ソースコードで分かる。
お前がそのレベルしか必要としてないからだろ
>>928 まぁその通りだな。一般のユーザーにソース読めというのは
無理があると思うが、アプリケーション開発するのにソース
読まないでどうするのかしらん、という感じだわな。
オープンソースに限らず。
931 :
デフォルトの名無しさん :2007/10/26(金) 18:01:04
そういえばqt4-qtruby-mswin32がリリースされたよな。 どう、使ってる?
932 :
デフォルトの名無しさん :2007/10/26(金) 20:25:53
じゃあソースが読めないWindowsのアプリは開発できないじゃん。
>>933 何屁理屈言ってるの? Windows のアプリ用にもたくさんの
ソースコードの例があるからそれを参考にするわけ。
Qt でもデモのコードがあってそれを参考にする。
誰も OS のソースコードを見る必要があるとは言っていない。
君プログラミング経験ほとんど無いでしょ。
ソース読めってサンプルコード読めって意味かよwwwww わらかすなwww
>>935 OS のソースが必要だと言ってると思ってる君の方が笑える。
WindowsのGUIはOSと一体なんだからしかたないじゃん。
ドライバがkernelと一体のlinuxは異常
DDKがないとドライバの開発すらできません>< って意味じゃなくて? 有名どころでは、googleのアプリは結構qtが使われてたりする。 速度的に問題のあるc#やらjavaよりかは、現実的な速度でOSに縛られにくいという強みは十分あると思う。
skypeもQtだったよな
>>933 MFCで組んでてもMFCのソースは見るんじゃないかと思う。
Win32のソースは見たことないが、Qt+Linuxで組む時だってX11や
カーネルのソースまでは見ないよね?
>>932 (゚Д゚)ハァ?
意味分からん
気ぃでも違ったか?
943 :
デフォルトの名無しさん :2007/10/27(土) 09:26:46
>>929 Qt が憎くてケチ付けているだけだな。
>ドライバがkernelと一体のlinuxは異常 確かにlinuxで一番迷惑だなこれ
モジュールだろ、今は。
>>943 これだけ将来性のない言語を褒め称えるお前の方がどうかしてると思うが?
>>946 C++0xが策定中でこれからまだ伸びるのに?
モジュールになってるけどね。GPLだからそうするのが一番便利ってのもある。 ただ、2.26.23からユーザー空間でドライバを書ける技術が導入されたから 将来的には楽になるとは思う。ただ、ライセンス上やっぱ同梱してくれたほうが いろいろと楽だよ。
>>938 >>944 > >ドライバがkernelと一体のlinuxは異常
> 確かにlinuxで一番迷惑だなこれ
それっていつの話してるの?
>>948 将来的にもあんまり変わらないんじゃないの。
今でもグラフィックとか USB の一部はユーザランドに外出しされてる。
どうしてもC++を貶したい奴が居るみたいだな 嫌いなら使わないそれで良いだろ マイノリティー向けライブラリスレなんかに来ないで言語スレにいけよw
>>947 青田買いか?
はたまた、取らぬ狸の皮算用か?
これだけJavaとC#にシェアとられてるのに伸びるかよwww
>>952 あれ?君C++とQtの達人じゃなかったの?
勘違いしてたかな。
C++は滅びんよ 何度でも甦るさ ネイティブコードは人類の夢だからだ!
コンパイル型で最終的にネイティブコードが生成される言語なんぞ ゴマンとあるだろ
>>953 達人ならJavaとC#の侵攻は防げるとでも?
本当に先見の明のない奴だな
一度下火になったC++の人気が盛り返すことはほぼないだろう
C++と一緒に消えてしまえ
>>956 流行り廃りの話をしてたの?
オナニーで気持ち良ければいいって話かと思ってたよ。
>>957 読解力ゼロか?
未来を担う学生どもがこぞって
JavaとC#を学んでいるというのに
C++とQtとを組み合わせて学ぶ奴がどこにいるのかと小一時間(ry
依頼する側もほぼ同じ機能で良いなら
より普及している言語を選ぶだろう
マの代わりはいくらでもいるし
メンテもしやすい
959 :
957 :2007/10/27(土) 22:53:09
>>958 ぶっちゃけ俺もC#しか使ってないんだけど。
ついにぶっちゃけたか これが現実
JavaもC#もC++で書かれてるのに滅びるなんてありえない。
これだけ普及してて、最近は組込みでもC++が主流になりだしたというのに。
学生がJava/C#を学んでるのは抽象化が出来て、先生が計算機科学の本質を
教えやすいからでしょ。あと、ウェブアプリの台頭もあるし。
しかし、C++/Cが滅ぶことは絶対にありえないし、滅ぶとしてもまず
>>958 の一族が
全員滅んでからだと思う。
>>960 QtはC#が出る前に使ってたんだけどね。
>>114 みたいな人(.NETより楽)もいるから、
今のQtはこれだけ進化したって感想を期待してたんだよ。
必死だな、Qt日本代理店wwww そりゃC++は滅びないだろうが 下火なのは火を見るよりも明らか ま、「せいぜい」JavaやC#の人気に怯えながら 肩身の狭い思いをして生きてけやwww
スレ違いとっとと死ね
おいおい、Qt日本代理店、こんなところでキレると営業に響くんじゃないのか?w
Qtの話なら、Qyoto(C#用Qt)やJambi(Java用)があるんだが。 PyQtとかQtRuby/Korundumとかいくらでもあるんだが。 ただ、QtのMOPはなかなかよくできてていいよね。
>>965 君は色々と詳しそうなんだけど、
嫌なことでもあってアンチに転向したのかな?
俺もアンチ寄りなんで気持ちは分からないでもないんだけど、
ここまで攻撃がきついと引くなぁ。
まぁ、元々はもっとQtの人気出ると思ったんだろうけどな 蓋を開けてみたらスッカラカンってか?www 俺は英語のマニュアル読めるからいいけど 一般人は馬鹿ばっかりだから英語も読めないし 日本語のマニュアルが必要なんだろうけど その整備も整ってない始末 これで普及したらある意味奇跡だwww
埋め
埋め
>>968 日本で普及するかだけかの話かな…
アメリカとか英語は障壁にはならんし。
974 :
デフォルトの名無しさん :2007/11/01(木) 23:20:45
976 :
デフォルトの名無しさん :2007/11/02(金) 10:48:30
977 :
デフォルトの名無しさん :2007/11/02(金) 13:17:30
>>973 そのアメリカでの人気が既に下火なんだが?
979 :
デフォルトの名無しさん :2007/11/03(土) 13:28:15
981 :
デフォルトの名無しさん :2007/11/03(土) 20:27:13
>>981 半年前くらいに同じことをしたんだが
その時は「C++とQT」の組み合わせで44件だった。
それがもう半分以下とは・・・。
認めたくない気持ちは分かるが、この事実は変わらんよ。
今度はお前の方が「Qtはアメリカで大人気!」って証拠を見せてみろ。
見つからんと思うが。w
Qtに興味の無いやつはこのスレに来るなと
ディストロのデファクトはKDE
それはそれで面白い議論だけど、C++ で GUI というとそれじゃ何になるわけ? Windows だけで VC++? それとも他の環境あるの? あるいはもう C++ ベースの GUI アプリの需要が無い? もう Java と基本的に Windows だけの C#?
>>985 >C++ で GUI というと
SWT for C++ 亡き今、wx 一択かと。Fox とか FLTK は日本人が使うにはちょっとキツい。
Adobe が出してる奴とか mozilla の toolkit を使っても良いけど、まだまだマイナー。
KDE含めるとQtのアプリはディストロにわんさか付いてくるが wxのアプリだとaudacityくらいしか見掛けない
とりあえずKDE4次第だな
>>983 そうか、やっぱり見つからなかったか・・・m9(^Д^)プッギャー
>>985 その「C++で」って部分でもうダメじゃん。
じゃ、今の時代にFortranでGUIって何になるわけ?
>>988 そいつがいつまで経っても出ないんだなwwwwwwwwwww
>C++ Qt: 16 jobs >C# Forms: 78 jobs >Java Swing: 271 jobs C# Formsでたったの78件、Java Swingでたったの271件しか得られないような調査が まともに市場を反映していると考える方がぼけなすっぽいんじゃないかな。 そんな考察さえせずに半年を挟んで2回も同じ調査をやって得意がるなんて…
Linuxバブルと一緒に砕け散った亡霊の残骸
997 :
デフォルトの名無しさん :2007/11/04(日) 15:59:13
記念パピコ
998
銀河鉄道999
1000だったらトロルテックが倒産して公約どおりQtがBSDLで解放される!
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。