【RAD統合環境】 Qt 総合スレ 5 【Win/Mac/Linux】
at TECH
1:デフォルトの名無しさん
09/10/01 12:08:27
Qt(キュート)は C++ ベースの GUI ライブラリです。
フォーム、ボタンなどの各種ウィジェットからネットワーク、マルチスレッド、グラフィックス(OpenGL)や
各種コンテナ、XMLパーサー、組み込み JavaScript など、ライブラリの機能は多岐に渡ります。
Qt Creatorのリリースにより単なるGUIライブラリ・ツールキットから、
単体でGUI作成、コーディング、デバッグも可能な
クロスプラットフォーム対応のRADベースのIDE(統合開発環境)での
開発が可能となりました。
■対応プラットフォーム(デスクトップ用途の場合)
Windows 98, Me, NT4, XP, Server2003, Vista
Mac OS X 10.3, 10.4, 10.5
Linux
■ライセンス
・オープンソース版(Open-source version)
LGPL 2.1 または GPL 3.0 のうちどちらかを利用者が選べます。
LGPL を選んだ場合は商用利用が可能です(いくつか制限あり)。
・商用版(Commercial version)
こっちはQt Softwareか日本の代理店(SRA社)とライセンス契約(年間30万くらい?)を結んで使います
■Qt を使って作られたソフト例
KDE、Adobe Photoshop Elements、Google Earth、Skype、DAZ Studio など
■前スレ
【GUIツールキット】Qt 総合スレ 4【Win/Mac/Linux】
スレリンク(tech板)
2:デフォルトの名無しさん
09/10/01 12:08:56
■リンク
・Qt Software (旧Trolltech社/現在はNokia社の一部門)
URLリンク(www.qtsoftware.com)
・Qt のダウンロードページ(オープンソース版は、LGPL/Free Downloads タブから)
URLリンク(www.qtsoftware.com)
・Qt のダウンロード(FTP)
fURLリンク(ftp.qtsoftware.com)
・SRA社(日本の代理店)の日本語で読める Qt 関連ドキュメント
URLリンク(www.sra.co.jp)
■ライセンス関連まとめ
各ライセンスでの自作アプリのソース公開/頒布
Qtのライセンス アプリのライセンス Qtの頒布/(変更部分のソース公開)
GPL GPL(ソース公開必須) 必須
LGPL 任意(ソース公開不要) 必須
商用 任意(ソース公開不要) 不要
*: LGPLは動的リンク時
実際には他にも条件(リバースエンジニアリング関係とか)あるので、
きちんとライセンスの条文を読むこと。
3:デフォルトの名無しさん
09/10/01 12:09:32
Windows ユーザー向け Tips
■どれをダウンロードするの?
・Download Qt SDK for Windows* (194 Mb)
IDE&コンパイラ付きインストーラー(Qt Creator&MinGW)
すぐに使える。オススメ
・Download Qt libraries 4.5 for Windows (136 Mb)
MinGW(gcc)版インストーラーや、その他のコンパイラ(VisualC++など)用のソースコード
VisualC++等でQtを使うには、これを落として Qt 自体をビルドする必要がある(2〜3時間かかる)
■Qt Creator&MinGW Windows版について
・プロジェクトのパスに半角スペース、日本語を入れちゃダメ
・日本語のソースコードは UTF-8 にする
「Projects」タブの「Editor Setting」設定でエディタの Encoding を「UTF-8」にする
デフォルトの System(ShiftJIS)は gcc と相性が悪い
・デバッグ出力はとりあえず英語にする
qDebug() に日本語を出力するとデバッガコンソールが文字化けする(UTF-8、ShiftJISどっちもムリ)
・配布時は mingwm10.dll も忘れずに一緒に入れておく
MinGW 環境でコンパイルするとこのDLLが必要になる。このファイルは public domain で配布上の制限はない
4:デフォルトの名無しさん
09/10/01 12:11:04
Qt Creator 日本語化プロジェクト
Qt Creator を日本語化するプロジェクトです(非公式)
URLリンク(qt-creator-jp.sourceforge.jp)
5:デフォルトの名無しさん
09/10/01 23:54:53
もう新スレか。Qtのスレが盛り上がっていてちょっと嫉妬するよ。
やっぱLPGLになったのが大きいのかな。
6:デフォルトの名無しさん
09/10/02 00:10:46
俺的にはQt Creatorが大きい。
インストールするだけで、RADで開発できる
環境が整うのは大きいよ。
7:デフォルトの名無しさん
09/10/02 00:25:18
タイポした。LPGLってどこのガス会社だ…
>>6
新しいIDEができたんだ。
みんなKDevelopを使ってるのかと思ってた。
8:デフォルトの名無しさん
09/10/02 01:01:00
KDevelopはWindowsでつかえないじゃん。
9:デフォルトの名無しさん
09/10/02 11:51:00
Qt Creator、Windows版にVCコンパイラ用のビルド済みバイナリパッケージ用意すればさらに流行ると思うんだけどな
10:デフォルトの名無しさん
09/10/04 12:13:56
画面1024X600のミニノートにLinuxを入れて、Qt Createrを入れたんだけど
Linuxのほかのアプリでは問題ないが、Qtではエディタ内をクリックすると
画面が上下に行ったりきたりする
全画面モードにすれば、ちらつくだけで何とか使えるんだけど
だれか対処法知らない?
11:デフォルトの名無しさん
09/10/04 12:48:23
>LGPL 2.1 または GPL 3.0 のうちどちらかを利用者が選べます。
>LGPL を選んだ場合は商用利用が可能です(いくつか制限あり)。
最近ライセンスについて調べたばかりの知識で
間違っていたら申し訳ないんだが
GPLでも商用利用は可能じゃね?
儲かるかどうかは別として
それとも3.0は別もん?
12:デフォルトの名無しさん
09/10/04 12:59:54
>>11
GPLだと、ライブラリを利用する自社開発分のソースも公開する必要があるので、
競争の優位性を保とうと思うなら事実上使えないと判断されることが多いようである。
13:デフォルトの名無しさん
09/10/04 13:18:19
入門 Qt 4 プログラミング
URLリンク(www.amazon.co.jp)
14:デフォルトの名無しさん
09/10/04 13:23:28
GPLのソフト作って儲かってるのは、ウェブサービスぐらいだろう。
(結果を返しているだけだからサービスのユーザーにソースを公開する必要がない!)
Qtでウェブサービス。作るかなぁ・・・。
15:デフォルトの名無しさん
09/10/04 13:26:21
>>1
Linuxを含むX Windowプラットフォームでは、Linuxがもっともアクティビティが高いけど、
それ以外もちゃんとサポートされている。
URLリンク(doc.trolltech.com)
16:デフォルトの名無しさん
09/10/04 14:06:48
>>11
GPLでも商用利用可能だけれど儲からないです。
LGPLなQtを使って作ったアプリケーションは、そのアプリケーションのライセンスで、
コピーの配布を禁止でき、有料販売できます。しかし、GPLなQtを使っているならば
アプリケーションのソースコードを公開しなければならないだけではなく、受取った
アプリケーションのコピーを無料で配れて、禁止もできないため、有料販売はできて
も利益を上げられません。
17:デフォルトの名無しさん
09/10/04 14:59:40
>>2
今は
Qt Development Frameworks
URLリンク(qt.nokia.com)
が正しいみたい。
18:デフォルトの名無しさん
09/10/04 16:01:00
>>16
最初の一人に高く売りつけるwww
19:デフォルトの名無しさん
09/10/04 16:04:28
>>14
つMySQL
サーバ系だと、どうしても継続的に保守が必要なので、GPLで出して、保守費で稼ぐというモデルが作れる。(本当に儲かるかどうかはケースバイケースだが)
しかし、Qtだとクライアントサイドだから、有償にし辛いのではないかなぁ。
20:デフォルトの名無しさん
09/10/04 16:44:04
ふぅ。QT4本見ているが、Qt Creatorで生成されるコードと違っていて疲れるわw
■Qt Creatorでのコード
ユーザーが作ったクラスで、実際の動作させたいコードを書くMainWindowは、
Qtライブラリの QMainWindow を継承している。基本的にここにはGUI配置のコードはない。
GUI配置のコードはUi::MainWindowにある。(※Ui::MainWindowはMainWindowとは別のクラス)
MainWindowは、内部にUi::MainWindowのポインタuiを持っており、
MainWindowのコンストラクタでUi::MainWindowを生成し初期化(ui->setupUi(this))する。
Ui::MainWindowクラスは、mainwindow.uiファイルを元に生成されるui_mainwindow.hによると、
何からも継承していないクラスであるUi_MainWindowでGUIを定義し、
Ui_MainWindowを継承してUi::MainWindowを作っている。
ややこしいなぁw
21:デフォルトの名無しさん
09/10/04 16:53:10
■Qt4の2章のコード
ユーザーが作った検索用ダイアログクラスで、実際の動作をさせたいコードを書くGoToCellDialogは
QDialogと Ui::GoToCellDialogを継承している。GoToCellDialogには同じくGUI配置のコードはない。
GUI配置のコードは、Ui::GoToCellDialogにある。(※Ui::GoToCellDialogはGoToCellDialogとは別のクラス)
GoToCellDialogは、Ui::GoToCellDialogを多重継承しているので、Qt Creatorのように、uiポインタを経由せずに、
ui->setupUiを呼ぶことができる。
Ui::GoToCellDialogクラスは、・・・たぶん、Qt Creatorと一緒w
あぁ、なるほど。GUI配置のコードを継承して実行するか、
継承せずに委譲で行うかで違っているわけか。
22:デフォルトの名無しさん
09/10/04 17:09:21
>>11
もちろん商用利用は可能だよ。
その場合はパッケージその物の販売ではなく、保守・改修やマニュアル、
トレーニング、追加パッケージ等で収入を得るモデルになると思うけど、
商用利用することは問題ありません。例えばLinux関連ビジネスで収入を
得ている企業はそれをやってたりする訳です。
だから、その一文はミスリーディングかもね。
23:デフォルトの名無しさん
09/10/04 17:17:55
>>22
でも、それ作ったものを商用利用していることになるのかねぇ。
仮に君がQtでアプリを作ってそういうビジネスモデルをやっていたとする。
そして俺がそのQtアプリを入手して、君の代わり俺がその
ビジネスモデルで商売しても良いわけだ。
つまり俺が商売している部分は、アプリを除いた部分であって、アプリ自体は商用といえるのかねぇ?
24:デフォルトの名無しさん
09/10/04 17:47:41
>>20
こちらは、少し前にビルドした開発途上版のQt Creator1.2.91を使っているけど、
設定で選べるようになっていて、継承をさせることも可能になっているよ。
25:デフォルトの名無しさん
09/10/04 18:05:14
>>23
そのアプリを取り除いたら商売にならない訳だから、商用利用と言って良いでしょう。
誰かが代わりを務めることが出来ると言うけど、どうしてもついてしまう『差』というのも
あるものです。その原因は事業方針だったり、技術力だったり、ブランド力だったり、
色々ですが。例えば私がQtのコミッタで、あなたがQtのソースコードを読んだことが
なかったら、あなたは私のビジネスモデルで商売ができると言えるでしょうか。
26:デフォルトの名無しさん
09/10/04 18:13:13
>>24
使い分けはどうしたら良いんだろう?
27:デフォルトの名無しさん
09/10/04 18:29:52
GPL3の場合、サーバー側のコードも感染すると思ったほうがいいよ。
それどころか、画面を構成するのに必要な画像など一式が感染する。
GPL2とはちょっと様相が変わった。
28:デフォルトの名無しさん
09/10/04 18:40:56
前スレ>>874
>自分のソースにQtのLGPL版を静的リンクした場合、必ず自分のソースを公開する必要があるの。
無いよ。リンク可能なオブジェクトファイルを同梱すれば良いだけです。
自作部分のソースの公開は、静的リンクでも動的リンクでも必要ありません。
これは、ユーザがQtのソースコードを書き換えた時に、改変したQtを
再びあなたのプログラムにリンクできるようにするための決まりです。
例えばQtにバグがあった時なんかに、こういう仕組みが必要です。
>>>2 にLGPLのときは、わざわざ動的リンク時と断ってソース公開が任意となっている。
静的リンクでも一緒です。ただし動的リンクの場合は既に再リンク
可能なオブジェクトファイルが配布されているので、場合分けを
しているのでしょう。
29:デフォルトの名無しさん
09/10/04 19:45:33
オブジェクトファイルって同梱じゃないとダメ?
配布サイズでかくなるのが嫌だから別に公開しようと思ってるんだけど
30:デフォルトの名無しさん
09/10/04 19:59:28
同梱じゃなくても良いですよ。
31:デフォルトの名無しさん
09/10/04 23:19:05
>>5
>もう新スレか。Qtのスレが盛り上がっていてちょっと嫉妬するよ。
>やっぱLPGLになったのが大きいのかな。
普段何使っているの?
32:デフォルトの名無しさん
09/10/04 23:38:01
SMPlayer
URLリンク(ringonoki.net)
これもQt製じゃね?
33:デフォルトの名無しさん
09/10/05 00:10:42
>>26
Preferencesから3つの内のひとつを選択できるようになっています。
Aggregation as a pointer member:
ui->setupUi(this)、ui->lineEdit->text()というように使う場合。uiを
デストラクタでデリートする必要あり。
Aggregation:
ui.setupUi(this)、ui.lineEdit->text()というように使う場合。デストラクタ
でのuiのデリートは必要ない。
Multiple Inheritance: ui. や ui-> なしで、setupUi(this)、lineEdit->text()
というように簡潔にしたい場合。
34:デフォルトの名無しさん
09/10/05 08:47:41
社内アプリにはQt Creatorで十分なんだけど
「なんでVC/C#/VBにしねーの」って話になって導入しづらいんだよなあ
昔のDelphiみたいな感じに知名度高くなってほしい
35:デフォルトの名無しさん
09/10/05 09:41:07
Qt Creator コンパイル遅すぎる
36:デフォルトの名無しさん
09/10/05 13:00:01
g++が遅いんだよ、clはええ〜
37:デフォルトの名無しさん
09/10/05 13:37:51
moc挿んでるせいじゃなくて?
38:デフォルトの名無しさん
09/10/05 22:07:16
QtCreator1.2でインクルードファイルディレクトリを指定するのはどうやるのですか?
gcc -I"dir"
のdirを指定させたいのだが。
39:デフォルトの名無しさん
09/10/05 23:35:37
.proの適当な位置に「INCLUDEPATH += インクルードディレクトリ」って書くか
環境変数CPLUS_INCLUDE_PATHとC_INCLUDE_PATHにインクルードディレクトリを書き込んでOS再起動する
40:デフォルトの名無しさん
09/10/05 23:37:15
>39
ありがとう。
41:デフォルトの名無しさん
09/10/06 10:30:55
QTで作成したツールをVistaマシンで動かすと、色の描画がおかしくなってしまいます。
真っ黒になったり、色が変わったり…。
XP環境では普通に描画されるのですが、どなたか対処方法をご存じないですか?
VistaマシンはレッツノートCF-Y8です。
ドライバは最新のものになっています。
42:デフォルトの名無しさん
09/10/06 11:15:43
CreatorでQDialogにQTreeViewとPushButtonを貼り、QTreeViewにQDirModelをセット
して、ファイルディレクトリをツリー表示してます。
表示、展開などは問題なく出来るんですが、ボタンを押すと選択されている
ディレクトリのフルパスを取りたいんですが、その考え方が分かりません。
選択項目の取得法、戻り値はフルパスなのか
43:デフォルトの名無しさん
09/10/07 10:41:10
>>42
>CreatorでQDialogにQTreeViewとPushButtonを貼り、QTreeViewにQDirModelをセット
>して、ファイルディレクトリをツリー表示してます。
>表示、展開などは問題なく出来るんですが、ボタンを押すと選択されている
>ディレクトリのフルパスを取りたいんですが、その考え方が分かりません。
QTreeViewは、アイテムをクリックするとそれを知らせる
clicked(const QModelIndex & index)シグナルを発する。
それと、自分で定義したスロットを接続すればよい。
44:43
09/10/07 10:42:56
つづき
下記は、MainWindowの中のコードだから、カスタムTreeViewを定義しているときは、適宜修正して。
まず、コンストラクターなどで、シグナルとスロットを接続。
connect(m_TreeView, SIGNAL(clicked(QModelIndex)),
this, SLOT(displaySelectedDirectory(QModelIndex)));
以下は、スロットの実装例
void
MainWindow::displaySelectedDirectory(const QModelIndex& index)
{
QDirModel* dirModel = qobject_cast<QDirModel*>(ui->m_TreeView->model());
if(dirModel) {
if(dirModel->isDir(index)) {
QString seletcedDirPath = dirModel->filePath(index);
qDebug() << seletcedDirPath;
}
}
}
返す値は、絶対パス。
リファレンスのQDir、QDirInfo、QCoreApplicationなどをみれば、
ファイルやパスなどの便利なメソッドがあるよ。
45:43
09/10/07 10:45:02
訂正
QDirModel* dirModel = qobject_cast<QDirModel*>(ui->m_TreeView->model());
のui->は、いらない。
下記が正しい。
QDirModel* dirModel = qobject_cast<QDirModel*>(m_TreeView->model());
46:デフォルトの名無しさん
09/10/07 11:08:20
>>41
よく分からないから自信ないけど。
再描画が適切に行われていないとか。
QWidget::update()を直接呼んでみるとかればいいかも。
47:41
09/10/07 13:55:11
>>46
レスありがとうございます。
QWidget::update()を直接呼んでもやってみたのですが、
現象は変わりませんでした。
オブジェクトを移動/回転させると色が変わったりするので、
光の当て方とかが、何かいけないのかな…と思いつつ調べています。
48:デフォルトの名無しさん
09/10/07 14:03:39
>>41
Vista で描画の問題が起こった覚えはないけど、
可能性があるとすると OpenGL を使っているとか、
(INTEL系のチップセットだとドライバの出来が悪い)
ディスプレイの設定が16bit colorになっているとか。
後者は16bit colorが原因のバグが以前にあったと思うので、
未修正のがあるとすればだけど。
paintEvent() を自分で実装しているクラスで起こるとか、
QWidget にパレットを設定しただけでも起こるとか、
もっと詳しい情報があればもうすこし調べられるかもしれないが。
49:41
09/10/07 15:21:18
>>48
描画にはOpenGLを使用してます。
更にチップセットはINTELのものです(Intel(R) 965 Express Chipset Family)。
最新のドライバにしたのですが、相性が悪いとかあるのでしょうか…。
paintEvent()は自分では実装していません。
パレットを設定しただけで起こるかは…ちょっとわからないです。
50:41
09/10/07 16:40:33
自己解決しました。
ドライバが「最新」と表示されていたものの、
よくよく調べてみたら、最新では無いというオチでした…。
ダウンロードしたインストーラでは普通にインストールが不可だったので、
手動でインストールし、最新のものにしたら正しく表示されました。
レスしてくださった方々、ありがとうございました。
51:デフォルトの名無しさん
09/10/07 19:15:09
ケンちゃんラーメンは新発売って言っていたのに、
新発売ではないというオチでした・・・。
52:42
09/10/07 22:25:16
>43
そうか、継承元のQAbstractItemViewのclicked シグナルがIndexを渡して
くれるんですね。
継承元クラスを調べわすれてました。
ありがとうございました。
53:デフォルトの名無しさん
09/10/08 13:52:00
Ubuntuで
QtをシステムでWebインストール(Synaptic)してQtCreatorのみをインストールしました。
Qtは自動アップデートされて4.5です。
こんどQtCreatorをバージョンアップしたらコンパイルできなくなってしまった。
どうも、Creatorのオプション>Qt4 を見ると自動検出したQtが検出できてないらしく
ここにパスを手動で入れれば良いみたいなんだけど
usr/shareとかusr/lib/qt4とか入れてみてもだめみたいで
なんのパスを入れれば良いでしょうか?
54:デフォルトの名無しさん
09/10/08 15:18:54
>>53
パスを指定したあと、下のRebuildボタンを押す必要がある。
また、そのあと下のデフォルトQtバージョンから
使用したいバージョンを選ぶことで選択できるようになる。
55:54
09/10/08 15:26:14
こちらはDebian GNU/Linuxだけど、debパッケージでインストールしたものへの
パスは/usr/share/qt4になっている。
たぶんUbuntuのそれらしいところの、パスを指定すればいいと思う。
56:デフォルトの名無しさん
09/10/08 15:43:40
Windowsはドライバの出来が悪いのでQtで不具合が出る。
Linuxにしたほうがいい。
以上、報告終わり。
57:デフォルトの名無しさん
09/10/08 17:04:02
Qtの不具合だろw
ドライバの問題なら、他のソフトでも問題が出ているはず。
DirectXやOpenGLを使っていて問題が出るのならまだしも
普通のソフトで問題が出るのだからQtの不具合で間違いない。
58:デフォルトの名無しさん
09/10/08 17:12:36
>>56
クロスプラットフォームだからという理由で、Qtが選ばれる場合があるので
それは難しい気がする。
57の人がいうようにQtの不具合かもしれないし、そうではないかもしれない。
とにかく、理由が分からないのにそう決めるのは、個人的には賛成できない。
59:デフォルトの名無しさん
09/10/08 17:52:13
Linux->不具合なし完璧に動く。
Windows->不具合ありまともに動かない。
これがWindowsを使ってはいけない証拠。
60:デフォルトの名無しさん
09/10/08 18:02:12
そうだね
61:デフォルトの名無しさん
09/10/08 21:46:16
>>57
OpenGLで問題が出ているかどうかを確認せずにそのようなことは言えない。
そして、DirectXは、Qtは使っていないのに持出すのもおかしい。
62:デフォルトの名無しさん
09/10/08 22:23:46
ちょっと確認
VCではダイログを開くとき、モーダル、モードレスって考え方があって
モーダルモードで開くとダイアログを閉じるまで制御が帰ってこなっかた。
Qtの場合.show()を実行してもステップは次に進むので、
.show()で閉じて、ダイアログを閉じたときシグナルを投げ、元のクラスの
スロットで受けて続きの処理を書くの?
モーダルモードみたいなものはないよね?
63:デフォルトの名無しさん
09/10/08 22:31:49
QDialogならexecで呼べば、普通に処理終わるまで戻ってこないモーダルフォームとして表示できるけど
そういうことじゃないの?
64:62
09/10/08 22:45:42
>>63
そう言うことです。知らなかった(^^;
ありがとう
65:デフォルトの名無しさん
09/10/09 17:42:27
モーダルあなた疲れてるのよ
66:デフォルトの名無しさん
09/10/09 20:17:12
show()でもモーダルにできます。show()なので表示後すぐに戻って来て、モーダルになります。
1) setModal(true) を設定 - アプリケーションモーダル。
2) setWindowModality(Qt::ApplicationModal) を設定 - アプリケーションモーダル。
3) setWindowModality(Qt::WindowModal) を呼出し、親ウィジェットを 0 以外に設定 - ウィンドウモーダル。
67:デフォルトの名無しさん
09/10/09 21:56:37
グループボックスって境界線着いてなかった?
以前のバージョンではGroupBoxをドラッグすると枠つきだったような
68:デフォルトの名無しさん
09/10/09 22:13:11
>>67
4.5.2 Windows XP だけど付いてるよ。
どの環境、スタイルでの話?
69:67
09/10/10 08:37:06
>>68
Linux Ubuntu+Qt45
以前、ボタンの色を設定しようとして断念したものです。
やっぱり、その関係かな?
70:デフォルトの名無しさん
09/10/10 21:52:15
>>69
Plastique Style でも Cleanlooks Style でも枠は付いてるな。
URLリンク(qt.nokia.com)
URLリンク(qt.nokia.com)
プロパティを変更してないデフォルトのままの QGroupBox を置いて、
プレビューでスタイルを選択しても枠が付いていないようなら
一度Qtをインストールし直してみるのも手かも。
71:デフォルトの名無しさん
09/10/11 12:27:48
VCでコンパイルするとソフトの動作が安定したり早くなったり
あとコンパイルの時間も早くなったりするの?
72:デフォルトの名無しさん
09/10/11 15:20:58
>>71
使ったことないからよくは分からないけれど、
MinGWにくらべて実効速度が明らかに速いというのは
よくネット上で見かける。
73:デフォルトの名無しさん
09/10/11 19:32:07
>>71
安定度は同じ、実行速度はVCの方が見て分かる位に速い。
74:デフォルトの名無しさん
09/10/11 19:55:23
>>73
それはない。
MinGWのコンパイラはGCCで、これはVC++より明らかに速い。
たとえばGCCは同一の文字列を一つにまとめるような最適化までする。
有名な話だ。
こういった最適化によって3D計算などではVC++より100倍以上高速化
されたという。
これもinfoに書かれている有名な話。
75:デフォルトの名無しさん
09/10/11 20:00:04
Xの描画速度がWindowsより明らかに速いのはgccの最適化が効いているから。
DVDの書き込み速度もLinuxのほうが速い。
俺の環境ではWindowsで1時間かかったのがgccでコンパイルしたLinuxでは
1分かからなかった。
話にならないくらい違う。
76:デフォルトの名無しさん
09/10/11 20:17:53
GCCが遅いというのは有名な話だと思ったが、意外にも健闘してるね。
AMDのエンジニアが手を入れたりしてたからなのかな。
URLリンク(bvector.blogspot.com)
単に整数演算がそこそこ速いというだけかもしれないけど。
URLリンク(www.osnews.com)
まぁGCCがMSVC++より明らかに速いというのはどうかなあ…
77:デフォルトの名無しさん
09/10/11 20:17:57
QtCreatorでプロジェクトをコンパイルしようとしたのですが、
以下のエラーが出て進みません。
Could not find make command: mingw32-make.exe in the build environment
Error while building project testproj
When executing build step 'Make'
Canceled build.
MinGWはインストールしてあります。
何か設定をしていないのでしょうか・・・
78:デフォルトの名無しさん
09/10/11 20:25:20
>>76
インテルコンパイラはgccの倍以上遅いんだなあ。
79:デフォルトの名無しさん
09/10/11 20:27:53
どっからそんな情報を受信したんだw
80:デフォルトの名無しさん
09/10/11 20:33:15
100倍以上の差があるらしい
81:デフォルトの名無しさん
09/10/11 21:11:24
VCでビルド済みのQtを配布しているプロジェクトとかないのかな。
GPL/LGPL用ならライセンス的には問題ないよね?自分でコンパイル
したら何時間もかかるから、あったら助かるんだけど。
82:デフォルトの名無しさん
09/10/11 22:25:13
Qt Creatorも自分で用意すればVCのコンパイラ使えるんだっけ?
83:デフォルトの名無しさん
09/10/11 22:33:41
DVDの書き込み速度ってOS関係あんの?
84:デフォルトの名無しさん
09/10/11 22:49:28
>>81
ごっごるこーどにあったと思う
85:デフォルトの名無しさん
09/10/11 22:57:19
>>84
これかな?最新版はないみたいだけど、いいかも。
URLリンク(qt.windows.binaries.googlepages.com)
あとこんなのもあった。
URLリンク(code.google.com)
86:デフォルトの名無しさん
09/10/12 10:40:15
QtCreatorを使うとき、QPlastiqueStyleなどをデフォルトに指定することは
できるの?
a.setStyle(new QPlastiqueStyle)で、できるみたいだけど
87:デフォルトの名無しさん
09/10/12 11:23:47
>>77
PATH で mingw32-make.exe のあるディレクトリを指定してある?
88:デフォルトの名無しさん
09/10/12 13:55:59
>>86
他には、
アプリケーションのならば、プロジェクトの実行時の設定で-styleオプションでスタイル指定できます。
フォームの編集でならば、場合によっては、オプションのEmbedded Designでスタイル指定という方法もあります。
89:86
09/10/12 17:15:45
>>88
>プロジェクトの実行時の設定で
プロジェクトの実行時の設定タブ内の引数の項目に
-style Plastiqueを入れると出来ました。
ただ、ここの引数はRelease版でも、実行時に引数として渡さないとダメですよね?
90:デフォルトの名無しさん
09/10/12 20:43:09
>>89
いつもスタイルを特定のものにするならQApplication::setStyle("plastique") [static] でよいのではないですか。
91:89
09/10/12 21:38:36
>>90
この書き方もあるんですね
ありがとうございまいた。
92:デフォルトの名無しさん
09/10/14 21:38:08
Qt 4.6 Beta と Qt Creator 1.3 Betaがリリースされた。
93:デフォルトの名無しさん
09/10/15 13:12:31
>>92 そうだね
Nokiaが「Qt 4.6」ベータ版を公開、認定プログラムも導入
URLリンク(sourceforge.jp)
> Nokiaは12日、Qt開発者認定制度「Qt Certification Program」も発表している。
> Qt開発者のスキル、知識などを数段階で評価するもので、「Qt Essentials」
> という試験に合格する必要がある。受験料は199ドル。
おまいら受ける?
94:デフォルトの名無しさん
09/10/15 16:01:14
ちょーウケルwww
95:デフォルトの名無しさん
09/10/15 18:27:48
アプリ内で動画再生したいと思うんだけどなんか方法無い?
普通のプレイヤー見たく対応コーデックはなるべく多く
96:デフォルトの名無しさん
09/10/15 19:18:32
>>95
まずは Phonon で問題ないか調べてみては。
97:デフォルトの名無しさん
09/10/16 01:48:27
Qt Visual Studio Add-in 1.1が出た。
このバージョンは、Visual Studio Integrationに置き換わるものらしい。
これからは、Add-inだけが作り続けられるようだ。
98:デフォルトの名無しさん
09/10/16 04:14:51
>このバージョンは、Visual Studio Integrationに置き換わるものらしい。
このバージョンは、Visual Studio Integrationを置き換えるものらしい。
99:デフォルトの名無しさん
09/10/16 20:50:29
いつかはいろんなOSで作ってみたいと思ってるときは
VSのAddinでやるよりQT Creatorの使い方を覚えた方がいい?
100:デフォルトの名無しさん
09/10/16 21:37:42
以前は、日本語のHPからQt SDK for Linux/X11 32ビットをDLして
インストールするとCreator1.2.1で勝手に日本語になってたと思うんだけど
最近は日本語になってないし、QGui.soがないとかlibがないとか一筋縄で
いかないみたいなんだけど、なんかかわった?
101:デフォルトの名無しさん
09/10/16 22:11:15
>>100
落としたのは beta?
1.2 から 1.3 でメッセージ関連の変更が多いので今までの飜訳が
そのままは使えなくなっている。
1.3 向けの飜訳はまだこれからというところ。
なので現状では日本語は出ない。
正式リリースを待とう。
後者はわからない。どの distribution?
102:デフォルトの名無しさん
09/10/16 22:58:19
>>99
たとえWindowsでしか使わなくても、Qt Creator 結構使い勝手いいわよ。
103:デフォルトの名無しさん
09/10/16 23:39:57
>>99
むしろQT Creatorを使いやすいように改造してしまう
左の縦のボタンバーとか場所取りすぎや…
104:デフォルトの名無しさん
09/10/16 23:43:15
FakeEmacsつけてほしい。さもなければ、FakeVimをもうちょっと気合い入れてほしい。
FakeVimで使っててもそのうちイーってなって、外部のvim立ち上げてしまう。
105:デフォルトの名無しさん
09/10/17 01:11:24
vi厨、Emacs厨はIDEなんかに手出さずテキストエディタでシコシコ開発すればいいじゃん
106:デフォルトの名無しさん
09/10/17 01:13:37
結局のところそれが一番効率良いしな
107:デフォルトの名無しさん
09/10/17 01:32:43
なんで、vi、Emacsに
IDE風な拡張アドイン作れないんだろうね。
ピリオドおしたらメソッドのリスト表示とか
難しいのかな。
108:デフォルトの名無しさん
09/10/17 01:37:07
>>107
vi(クローン)は知らんが、EmacsLispは大量のソースを解析させるには非力過ぎる上にマルチスレッドが使えない。
……それでもEmacsから逃れられないんだがorz
109:デフォルトの名無しさん
09/10/17 01:39:10
Emacsやvimの補完も役に立つけど、今時のIDEの賢い意味のある補完に比べるとな orz
110:デフォルトの名無しさん
09/10/17 01:55:26
>>107
ここら辺を使えばできるんじゃないかな。
URLリンク(cedet.sourceforge.net)
URLリンク(ecb.sourceforge.net)
俺に取っては UNIX が IDE だから、わざわざ
屋上屋を架そうとは思わないけどね。
111:デフォルトの名無しさん
09/10/17 02:11:27
そのIDEのUNIXで、ピリオド押したら、
そのクラスのメソッドの一覧をだせるのですか?
112:デフォルトの名無しさん
09/10/17 02:28:35
Creatorは何よりもGo to slotが便利だ
これのためだけにVS AddinじゃなくてCreator使ってるといっても過言じゃない
113:デフォルトの名無しさん
09/10/17 02:28:37
>>96
ありがとう。Phononでいけそうだ。
ただ、WindowsでPhononモジュール追加して
コンパイルができない。あははははorz
なんかのライブラリとか足りないだけなんだけど、
Windows SDK入れてコンパイルしないといけない?
114:デフォルトの名無しさん
09/10/17 09:05:26
>>111
それが必要なら勿論そうだよ。俺は要らないけど。
115:デフォルトの名無しさん
09/10/17 09:26:09
>>111
クラスメソッドの一覧が出るとどれくらい楽になりますか。
116:デフォルトの名無しさん
09/10/17 10:31:05
>>113
mingw が DirectShow をサポートしてないから Nokia のオープンソース版の
バイナリだと Phonon が入ってない。
URLリンク(labs.trolltech.com)
を参考に Qt を作り直す手もあるけど、どうせ作り直すなら Windows SDK でビルドし直した方がいいか。
試してないけど、 >>85 にVCでビルドしたバイナリについて書いてあるから、
それに Phonon が入ってるか確認してみるのもいいと思う。
117:デフォルトの名無しさん
09/10/17 11:25:17
>>116
やっぱそういうことなのか。
ちょっと大変だな。
Visual Studio 2008は持っているんだが、オープンソースで作ることを考えると
無料のWindows SDKでのやり方を知っておいたほうが良いし、
phonon使うだけで、Windows開発環境のお勉強w
環境変数の設定とか、何がなにやら。VSは基本IDEでやっていたしなー。
将来のqt(mingw)ではデフォで含まれるようになるのだろうか?
WindowsだとDirectShow以外にもVLCバックエンドとかmplayerバックエンドも
使えるみたいだが、それを利用する方法(VLCインスコ? そのまま使える?)とかまだ調べて無いし、
道のりは長そうだ。phonen利用のための最短ルートの日本語解説がほしいぜ
118:デフォルトの名無しさん
09/10/17 12:09:57
Windows SDK でのビルドは難しくないし、VS2008 が入ってるなら
VS2008 のコマンドプロンプトからやっても同じと考えていい。
メニューからそれぞれのコマンドプロンプトを立ち上げれば環境変数も
あらかた設定されてるし。
手順的には
VS2008 or Windows SDK のコマンドプロンプトから
<Qtの展開したディレクトリ>/bin を PATH に追加して、
configure && nmake でだいたいはOK。
configure のログはちゃんと確認して欲しいモジュールが含まれているかの
チェックはしておくべき。
後、シャドービルドはいろいろめんどくさかった記憶がある。
ので、展開したディレクトリでビルドだな。
Qtのビルドはかなりディスク容量を食うのが問題なんだが。
119:デフォルトの名無しさん
09/10/17 12:39:33
VS2008 のコマンドプロンプトつかってないもんでw
あと、俺のマシンがWin7 RC & 64bit なんで、
64bit 版 SDK入れれば良いの? 64bitコンパイラ?
32bit 版入れればどうなるんだろう?そもそも64bit版を作るときはどうするの?とか
最新のSDKはWin7対応の7.0だけど、6.1使ったほうが良いかな?
無理に新しいのを入れると、なんか変なところではまりそうだけど
古いのでWin7で動くのか?とか。
今すでにmingw別にいれてんだよなー。とか変にコンパイラ、ライブラリ
ごっちゃにならないよなぁ。環境変数の変更が、今ある別の開発環境に影響しないよなーとか
そういう基本的な知識を放置していたので、そういう疑問点が気になってしまってw
120:デフォルトの名無しさん
09/10/17 13:12:21
VC++ 2008 Express Editionでもビルドできますか
121:デフォルトの名無しさん
09/10/17 13:43:49
Pythonで開発してます
qtのいろんなオブジェクトはconnectっていうメソッドを持ってますが
どれでconnectしてもかまわないのでしょうか?
122:デフォルトの名無しさん
09/10/17 14:02:16
>>120
できる
検索すれば手順を書いたブログが出てくるよ
123:デフォルトの名無しさん
09/10/17 14:14:05
>>121
Pythonのことはよく理解していないので、質問の意味が今ひとつ分からないんだけど、
それでいいと思う。
C++での話だけど。
シグナルとスロットを使用しているQtのクラスは、QObjectを継承して、
そのQObjectにはconnect()が定義されている。
C++では、各オブジェクトからconnect()を使用するときは、
static版の同一のconnect()を使用している例が多い。
124:123
09/10/17 14:28:15
pythonのことちょっと調べてみたので補足する。
pythonの場合、selfが省略できない。C++では、thisがこのselfにあたる。
C++では、thisを省略して書くことが多い。だら、C++の例題で
connect(...
となっているのは、
this.connect(..
の可能性がある。少なくともQtを使用しているならそうなる。
PythonもC++と同じような実装ならば、
self.connect(...
と書いてあるのは、同じconnectを使用していることになる。
125:123
09/10/17 14:29:35
訂正
誤)this.connect(..
正)this->connect(...
126:デフォルトの名無しさん
09/10/17 14:39:03
_ ∩
( ゚∀゚)彡 ぱいそん!ぱいそん!
( ⊂彡
| |
し ⌒J
127:デフォルトの名無しさん
09/10/17 16:32:16
Ubunutu9.04を使ってます。
qtcreatorが日本語にならないのですが、
どこかに日本語化の手順をまとめたサイトはないでしょうか???
128:デフォルトの名無しさん
09/10/17 16:55:39
>>127
知らないんだけど。
qtcreatorのバージョンはいくつ?
パッケージシステムでインストールしたの?
129:128
09/10/17 17:14:44
環境は、i386?
もし、qt-creator_1.0.0-0ubuntu3_i386.debをインストールしたのなら、
バージョンが古いから、下記サイトから最新安定版の1.2.1をダウンロードした方が
いいよ。これは、日本語化されているから。
URLリンク(qt.nokia.com)
i386/32-bitなら”Qt Creator 1.2.1 Binary for Linux/X11 32-bit (31 Mb)”
を選べばよい。
インストーラーがついているから、インストールは簡単。
一般ユーザー権限しかなくても自分のホームディレクトリ以下にインストールできる。
ビルド時にQtディレクトリーが無いって、エラーが出たら
メニューの「ツール」->「オプション」->「Qt4」->「Qt Versions」のところで、
インストール済みのQtへのパスを追加指定して、「Rebuild」ボタンを押す。
チェックマークがつけばOK。
そして、「デフォルトQtバージョン」のところから追加したQtを選択すればよい。
130:デフォルトの名無しさん
09/10/17 17:33:45
スレタイに Mac って入ってるけど、Mac 版の Qt は Cocoa 化されてからまともになったの?
以前試した時は見た目も日本語化も使えるレベルに到達していないと感じたけど、wx みたいに
OS にバンドルされる様になるのかな。
131:デフォルトの名無しさん
09/10/17 17:56:59
>>130
ここに情報が載っている。
URLリンク(gihyo.jp)
132:デフォルトの名無しさん
09/10/17 18:02:49
>>131
ありがとん。Mac でも使えるという情報がもう少し出てきたら試してみます。
133:デフォルトの名無しさん
09/10/17 19:23:16
QMainWindow上にQGraphicsViewを置いて、GraphicsView上でマウスがクリックされたら
その座標を知りたいのですが、mousePressEvent()ってGraphicsViewをサブクラス化して
使わなくてはならないのでしょうか?
QtCreatorのDesignerからこの辺さくっと書けないのですかね?
134:デフォルトの名無しさん
09/10/17 20:14:51
ウィンドウにボタンを二つ上下に並べてみようと思ったんですが
これだとめっさ小さなボタンになってしまいます.
ウィンドウ一杯に(日←みたいな感じで)二個並べたいんですが
どうしたらいいんでしょう?wxPythonでサイザーをちょっと
使ったことがある程度です.
import PyQt4.QtGui,PyQt4.QtCore, ys
class HelloButton(PyQt4.QtGui.QPushButton):
def __init__(self, parent, text):
PyQt4.QtGui.QPushButton.__init__(self, parent)
self.setText(text)
class HelloWindow(PyQt4.QtGui.QMainWindow):
def __init__(self, *args):
PyQt4.QtGui.QMainWindow.__init__(self)
self.hello_button_1 = HelloButton(self, "hello1")
self.hello_button_2 = HelloButton(self, "hello2")
self.qVBoxLayout = PyQt4.QtGui.QVBoxLayout()
self.qVBoxLayout.addWidget(self.hello_button_1)
self.qVBoxLayout.addWidget(self.hello_button_2)
self.q_widget = PyQt4.QtGui.QWidget(self)
self.q_widget.setLayout(self.qVBoxLayout)
q_application = PyQt4.QtGui.QApplication(sys.argv)
hello_window = HelloWindow()
hello_window.show()
q_application.connect(q_application, PyQt4.QtCore.SIGNAL("lastWindowClosed()"),
q_application, PyQt4.QtCore.SLOT("quit()"))
q_application.exec_()
135:デフォルトの名無しさん
09/10/17 20:22:50
>>134
各ボタンの sizePolicy に Expanding とか MinimumExpanding とか指定する。
URLリンク(qt.nokia.com)
136:デフォルトの名無しさん
09/10/17 20:31:12
127
NOKIAのサイトからダウンロードしたqtcreatorも日本語化されてないようです。
試してみたけどだめでした。
具体的に日本語化されるには何というファイルがどこにあればいいのでしょうか?
qtcreatorはUbuntu9.04の奴です。
137:デフォルトの名無しさん
09/10/17 21:17:22
>>135
ありがとう.望むものになりました.
setCentralWidget をしてなかった.
それが何を意味するのかこれから勉強します.
QMainWindow に直接 setLayout しようとしてみたり,
なんか基本が分かってない俺.
新しいフレームワークを使い始めた時はそんなもんかな.
138:デフォルトの名無しさん
09/10/17 21:28:51
一覧から選ぶより自分でtypeした方が速いから
ピリオド押した瞬間にドロップダウンが出てくると
イラッとする漏れって
139:デフォルトの名無しさん
09/10/17 21:30:54
>>136
ubuntu 9.04 で Nokia から取ってきた qtcreator 1.2.1 / qt-sdk 2009.04 で
問題なく日本語になってるぞ。
1.2.1 で日本語になってないとしたら、 LANG 環境変数は何になってる?
LANG を ja_JP.UTF-8 にして起動してもだめ?
140:デフォルトの名無しさん
09/10/17 21:31:11
なら、そのまま入力すれば?
別に選ばなくても良いんだよ。
141:デフォルトの名無しさん
09/10/17 21:32:23
QtCreatorの方式なら自分でタイプした方が早いってのは稀だろ
142:デフォルトの名無しさん
09/10/17 22:05:27
そうやってどんどん重量級になっていくんだなw
143:デフォルトの名無しさん
09/10/17 22:29:27
/opt/qtsdk-2009.04 $ echo $LANG /opt/qtsdk-2009.04
ja_JP.UTF-8
なぜだ??
144:デフォルトの名無しさん
09/10/17 22:32:09
一つ気になるのは、PyQtを動かすためにQtが必要であること。
まぁQtへのバインディングと考えれば必要なのは理解できるんですが、
これを各マシンにインストールするのは面倒すぎます。
もし可能であればネットワークにQtを置いて、環境変数でそこを指すようにして、
ネットワークで共有、ってことをやりたい。
それが出来るんならまぁ使ってもいいかな、って気がします。
ところで、wxPythonと比較してPyQtは何に優れてるんですかね。
AutodeskがPyQtを推す意味って何なんだろうか。
145:デフォルトの名無しさん
09/10/17 22:36:29
誰かがwxスレでQtの宣伝をし過ぎた所為なのかしらんが、二つのスレがシンクロしだしたな
146:デフォルトの名無しさん
09/10/17 22:40:15
要らん時までパカパカ補間ウインドウひらくわりに肝心なときには補間できないという難点がある品。
調べたいことがあったらその時バッファにカーソル下の該当ワード拾ってヘルプウィンドウ開くさ。
Windows流の窓最大化文化ばかりが全てじゃないって話。
147:デフォルトの名無しさん
09/10/17 22:43:39
>>133
アイテム以外のところ?
だったら、Designerで格上げ機能を使えば、カスタムクラスみたいにできるよ。
でもこれだと、カスタムクラスを書くのと変わらないかもしれない。
コードを書くのででいいのならば、イベントフィルターをそのGraphicsViewにインストール
すれば、イベントをハンドルできるよ。
でも、GraphicsViewをカスタムクラスを使わないで作るのって大変じゃない?
148:デフォルトの名無しさん
09/10/17 22:47:36
>>146
補間ウインドウ? 最大化?
お前さ、実はしらんだろ。何も。
149:デフォルトの名無しさん
09/10/17 22:55:04
スレがめっちゃ伸びててびっくりした
Autodesk?Mayaで使うの?そのうちPyQtスレが必要になるのかも知れないなあ
150:デフォルトの名無しさん
09/10/17 22:57:38
Qtはいま絶好調だからね。
企業サポート
LGPL
Qt Creator
WebKit統合
マルチメディア統合
組み込み・モバイル対応
開発速度も速い。
151:デフォルトの名無しさん
09/10/17 23:01:15
>147
レスありがとうございます。
Designerの格上げってサブクラス作るって事なのですね。。
格上げするのはいいけど、格上げしたクラスのヘッダファイルがないと言われました。
これがカスタムクラス書くのと変わらないという意味なのでしょうか。
イベントフィルター云々はどのようにやるのでしょうか?
やりたいことは、単に何かのコントロール(QtではWidget?)に絵を表示させて、
マウスを当てたらその座標の画素の色情報をツールチップかなんかで見れるということです。
.NETだとイベントを選べば、勝手に関数ができてそこにコードを書くだけで良かったのですが、
Designer使ってもそこまで簡単には行かないっぽいのかな。
152:デフォルトの名無しさん
09/10/17 23:07:51
でも今 PyQtの品質が微妙なので、PySideにがんばってもらわなければ。
PySideががんばっている分、 boost.python もどんどん良くなってる。
153:デフォルトの名無しさん
09/10/17 23:09:50
>>150
>組み込み・モバイル対応
iPhone でも Android でも webOS でも使えないんだよね?
Maemo は結局 Gtk+ のままだし、Qtopia は Zaurus も
とっくにディスコンになって、どうなるんだろね
154:デフォルトの名無しさん
09/10/17 23:20:33
>>136
前スレ(Qt総合スレ4)の804、805、811、816、819、820、821を呼んでみたらいいと思う。
特に、816以降。
こちらでは、グーグルで検索して、キャッシュで見ることができた。
話は変わるけど。
こっちで試してみたら、2回目の起動で日本語化された。
もう一回起動してみても日本語化されない。
155:154
09/10/17 23:21:37
訂正
>もう一回起動してみても日本語化されない。
もう一回起動してみても日本語化されない?
156:デフォルトの名無しさん
09/10/17 23:35:44
>>153
QtはNokiaが買収したんだぜ?
スマートフォン世界最大販売数を誇るSymbian提供してるところに
157:デフォルトの名無しさん
09/10/17 23:37:03
>>144
>もし可能であればネットワークにQtを置いて、環境変数でそこを指すようにして、
>ネットワークで共有、ってことをやりたい。
>それが出来るんならまぁ使ってもいいかな、って気がします。
今は無理だけど、将来そうなると思う。
>ところで、wxPythonと比較してPyQtは何に優れてるんですかね。
>AutodeskがPyQtを推す意味って何なんだろうか。
Pythonは詳しくないけどC++でいえば、やっぱり楽にプログラミングできる
ことじゃない?
PythonのバインディングにPySideも加わった。
URLリンク(sourceforge.jp)
158:デフォルトの名無しさん
09/10/17 23:43:59
>>153
>Maemo は結局 Gtk+ のままだし、Qtopia は Zaurus も
>とっくにディスコンになって、どうなるんだろね
Qt4.6でMaemoのサポートが入ってくる。
URLリンク(journal.mycom.co.jp)
URLリンク(qt.nokia.com)
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5136日前に更新/218 KB
担当:undef