【RAD統合環境】 Qt 総合スレ 8 【Win/Mac/Linux】

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
Qt(キュート)は C++ ベースのフレームワーク&RAD開発環境です。

ライブラリの機能は、フォーム、ボタンなどの各種ウィジェットからネットワーク、マルチスレッド、
グラフィックス(OpenGL)や各種コンテナ、XMLパーサー、組み込み JavaScript など、非常に多岐に渡ります。
公式の統合開発環境「Qt Creator IDE」を使えば、クロスプラットフォーム対応のRAD開発が可能です。
また、EclipseやVisual Studio上で開発したい人のためのアドインも用意されています。

■主な対応プラットフォーム(デスクトップ用途の場合)

Windows XP, Vista, 7
Mac OS X 10.4, 10.5, 10.6
Linux

■ライセンス

・オープンソース版(Open-source version)
 LGPL 2.1 または GPL 3.0 のうちどちらかを利用者が選べます。
 LGPL を選んだ場合はソースコード非公開のままでの商用利用が可能です(いくつか制限あり)。
 ※正確には通常「LGPL+商用利用向きの例外条項」を選ぶことにな7ります(Qtインストール先の「LGPL_EXCEPTION.txt」を参照)。
  ちなみにGPLでも商用利用が不可能というわけではありません、念のため。

・商用版(Commercial version)
 こっちはNokia社か日本の代理店(SRA社)とライセンス契約(年間30万くらい?)を結んで使います

■Qt を使って作られたソフト例

KDE、Adobe Photoshop Elements、Google Earth、Skype、DAZ Studio など

■前スレ

【RAD統合環境】 Qt 総合スレ 7 【Win/Mac/Linux】
http://pc12.2ch.net/test/read.cgi/tech/1270309416/
2デフォルトの名無しさん:2010/08/05(木) 04:30:35
■リンク

・Qt Development Frameworks (Nokia社のQt公式サイト)
http://qt.nokia.com/title-jp

・SRA社(日本の代理店)の日本語で読める Qt 関連ドキュメント
http://www.sra.co.jp/qt/relation/index.html

・Qt Users Forum Japan
http://qtusersforum.s2.zmx.jp/forum/index.php


■ライセンス関連まとめ

各ライセンスでの自作アプリのソース公開/頒布

Qtのライセンス   アプリのライセンス     Qtの頒布/(変更部分のソース公開)
GPL           GPL(ソース公開必須)      必須
LGPL         任意(ソース公開不要)      必須
商用          任意(ソース公開不要)      不要

*: LGPLは動的リンク時

実際には他にも条件(リバースエンジニアリング関係とか)あるので、
きちんとライセンスの条文を読むこと。
3デフォルトの名無しさん:2010/08/05(木) 04:31:06
Windows ユーザー向け Tips

・プロジェクトのパスに日本語を入れちゃダメ
・日本語のソースコードは、MinGW版ならUTF-8、VC版ならSystem(Shift-JIS)
 プロジェクト作成後に「プロジェクト」タブの「エディタの設定」→「デフォルトの文字コード」を設定すると幸せになれる
・デバッグ出力などが文字化けする場合、プログラムの最初で文字コード変換設定をする
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf-8")); //ソースの文字コードを指定("utf-8"や"Shift-JIS")
QTextCodec::setCodecForTr(QTextCodec::codecForName("utf-8")); //同上
qDebug() << "うまく表示できた?";
・MinGW版の配布時は mingwm10.dll も一緒に入れておく(public domain で配布上の制限はない)

■インストール方法:MinGW版Qt & Qt Creator

(1)「Qt SDK for Windows」をインストールすればOK
 http://qt.nokia.com/downloads/sdk-windows-cpp

■インストール方法:VisualC++版Qt & Qt Creator

MinGW版との違い:Phononが利用可能。VC版の方がいろいろ速いらしい

(1)「Microsoft Visual C++ 2008」(Express Edition 以上) をインストール
(2)「Microsoft Debugging Tools」をインストール(※Qt Creator上でデバッグする時に必要)
 http://www.microsoft.com/japan/whdc/devtools/debugging/installx86.mspx
(3)「Qt libraries for WIndows(VS 2008)」をインストール
 http://qt.nokia.com/downloads/windows-cpp-vs2008
(4)「Qt Creator Binary for Windows」をインストール
 http://qt.nokia.com/downloads/qt-creator-binary-for-windows
(5)環境変数PATHを設定(もともと入ってたパス;Qtインストールパス\bin)
(6)Qt Creator を起動して、「ツール」→「オプション」メニューで初期設定
 「Qt4」→「Qt Versions」を開いて自動検出された「PATH に含まれる Qt」をクリックし「MSVC バージョン」を 9.0 にする
 「デバッグヘルパ」が×印になっていれば「リビルド」ボタンをクリックしてリビルド(※)する
 (※)もし失敗したら「プロジェクト」→「ビルドして実行」→「nmake の代わりに jom を使用する」のチェックを外してみる
4デフォルトの名無しさん:2010/08/05(木) 04:31:22
■Qt Creator 日本語化プロジェクト

Qt Creator を日本語化するプロジェクトです(非公式)
http://qt-creator-jp.sourceforge.jp/


■Python バインディング

PyQt4(GPL。定番)
http://www.riverbankcomputing.co.uk/software/pyqt/intro

PySide(LGPL。Win版はまだ無いけど今後に期待)
http://www.pyside.org/


それでは、はりきってどうぞ!
5デフォルトの名無しさん:2010/08/05(木) 09:39:43
>>1
6デフォルトの名無しさん:2010/08/06(金) 00:18:47
emit otu
7デフォルトの名無しさん:2010/08/06(金) 05:18:59
>>1 Z
8デフォルトの名無しさん:2010/08/06(金) 17:28:04
QWebViewが現在開いているサイトと異なるサーバへのリンクを開いてくれないんですが、
何を変更すれば開いてくれるんでしょうか
9デフォルトの名無しさん:2010/08/06(金) 18:05:06
ウィルスバスターを無効に
10デフォルトの名無しさん:2010/08/06(金) 18:42:48
サーバが違うからじゃなくてtarget="_blank"が指定されているからでした
失礼しました
11デフォルトの名無しさん:2010/08/06(金) 18:52:40
これだけレベル低い質問者や回答者が現れるほど裾野が広がったと喜ぶべきか
12デフォルトの名無しさん:2010/08/06(金) 23:19:30
>>11
model = new DomModel(QDomDocument(), this);
view = new QTreeView(this);
view->setModel(model);

proxyModel = new MyTableProxyModel();
proxyModel->setProxyModel(model);
table = new QTableView(this);
table->setModel(proxyModel);

Qt examples の"simple Dom Model" をもとに、QTreeViewの全ての要素(子要素も全て)を
表示するQTableViewをproxyModelを使用して作成したいのですが、よくわかりません。
また、Itemの削除、追加も機能させたいです。可能でしたらサンプルコードを頂けませんでしょうか。
よろしくお願い致します。
13デフォルトの名無しさん:2010/08/06(金) 23:47:36
貼り付けたコードの著作権は 2ch に移譲されるので 無闇に貼り付けない方がいいぞ
14デフォルトの名無しさん:2010/08/06(金) 23:52:04
著作権が2chに移譲されたらどうなるのっと
15デフォルトの名無しさん:2010/08/07(土) 00:04:56
>>13
了解しました

>>11
さわりだけでもご教授おねがいします。
16デフォルトの名無しさん:2010/08/07(土) 01:14:02
おさわりはご遠慮ください。
17デフォルトの名無しさん:2010/08/07(土) 03:38:10
>>12 いくら迄払いますか。
18デフォルトの名無しさん:2010/08/07(土) 03:44:01
おさわりは private なら無料になります
19デフォルトの名無しさん:2010/08/07(土) 22:34:45
qt以外のライブラリを使うときに、gccにオプションlを渡さないといけませんが
qt creatorではどこで指定すればいいんですか?
20デフォルトの名無しさん:2010/08/07(土) 23:26:33
21デフォルトの名無しさん:2010/08/07(土) 23:26:50
>>20
thx
22デフォルトの名無しさん:2010/08/07(土) 23:28:44
>>19
qmakeについて調べてください
23デフォルトの名無しさん:2010/08/07(土) 23:57:54
>>13
もしそれが問題になったら面白そうだから是非問題を起こしてほしい
2chの対応が見たい
24デフォルトの名無しさん:2010/08/08(日) 10:51:04
VC2008対応のqt creatorでビルドするとmsvcrt90.dllが依存するけど
qt creatorの設定で取り除けないの?
25デフォルトの名無しさん:2010/08/08(日) 11:35:31
むりぽ
26デフォルトの名無しさん:2010/08/08(日) 16:22:18
>>24
スタティックリンクすれば?
2724:2010/08/08(日) 17:08:40
>>26
VC++のIDEで開発するときのスタティックリンクはわかるんですが
それをqt creatorからできないのかと思ったので
28デフォルトの名無しさん:2010/08/08(日) 17:44:53
知らないけど、qtのqmakeは
各makeコマンドのMakefileを出力するだけだから
そこらへんをカスタマイズすればいけるんじゃね?
29デフォルトの名無しさん:2010/08/09(月) 10:59:08
>>17
金要求すんなよ
30デフォルトの名無しさん:2010/08/09(月) 16:34:17
ソースコードじゃないけど、5年ぐらい前にそういう判例が出てるから。
31デフォルトの名無しさん:2010/08/10(火) 10:35:16
http://www.qtcentre.org/threads/27950-QAbstractProxyModel-MapToSource-Problem
これの解決方法しらない?

MapToSource等を独自に書いてTreeViewからTableViewの表示は出来たんだけど、
TreeViewのsourceModelへの追加/削除をした際に、TableViewに期待通りに反映されないのよ。
助けてエロイ人。
32デフォルトの名無しさん:2010/08/10(火) 17:52:29
もうMFCやだので(C#もやだ)QtにDataGridViewやFlexGridみたいなワークシートっぽい
GUI部品はありますか?あれば乗り換える。
33デフォルトの名無しさん:2010/08/10(火) 17:55:59
ないよ
3432:2010/08/10(火) 17:58:03
ええ!JavaにさえJTableがあるのに!!

んじゃあ、Qtやめる。
35デフォルトの名無しさん:2010/08/10(火) 21:48:48
Gridはある夜
36デフォルトの名無しさん:2010/08/11(水) 00:26:54
テンプレにMinGW版よりVC版の方が早いってあるけど
どっかにソースあるの?
37デフォルトの名無しさん:2010/08/11(水) 19:47:08
9.5MBくらいのファイルを1MB単位でわけたいんですが、
何かいい方法ありませんか?
38デフォルトの名無しさん:2010/08/11(水) 21:10:37
鼬買い
39デフォルトの名無しさん:2010/08/11(水) 22:56:18
>>37 簡単なC++ コードを自分で書くんじゃないかしらん
40デフォルトの名無しさん:2010/08/11(水) 23:29:44
>>36
ttp://gihyo.jp/dev/serial/01/qt-2009/0001

最後の「Windows」の項に記述がある。
41デフォルトの名無しさん:2010/08/11(水) 23:43:19
>>33
ウソはいけないよウソは。
42デフォルトの名無しさん:2010/08/12(木) 00:00:39
>>40
>見て判別できます

すげーな
43デフォルトの名無しさん:2010/08/12(木) 00:59:10
常識的に考えてそれは筆者の能力が凄いんじゃなくて
見ただけで違いが分かるくらい性能差があるって意味だよね
44デフォルトの名無しさん:2010/08/12(木) 01:44:19
vs2008スタティック版C2491エラーがでて作れないんだけど誰かできた人いますか?
45デフォルトの名無しさん:2010/08/12(木) 01:57:47
VS2010でbuild出来たひといますか?
4644:2010/08/12(木) 11:55:08
スタティックリンクできたー!
けどphonon使えなかったのか・・
47デフォルトの名無しさん:2010/08/12(木) 12:29:26
できたならやり方報告してくれるとありがたい
4844:2010/08/12(木) 12:42:17
よしまとめとこう。
自分の場合はqt-win-opensource-4.7.0-beta2-vs2008.exeをまずインストール。
インストールされたフォルダのmkspecs\win32-msvc2008フォルダの中にあるqmake.confの
QMAKE_CFLAGS_RELEASE = -O2 -MD
QMAKE_CFLAGS_DEBUG = -Zi -MDd

QMAKE_CFLAGS_RELEASE = -O1 -MT
QMAKE_CFLAGS_DEBUG = -Zi -MTd
に変更。
src\corelib\globalの中にqconfig.cppをどっかから拾ってきて入れる。※このインストーラでインストールしても入ってない。
同フォルダ内のqconfig.hの最初のほうに#define QT_DLLとあるのでそれをコメントアウト
Qt 4.7.0-beta2 Command Promptから
nmake distclean
nmake confclean
configure.exe -static -release -opensource -platform win32-msvc2008 -nomake examples -nomake demos -no-exceptions -no-webkit
nmake sub-src
を実行でできるはず。
4944:2010/08/12(木) 12:50:26
あと自分の場合はbootstrap.libがないといわれたのでvisualstudio-addinいれてbootstrap.proをvisualstudioで読み込んでコンパイルして作成
moc.exeもないといわれたので同様に
修正のつどnmake sub-srcを実行
link.objがないというエラーもでたときはmakeされているやつのmakefile.releaseをいじる
50デフォルトの名無しさん:2010/08/12(木) 18:48:34
スタティックリンクのexeはサイズどのくらいになった?
51デフォルトの名無しさん:2010/08/12(木) 23:05:20
4〜5メガくらいでした
52デフォルトの名無しさん:2010/08/13(金) 00:10:12
スタティックリンクにしたら
ソースコード公開しないといけないから
使えない。
53デフォルトの名無しさん:2010/08/13(金) 00:13:28
別にソースぐらいええやん
54デフォルトの名無しさん:2010/08/13(金) 01:28:58
実装見られるの恥ずかしい///
55デフォルトの名無しさん:2010/08/13(金) 01:39:59
見られて恥ずかしいような実装してるソフトは大抵ソースを見たがる人は居ないという
56デフォルトの名無しさん:2010/08/13(金) 12:28:41
まぁ昔も有名なプログラマがオープンソースで何が嫌かというと
実装見られるのが嫌だったり,それを綺麗にするのが面倒だとは言ってたな。
汚い下着を見せるような気分と言っていた。
57デフォルトの名無しさん:2010/08/13(金) 16:28:35
別に下着ぐらいええやん
58デフォルトの名無しさん:2010/08/13(金) 20:31:14
qtでハッシュ関数(sha,md5 etc)を利用したいのですが、
簡単に調べて見ましたが見当たりません

それらの関数があるクラスをご存知でしたら、教えてください
59デフォルトの名無しさん:2010/08/13(金) 20:40:50
map
60デフォルトの名無しさん:2010/08/13(金) 20:48:43
61デフォルトの名無しさん:2010/08/13(金) 21:09:18
62デフォルトの名無しさん:2010/08/13(金) 21:15:05
6358:2010/08/13(金) 23:10:46
>>61-62
お前ら、ありがとうな
64デフォルトの名無しさん:2010/08/13(金) 23:16:39
どういたしまして
65デフォルトの名無しさん:2010/08/14(土) 22:47:03
test
66デフォルトの名無しさん:2010/08/14(土) 23:13:47
ネームスペースをつけずに作ってあとで後悔することってありますか?
あとからまとめてつけれませんか?
67デフォルトの名無しさん:2010/08/14(土) 23:22:15
>>66
こいつはマルチポストです。
68デフォルトの名無しさん:2010/08/14(土) 23:31:59
>>66
      ,,.----、
      i | |  |   _____
     / | |  |  /   ヽ
    /  / |  |  |  ^o^ | <ネームスペースをつけずに作ってあとで後悔することってありますか?
   /  / 人ヽ、 !ー!\_/ヽ、
  / /ノ,,,,,,ヽ、ヾ .|ヾ ゞ / !ヽ`ヽ- 、
 / //、   `,ヽ .| ヾ  /ヾ ヾ  `ー-- 、
/ //  `  '´  ,ヽ||´~~ヽ ヽ、, '"´``.、   .ヽ
| ((ー‐  ●  ---.||" ,, i   i;;;;" ゛;;;;i    |
|  ヾ、 ,. ´,  、   ||  ,/   |ll!!!^!!!lllノ   .ノ
ヾ  i lヾ  i  ヾ ,/ |""  ,,  'ヽ ,,, /    |
 |  l l;;;;;`;,,,, ゞ-‐´/ ,,|  ゞ`ヾ     ヾ    |

   / ̄\
  |     | <お前は マルチポスト です
   \_/
   _| |_

ttp://hibari.2ch.net/test/read.cgi/tech/1280950209/66
ttp://hibari.2ch.net/test/read.cgi/tech/1280914463/45



せっかく応えた俺の誠意を踏みにじりやがって。

なんか言えよお前。

69デフォルトの名無しさん:2010/08/15(日) 10:15:28
さすがに、aes/rsaのライブラリは無いよね...
70デフォルトの名無しさん:2010/08/15(日) 11:48:27
ubuntuでQt使う時ってWindowsのlibファイルってリンクできる?
71デフォルトの名無しさん:2010/08/15(日) 18:23:27
XMLの書き換えはどのようにすればよいのでしょうか。

<root><test>TEST</test></root>

上記のようなXMLを下記のコードで書き換えようとしたのですが

QDomElement root = domDocument.documentElement();
QDomElement newTitleElement = domDocument.createElement("test");
QDomText newTitleText = domDocument.createTextNode("TEST!");
newTitleElement.appendChild(newTitleText);
root.appendChild(newTitleElement);
QTextStream out(file);
domDocument.save(out, 4);

結果は下記のようになってしまいました。(改行やインデントは削除しています)
<root><test>TEST</test><test>TEST!</test></root>


XQuery Update Facilityなら簡単に書き換えられるようですが、Qtではまだ使えないようですし・・・
よろしくお願い致します。
72デフォルトの名無しさん:2010/08/15(日) 20:12:25
replaceChild で置き換えれば。
73デフォルトの名無しさん:2010/08/15(日) 20:19:00
XMLの書き換えにjQueryは使えないのか?

createElementやらappendChildやら
長ったらしくて見たくない。
74デフォルトの名無しさん:2010/08/15(日) 21:32:37
QtってVS2010に対応してますか?
75デフォルトの名無しさん:2010/08/15(日) 21:45:10
>>71
GWTのコードかと思った(爆笑)
7671:2010/08/15(日) 22:28:23
すみません
>結果は下記のようになってしまいました。(改行やインデントは削除しています)
><root><test>TEST</test><test>TEST!</test></root>

ではなく<root><test>TEST</test></root><root><test>TEST</test><test>TEST!</test></root>です。

>>72
すみません、書き間違いがありました。

>>73
Qtでやることばかり考えていて完全に盲点でした。

>>75
すみません。
77デフォルトの名無しさん:2010/08/16(月) 09:07:52
どいういたしまして
78デフォルトの名無しさん:2010/08/16(月) 11:12:38
>>76
>ではなく<root><test>TEST</test></root><root><test>TEST</test><test>TEST!</test></root>です。
それはファイルの扱いがおかしい。outに追記しているだけ。
>>71 のコードからは71に書いてある結果が得られる。
rootからfirstChildElementでtestを取得して、replaceChildで置き換えたらうまく行った。
79デフォルトの名無しさん:2010/08/16(月) 11:59:46
ありがとうございました
80デフォルトの名無しさん:2010/08/17(火) 09:42:15
どいういたしまして
81デフォルトの名無しさん:2010/08/17(火) 22:03:02
おっと、どういたしましてを言うのは俺だ
8271:2010/08/18(水) 01:07:00
>>78
ファイルの扱いがおかしいというのはどういう事なのでしょうか。
replaceChildに変更しただけだと特に結果は変わりませんでした。
file->open(QIODevice::ReadWrite)で開いて、最後にdomDocument.save(out, 4)で上書きになって欲しいのですがこれだと追記になってしまいます。
読み込みに使ったXML以外のファイルを保存先に変更したら上手く?いったのですが、読み込みに使ったファイルを上書きしようとしても追記になってしまいます。

現在のコードです。行数制限のため改行やif文を外してあります(動作は確認済みです)
QDomDocument domDocument;
QFile *file = new QFile("/home/hoge/test.xml");
file->open(QIODevice::ReadWrite);
domDocument.setContent(file, true);
QDomElement root = domDocument.documentElement();
QDomElement newTitleElement = domDocument.createElement("test");
QDomText newTitleText = domDocument.createTextNode("TEST!");
newTitleElement.appendChild(newTitleText);
root.appendChild(newTitleElement);
QDomElement newChild = root.firstChildElement("test");
domDocument.replaceChild(newChild, domDocument);
QTextStream out(file);
domDocument.save(out, 4);
file->close();
83デフォルトの名無しさん:2010/08/18(水) 01:32:29
qtで高精度タイマを使う方法はないのでしょうか?
84デフォルトの名無しさん:2010/08/18(水) 03:30:33
ファイルをREADで開く
XMLからDOM生成
ファイルを閉じる

DOM弄る

ファイルをWRITEで開く
DOM書き出し
ファイルを閉じる
85デフォルトの名無しさん:2010/08/18(水) 09:11:45
>>82
なんで root に appendChild した後に domDocument に replaceChild してるんだ。
そのコードだと replaceChild 失敗してるだろ。返り値チェックしてみろ。
API のドキュメントよく読め。
86デフォルトの名無しさん:2010/08/18(水) 10:04:42
Qt関係なくね?
87デフォルトの名無しさん:2010/08/18(水) 11:16:51
>>83
高精度タイマってどういうの?
RTOS とか使わなくても平気なもの?
88デフォルトの名無しさん:2010/08/18(水) 13:33:09
>>87
1msを正確に測れるレベルのタイマが欲しいです
89デフォルトの名無しさん:2010/08/18(水) 15:24:51
QTimer じゃ多分ダメなんだよね?
ただ通常のマルチタスクの状況でタイマで 1ms って正確に測れるの?
90デフォルトの名無しさん:2010/08/18(水) 15:40:04
>>89
QTimerだと若干ムラがでるのでて
15msくらいばらつきがあるみたいです。
用途としては音のループ再生をするのに精確な時間でループさせたいのです。
91デフォルトの名無しさん:2010/08/18(水) 15:57:27
OSは限定?
92デフォルトの名無しさん:2010/08/18(水) 16:23:55
>>91
一応Windowsでのみ使用する予定です。
93デフォルトの名無しさん:2010/08/18(水) 17:11:57
んじゃggr
94デフォルトの名無しさん:2010/08/18(水) 17:14:40
このサイトまだ生きてたな
ttp://www.emit.jp/prog/prog_t1.html
95デフォルトの名無しさん:2010/08/18(水) 17:18:35


timeGetTimeという関数もあります。
1/1000秒単位で取得できます。(実際にはもっと精度低いですが^^;)

基本的には、GetTickCount()と同じですが
timeGetTimeの方が精度がいいという話を聞いたことがあります。

使用するにはmmsystem.hをインクルードし、winmm.libをリンクする必要があります。

timeGetTimeの精度は以下の関数で設定できます。
timeBeginPeriod
timeEndPeriod

投稿日時 - 2002-06-24 00:36:49
96デフォルトの名無しさん:2010/08/19(木) 16:57:16
age
9771:2010/08/21(土) 01:20:26
>>84,85
ご指摘されたところを変更したところ上手く動きました。
ありがとうございました。
98デフォルトの名無しさん:2010/08/26(木) 21:04:48
qtって.netやjavaみたいだよね
99デフォルトの名無しさん:2010/08/26(木) 21:24:40
どこら辺が
100デフォルトの名無しさん:2010/08/26(木) 23:04:32
言語とライブラリがごっちゃになってるばかには付き合うな。
101デフォルトの名無しさん:2010/08/27(金) 13:25:48
Open Source の ZIP 版を download して configure と nmake したが、
いまさらになって directory を変更したくなったorz
Makefile とか見たら今 Qt を置いてる directory の path が含まれていて、位置を変更していいのかわからんorz
それに、 nmake には 2 時間くらいかかったと思うから、もう二度とやりたくないし。
102101:2010/08/27(金) 16:21:25
結局全部削除した。
configure が自動生成する source 自体に directory が書かれてたから、
つまり directory を変更するには最初からやり直さないとならんってことだ。
103デフォルトの名無しさん:2010/08/27(金) 16:31:13
おめでとうw
104デフォルトの名無しさん:2010/08/27(金) 22:11:19
>>102
ビルド済でも方法はありますよ。そうでなければSDKを配布できない。
105デフォルトの名無しさん:2010/08/28(土) 01:50:41
connect(this, SIGNAL(), this, SLOT());
どっちもthisって最高にダメなパターンな気がするのは気のせいですか?
106デフォルトの名無しさん:2010/08/28(土) 02:21:45
サンプルのdiagramsceneを見て思ったのですが
arrow.hにQ_OBJECTマクロがなくてもスロットが使えるのは何でですか?
107デフォルトの名無しさん:2010/08/28(土) 11:29:15
>>105
connect(this, SIGNAL(), SLOT());
ひとつ this を減らしてみるとどうですか。
108デフォルトの名無しさん:2010/08/28(土) 11:34:54
>>106
スロットとして使ってないからです。
109デフォルトの名無しさん:2010/08/29(日) 20:17:48
QApplicationを継承したクラスを作る事は、何かメリットがありますか?
110デフォルトの名無しさん:2010/08/29(日) 20:36:46
111109:2010/08/29(日) 20:45:57
>>110
なるほど、多重起動を禁止するアプリケーションですね
thx
112デフォルトの名無しさん:2010/08/29(日) 21:14:39
qt creatorでvimキーバインドで操作しているのですが、
qt creatorのショートカットが無効になってしまいます

いちいち、vimをoffにするのは面倒なのですが、何か良い方法ありませんか?
113デフォルトの名無しさん:2010/08/29(日) 23:01:52
バイナリファイルを任意のnバイト目から読み込みたいのですが、
どのようにすればいいのでしょうか?
114デフォルトの名無しさん:2010/08/29(日) 23:12:28
seek
115113:2010/08/29(日) 23:22:11
>>114
thx
116デフォルトの名無しさん:2010/08/30(月) 22:09:03
qtでストリームを扱う時は、デフォルトでバッファリングされているんですか
117デフォルトの名無しさん:2010/08/31(火) 23:04:13
誰か初心者用のQt解説HP作ってくれ
118デフォルトの名無しさん:2010/08/31(火) 23:08:14
言い出しっぺの法則
119デフォルトの名無しさん:2010/08/31(火) 23:45:08
個人的には Qt が難しいというより,Creator のノリを理解するのが時間かかった
Qt のコードサンプルはたくさんあるし tutorial もあるけど
Creator の機能を生かす tutorial があまり無い(レイアウトだけならあるけど)
本家もコードガシガシ書く系の tutorial が多い
120デフォルトの名無しさん:2010/09/01(水) 01:34:22
youtubeにいっぱいある
121デフォルトの名無しさん:2010/09/01(水) 11:20:30
>>120 意外と無いよ
122デフォルトの名無しさん:2010/09/01(水) 11:25:39
まあなんていうか
べつにいっぱいなくても
ひとつだけいいのがあればいいんだけどな
123デフォルトの名無しさん:2010/09/01(水) 16:41:37
>>120
いっぱいあるならお勧めは?
124デフォルトの名無しさん:2010/09/02(木) 06:25:23
QIODevice::read( char * data, qint64 maxSize )のドキュメントを読んだんだけど
エラーの時はreturn -1、エラーじゃない時はreturn 0、読み終わったとき(読みすぎ)の時はreturn -1
ってことで日本語訳間違えてませんか?
125デフォルトの名無しさん:2010/09/02(木) 07:22:01
qint64 QIODevice::read ( char * data, qint64 maxSize )

Reads at most maxSize bytes from the device into data, and returns the number of bytes read.
 If an error occurs, such as when attempting to read from a device opened in WriteOnly mode, this function returns -1.

0 is returned when no more data is available for reading.
 However, reading past the end of the stream is considered an error, so this function returns -1 in those cases
 (that is, reading on a closed socket or after a process has died).

See also readData(), readLine(), and write().
126デフォルトの名無しさん:2010/09/03(金) 21:23:01
Phononを使ってmp3等をwavファイルにデコードすることってできますか?
127デフォルトの名無しさん:2010/09/04(土) 02:02:51
>>125
お前よっぽどバカなんだな
128デフォルトの名無しさん:2010/09/04(土) 09:32:07
日本語訳は読んでないが「エラーじゃない時はreturn 0」ではないな
**** ...returns the number of bytes read... ****
読むデータ無いときは 0 になるけど
129デフォルトの名無しさん:2010/09/04(土) 10:46:41
そもそもどこの日本語訳で、誰に向かって間違ってるって言ってるんだ?
130デフォルトの名無しさん:2010/09/05(日) 16:15:26
qt creatorでブレイクポイントを設定したんだけど
普通にスルーされる

why?
131デフォルトの名無しさん:2010/09/05(日) 16:26:54
「デバッグ」じゃなくて「実行」してるとかいうオチじゃないよな?
あとはコードに落ちない行にブレークポイント設定してるとか,リリースビルドしてるとか。

どの行に設定しても止まらないの?
132130:2010/09/05(日) 16:30:39
>>131
>「デバッグ」じゃなくて「実行」してるとかいうオチじゃないよな?
ちゃんとデバッグボタンを押しているので、デバッグの画面に自動で画面遷移されます

>あとはコードに落ちない行にブレークポイント設定してるとか,リリースビルドしてるとか。
他の言語/IDEで開発しているので、そこら辺のヘマはしません

何でだろ?
133デフォルトの名無しさん:2010/09/05(日) 16:43:28
>>130
そのブレイクポイントを通らないんじゃまいか
134130:2010/09/05(日) 17:26:15
>>133
#include <iostream>
int main(){
std::cout<< "hellow world" << std::endl; ←ここにブレイクポイント
return 0;
}

こんな感じで、超簡単なコードでテストしているんだけど
macではちゃんと動いたんだけど、linux(gentoo)ではちゃんと動かないんだよね
135130:2010/09/05(日) 18:26:55
もしかして、gccのオプションが変だから
ブレイクポイントで止まらないのかも

$gdb main.o
Reading symbols from /home/user/test/main.o...(no debugging symbols found)...done.

まだ、そこら辺を調べて無いけど
136130:2010/09/05(日) 22:42:03
やっぱり、吐き出されているバイナリに
デバッグ用のコードが入っていませんね

どうすれば、このデバッグ用のコードを入れられるようになるんでしょうか?
137デフォルトの名無しさん:2010/09/05(日) 22:44:34
デバッグ用なのにシンボルが付いてないってのが怪しいんだけど…
コンパイルのオプションに -g は付いてる?
138デフォルトの名無しさん:2010/09/06(月) 00:36:54
初心者用解説サイトなくて困ってたら、公式にあるじゃねーか
http://qt-labs.jp/category/getting-started-with-qt をテンプレに入れるべき

Creatorの場合、ライブラリパスはhttp://cvwww.ee.ous.ac.jp/img/oc20inst40.jpgどう設定するの
139デフォルトの名無しさん:2010/09/06(月) 02:07:52
qtwebkitで読みこんでいる途中の画像を表示するにはどうしたらいいのでしょうか?
140デフォルトの名無しさん:2010/09/06(月) 03:48:39
>>138
投稿者: 鈴木 佑 投稿日: 2010年8月19日
141デフォルトの名無しさん:2010/09/06(月) 12:07:41
Trolltech→NOKIAの人だね
142デフォルトの名無しさん:2010/09/06(月) 12:46:54
>>138
ライブラリパスは,.proファイルにQMAKE_LIBDIR+=で手書きする。
ヘルプのqmake variable referenceに載ってる。
ttp://doc.qt.nokia.com/4.6/qmake-variable-reference.html

Qt Creatorは,いろんな設定を.proファイルに手書きするのが最初は「何だかなぁ」と思ったけど,
慣れると他のIDEのようにGUIで設定するよりわかりやすいと思うようになった。コメントも書けるし。
143デフォルトの名無しさん:2010/09/06(月) 14:51:13
IDEの設定はあちこちに散らばると
どこでどういう設定したのかわからなくなるw
144130:2010/09/06(月) 21:30:05
>>137
>コンパイルのオプションに -g は付いてる?
えぇ〜と、どこで設定するのかわからないんですが
g++ならばオプションつけるだけですけど、GUIなんで
145デフォルトの名無しさん:2010/09/07(火) 00:53:50
.proファイルに
CONFIG += debug
ってつけとけばできるんじゃね?
qt createrつかわないからわからんけど
gdbつかうのに上の記述で-gつけたよ
146130:2010/09/07(火) 22:20:29
>>145
$qmake -project
$echo "CONFIG += debug" >> test.pro
$qmake
$make
$gdb test
でやってみましたが、やっぱりダメぽです

$g++ -g main.cpp
$gdb a.out
で作られたファイルはちゃんとデバッグ用なのに

何でだろ?
ちなみに、$qmake -vは
>QMake version 2.01a
>Using Qt version 4.7.0 in /usr/lib64/qt4
147デフォルトの名無しさん:2010/09/07(火) 22:25:33
判らないなら黙っててください
148デフォルトの名無しさん:2010/09/08(水) 00:31:48
-debug パッケージいれた?
149デフォルトの名無しさん:2010/09/08(水) 23:17:58
150デフォルトの名無しさん:2010/09/08(水) 23:23:34
151デフォルトの名無しさん:2010/09/08(水) 23:38:16
>>150
Qtにどう組み込めばおk?
152130:2010/09/09(木) 21:06:59
>>148
gentoo linuxというのを使っているので...
パッケージ管理システムが適当にやってくれています

ただし、useフラグという考え方があって、configureのオプションみたいな動きをします
153130:2010/09/09(木) 22:09:31
何とか、qt-creatorでもブレイクポイントを設定することが出きるようになりました
お前らのおかげです
thx
154デフォルトの名無しさん:2010/09/10(金) 00:30:57
記念おめこ
155デフォルトの名無しさん:2010/09/10(金) 15:57:02
Qt使ってたら何も継承してない自作クラスも勝手にメモリ解放してくれるんでしょうか?
そんなわけないですよね?
156デフォルトの名無しさん:2010/09/10(金) 16:09:57
>>155
ないだろ
157デフォルトの名無しさん:2010/09/10(金) 16:58:10
Q_OBJECT
だっけ
これを書いてあるクラスは解放してくれるよ
158デフォルトの名無しさん:2010/09/10(金) 19:25:56
QObject 継承してなかったら無理だろ
159デフォルトの名無しさん:2010/09/12(日) 22:28:59
qtのapiは読めば何とかわかるけど、kdeになるとorzって状況になってしまう
あぁ〜、誰かkdeの開発ドキュメント作ってくれないかな〜

今あるのは古すぎる
160デフォルトの名無しさん:2010/09/12(日) 23:49:36
QWidgetのキー入力のシグナル無いの?
なんかキー操作したらシグナル出したいのだが、アクションゲームとかどうすればいいんだ
161デフォルトの名無しさん:2010/09/13(月) 02:51:39
SDL使え
162デフォルトの名無しさん:2010/09/13(月) 03:05:43
eventを使え、ルーク
163デフォルトの名無しさん:2010/09/13(月) 03:08:12
pysideがwinに対応したのにお前等全く取り上げてないのなw
ところで、pythonのお勉強ガムバッテる最中なんだけど、
皆さんはQtのお勉強はどうしましたか?
やっぱりオーライリーが鉄板ですか?
164デフォルトの名無しさん:2010/09/13(月) 03:43:57
>>163
>pysideがwinに対応したのにお前等全く取り上げてないのなw
人のせいにするなや屑
おまえが"真っ先に"取り上げてるからそれでいいだろがカス
165デフォルトの名無しさん:2010/09/13(月) 21:38:19
pyside見てきた。
Pythonは使っているが、もっぱらQtと組み合わせて使うことはせず
単に超便利なスクリプト扱い。
166デフォルトの名無しさん:2010/09/14(火) 08:46:10
Win7x64で2010.04版使ってるんだが、examplesのapplication.exeとか起動すると、
"しばしば"窓が出るまで10秒くらい待たされる。再現性が全くない。
必要なdllをコピーしても、qt/binにpath通しても同じ。こんな症状の人、いる?
167デフォルトの名無しさん:2010/09/14(火) 09:16:03
2008R2の64bitで同じ症状
168デフォルトの名無しさん:2010/09/14(火) 10:11:23
10秒くらい待てば?
169デフォルトの名無しさん:2010/09/14(火) 11:13:02
WOW64 が"しばしば"仕事さぼるんじゃね?
170デフォルトの名無しさん:2010/09/14(火) 18:44:21
>>167
うちだけじゃなかったのね。ひとまず安心♪
171デフォルトの名無しさん:2010/09/14(火) 22:27:12
nokiaが推奨している、コンパイラやosのバージョンの一覧表があったと思うんですけど
知っている人教えてください
172デフォルトの名無しさん:2010/09/14(火) 22:34:08
linuxでの開発はubuntuがいいのかな
173デフォルトの名無しさん:2010/09/14(火) 22:49:46
>>172
ソフトは作ったことがありませんが、qt/C++の勉強はgentooマシンでやっています
地味に問題が発生しましたが、自分だけの力で解決できました
174デフォルトの名無しさん:2010/09/15(水) 08:48:57
Eclipse Integration入れてみたんですが…、
context help(カーソル位置のキーワードのヘルプを出す)って
どうやって設定するんでしょう??
175デフォルトの名無しさん:2010/09/15(水) 11:58:10
AndroidアプリをQtで作ったら、
バイナリ互換が無いから、
Androidマーケット(?)での販売は無理ですか?
176デフォルトの名無しさん:2010/09/16(木) 03:31:14
poppler-qt4の話はここでおk?
既存のPDFにannotationを追加して別名で保存するサンプルが欲しいんだけど。
177デフォルトの名無しさん:2010/09/16(木) 15:08:38
Qtでクラスの中身をファイルに出力する方法ってありませんか?
178デフォルトの名無しさん:2010/09/16(木) 20:28:00
qt creatorってcmakeも使えるんだね
知らんかった
179デフォルトの名無しさん:2010/09/16(木) 21:48:18
qmake が cmake を元に作られてるからね
180デフォルトの名無しさん:2010/09/17(金) 01:50:02
qt-everywhere-opensource-src-4.6.3.tar.gz を OSX 10.6.4 でビルドしようとしているのですが、
configure の途中で qmake が Segmentation fault やら Bus Error を出してます。
また、configure が終わった後に make しようとしても
make: *** No rule to make target `make_default', needed by `first'. Stop.
と出てしまいます。
同様の現象に遭遇した方はおられますか?
OSX 10.5 では普通に configure, make できていたのに…。orz
181デフォルトの名無しさん:2010/09/18(土) 00:40:27
MacだしOSXにバグがあるんじゃね?
182デフォルトの名無しさん:2010/09/18(土) 10:03:11
C++0xの機能作ってコード書いてたらqt creatorの補完がぶっ壊れまくって笑った
SLOTにラムダ式とかやりたいんだけどなぁ…orz
183デフォルトの名無しさん:2010/09/18(土) 14:42:27
editor だけ違うのにすりゃええが
184デフォルトの名無しさん:2010/09/18(土) 17:44:20
Q_DECLARE_PRIVATE についての公式のドキュメントが見つからないのですが、どこに書いてあるのでしょうか。
185デフォルトの名無しさん:2010/09/18(土) 20:38:02
>>180
XCodeを最新にしてもダメですか?
186デフォルトの名無しさん:2010/09/18(土) 22:49:03
c++でスロットを作りたいのだが
なんていうデザインパターンなんだ?
187デフォルトの名無しさん:2010/09/18(土) 22:51:33
>>163
ライセンス以外に、PyQtに比べてどんなアドバンテージがあるの?
188デフォルトの名無しさん:2010/09/18(土) 23:05:50
>>186
スロットは、Qt特有のもの。
デザインパターンは言語に関係しない設計の概念。
だから質問自体が意味不明。
189デフォルトの名無しさん:2010/09/19(日) 00:10:46
Chain of Responsibility パターン
190デフォルトの名無しさん:2010/09/19(日) 00:32:53
signals/slotsはobserverじゃね?
191デフォルトの名無しさん:2010/09/19(日) 01:54:42
>>184
ドキュメントには書かれていないけれど、ソースコードを読んでも難しくないので分かりますよ。
192デフォルトの名無しさん:2010/09/19(日) 01:59:25
193デフォルトの名無しさん:2010/09/19(日) 03:19:27
>>186
> c++でスロットを作りたいのだが
> なんていうデザインパターンなんだ?

逆。

スロットを作るためにデザインパターンを適用するんじゃなくて、
デザインパターンを適用して作った仕組みがスロット
194デフォルトの名無しさん:2010/09/19(日) 03:42:34
195デフォルトの名無しさん:2010/09/19(日) 11:41:21
最近、signalとslotsって本当に便利なのかな〜って気がしてきた
type safe以外に何かいいことがあるのかな〜etc etc
196デフォルトの名無しさん:2010/09/19(日) 12:13:02
emit
197デフォルトの名無しさん:2010/09/19(日) 12:14:43
GUIのイベントハンドリング部分を
人間にとってシンプルにかけるようにしたいなら、
C++の言語仕様の範囲内ではまず不可能。

GUIのイベントハンドリング部分をシンプルにするための
方法としてQtが採用したのが、signalとslots。

シンプルにかける。というメリットがある。
198デフォルトの名無しさん:2010/09/19(日) 12:28:50
OS毎の違いを吸収するためだと思ってた
199デフォルトの名無しさん:2010/09/19(日) 12:29:12
>>194
boostにもsignal-slotが取り入れられたのか
200デフォルトの名無しさん:2010/09/19(日) 12:29:57
>>199
別物だろ
201デフォルトの名無しさん:2010/09/19(日) 12:53:12
間違った名前のslots(ex. SLOT(clucked()))とかやったとき
QTが実行時に警告になるだけってのに対してboost::signalsはコンパイル時エラーになるのがいいなと思った
javascriptやrubyみたいに動的にクラスやインスタンスにsignals/slotsを追加できるなら実行時エラーでもいいんだけど
折角C++なんだから静的にできるところは静的にやりたいじゃない
あと最近になって入ったsignals2はQtのsignals/slotsと同じくスレッドセーフ
昔からあるsignalsの方はスレッドセーフじゃないからGUI用の機構としては駄目ぽ
boostのsignalsはc++0xのラムダ式でも使えて、ラムダ式の変数キャプチャと組み合わせればすんげー強力になるから
Qtが本格的にC++0xのラムダ式に対応する頃になれば、QtのSignalもboost方式になると思うけどいつの事になるやら…
202デフォルトの名無しさん:2010/09/19(日) 13:00:37
>>201
話が長い
203デフォルトの名無しさん:2010/09/19(日) 14:07:57
なら読まなければ良い
204デフォルトの名無しさん:2010/09/19(日) 14:25:08
>>203
もちろん読んでいない
205デフォルトの名無しさん:2010/09/19(日) 14:25:42
間違った名前のslots(ex. SLOT(clucked()))とかやったとき、
QTが実行時に警告になるだけってのに対して、
boost::signalsはコンパイル時エラーになるのがいいなと思った。

javascriptやrubyみたいに、動的にクラスやインスタンスにsignals/slotsを追加できるなら、
実行時エラーでもいいんだけど、折角C++なんだから静的にできるところは静的にやりたいじゃない。

あと最近になって入ったsignals2は、Qtのsignals/slotsと同じくスレッドセーフ。
昔からあるsignalsの方はスレッドセーフじゃないからGUI用の機構としては駄目ぽ。

boostのsignalsはc++0xのラムダ式でも使えて、
ラムダ式の変数キャプチャと組み合わせればすんげー強力になるから、
Qtが本格的にC++0xのラムダ式に対応する頃になれば、
QtのSignalもboost方式になると思うけどいつの事になるやら…
206デフォルトの名無しさん:2010/09/19(日) 14:31:25
俺の熱いC++0xとQtに対する想いは140文字や3行なんかでは収められない
2kバイトでも少ないぐらいだ
207デフォルトの名無しさん:2010/09/19(日) 14:44:15
signal/slotとeventは何が違うですか?
208デフォルトの名無しさん:2010/09/19(日) 14:56:55
signal/slotsの方が柔軟な扱いができる
signal/slotsはeventを扱い易くする為の機構
209デフォルトの名無しさん:2010/09/19(日) 14:58:48
boostにスロットあるのか、さすがboost様や
Qtなんていらんかった
210デフォルトの名無しさん:2010/09/19(日) 15:01:39
QtでGUIアプリ作る上でQtのsignal/slotsを使わずにboostのやつでやる方法があるなら俺が教えて欲しいぐらい
211デフォルトの名無しさん:2010/09/19(日) 15:19:39
>>205
>動的にクラスやインスタンスにsignals/slotsを追加できるなら、
ここは、文脈からすると、するならの書き間違い?
一応書いとくと、動的にできるよ。デザイナーの.ui ファイルから読み込むのは、まさにその機能だし。
212デフォルトの名無しさん:2010/09/19(日) 15:22:57
QActionってメニューバーの1つ1つの項目ってことでOKですか?
終了、ファイルを開く、保存みたいな感じ
213デフォルトの名無しさん:2010/09/19(日) 18:36:51
>>212
メニューバーについてはそうです。
ツールバーやコンテキストメニューに同じインスタンスを設定すると、
選択されたときに呼出されるスロット、有効/無効などの同期が取れるのがよいです。
214212:2010/09/19(日) 20:49:33
>>213
thx
215デフォルトの名無しさん:2010/09/20(月) 03:48:26
Qt 4.7 以降はUIの記述はQMLに移行していくの?
216デフォルトの名無しさん:2010/09/20(月) 09:53:55
>>215
QMLという選択肢が増えるのでしょう。QMLはモーバイル向けのようなUI/UXが作り易くなる。
しかし、例えばCADなどには向かない用途がある。QMLでできないことも多くあって、モーバ
イルであってもQt/C++で実装して、QMLで使うことになる。
217デフォルトの名無しさん:2010/09/21(火) 03:16:52
>>216
ありがとうございます。
218デフォルトの名無しさん:2010/09/21(火) 22:36:32
twitter脆弱性祭りの最中、Qt4.7リリースage
219デフォルトの名無しさん:2010/09/21(火) 22:39:21
質問があります。もしスレ違いでしたら申し訳ありません

#include "ALogPluginUtil.h"

class ALOGPLUGINEXPORT GKProperty
{
public:
GKProperty();
GKProperty( const QTime& initial);
~GKProperty();

GKProperty & operator= ( const GKProperty& prop );

void setTime( const QTime& time );
const QTime& getTime() const;

private:
QTime Time;
};

#endif

とある時に、getTime()をint Timeに代入するにはどうしたらよいのでしょうか?
よろしくお願いします
220デフォルトの名無しさん:2010/09/21(火) 22:46:42
マルチ死ねカス
221デフォルトの名無しさん:2010/09/21(火) 23:14:25
>>220
申し訳ありません
Qtも使っているのでこのスレの方ならわかるかもと思ってしまいました
どうしてもわからなかったもので
不快にさせてすいませんでした
222デフォルトの名無しさん:2010/09/22(水) 15:54:40
>>220
どことのマルチ野郎なの?
223デフォルトの名無しさん:2010/09/22(水) 21:08:23
WebKit上で日本語入力して漢字変換すると落ちるバグもなくなったんだな
これでやっと作り始められるぜ
224デフォルトの名無しさん:2010/09/22(水) 21:28:11
>>223
おおっ、まじっすか。
そいつあ ありがたい。
225デフォルトの名無しさん:2010/09/22(水) 21:30:34
Qtについてくるサンプルコードって、前までLGPLだったみたいだけど
4.7の奴は全部BSDになってるっぽいな
226デフォルトの名無しさん:2010/09/22(水) 22:00:04
なんだ、サンプルか
227デフォルトの名無しさん:2010/09/22(水) 23:18:49
QTimerのsinglShot的な感じで一度だけconnectする方法ってないですかね。
228デフォルトの名無しさん:2010/09/22(水) 23:20:30
ありますよ
229デフォルトの名無しさん:2010/09/22(水) 23:27:04
もしよかったらご教授願います><;
230デフォルトの名無しさん:2010/09/23(木) 00:28:33
>>225
Qt自体がBSDになることはないのかなー。
231デフォルトの名無しさん:2010/09/23(木) 08:55:26
いやや、サンプルが(修正?)BSDになっただけでもすごく助かる
これで安心してサンプルのソースを流用できる。
232デフォルトの名無しさん:2010/09/23(木) 09:51:25
>>227
connectの重複を避けるというならばQt::UniqueConnection。
233デフォルトの名無しさん:2010/09/23(木) 12:52:28
>>230
Symbianだけしかサポートしなくなったりしたら、KDEとの取決めでBSDライセンスになる。
234デフォルトの名無しさん:2010/09/23(木) 12:54:58
そうなったらQt自体が用無しだわ
235デフォルトの名無しさん:2010/09/23(木) 21:43:15
qt creator 2でプロジェクトを作ると、ビルド専用のディレクトリができてウザい
1.3の時みたいな設定にするには、どうすればいいんですか?
236デフォルトの名無しさん:2010/09/23(木) 21:48:36
>>235
左の「プロジェクト」のボタンを押して,「シャドウビルド」のチェックを外せばいいんだけど,
新しくプロジェクトを作ったり,Qt Creator 1.3のプロジェクトから移行したりするとデフォルト
でこのチェックがONになってるので,いちいち外すのがめんどい。

デフォルトでシャドウビルドをOFFにする方法,誰か知りませんか?
237デフォルトの名無しさん:2010/09/23(木) 21:48:59
プロジェクトのビルド設定からシャドウビルドのチェックを外せ
238235:2010/09/23(木) 22:01:32
>>236-237
thx
239津田:2010/09/24(金) 06:50:21
>>112
おいらもそれが嫌で ViVi プラグインを作ったよ。
http://sourceforge.jp/projects/viviplugin/

コピペは C-X, V, C が使えるようにした。
240デフォルトの名無しさん:2010/09/24(金) 08:24:51
NokiaのCEOが交代 ソフト主導の新しい時代を築けるのか?
http://ascii.jp/elem/000/000/556/556161/

nokiaが存在感を示すためにQtをBSD化したらいいな
241デフォルトの名無しさん:2010/09/24(金) 18:45:11
>>240
乞食根性丸出し。
242デフォルトの名無しさん:2010/09/24(金) 18:47:30
>>241
いや普通にBSD化されたらうれしいだろう。
nokiaのQt開発部をどうやって養うのかわからないけど。
243デフォルトの名無しさん:2010/09/24(金) 19:15:38
>>242
LGPLの方が改良点を共有できるからBSDよりうれしい。
NokiaのQt開発部門は、既にSymbianとMaemo/Meegoのためにこき使われている。
Bug TrackerとLabsを見比べると、中核な開発者が辞めている。
最近の追加される機能は、SymbianとMaemo/MeeGoのプラットフォームで動かす
というのがぞろぞろで、Nokiaの本性が丸出しになっている。
244デフォルトの名無しさん:2010/09/24(金) 19:58:05
>>243
LGPLにしたのはすごいと思う。
> というのがぞろぞろで、Nokiaの本性が丸出しになっている。
なんで企業が金儲けすることを嫌うの?
245デフォルトの名無しさん:2010/09/24(金) 20:02:10
その結果Qtが使い捨てみたいになるからだろ
246デフォルトの名無しさん:2010/09/24(金) 20:41:53
プログラマと学者は共産主義者の集まりだからな
247デフォルトの名無しさん:2010/09/24(金) 20:50:52
>>244
企業はでたらめな儲け方はしてはならないが分かりませんか。金に任せて買収しただけでしょう。
買収されてから、SymbianやMaemoやMeeGoのためばかりにやってるのがあからさまで嫌になる。
Open Sourceのためだとか、Open Govermentなんてうそっぱちでしょう。
248デフォルトの名無しさん:2010/09/24(金) 20:58:20
qtcreatorに比べてkdevelopの過疎なこと…
249デフォルトの名無しさん:2010/09/24(金) 21:04:10
>>247
> Open Sourceのため
って言ってるんだっけ?
最初っから広く宣伝のためにGPLやLGPLで
ライセンスしたって聞いてたけど、
俺は新参だからあんまり歴史的なことはしらない。

というか別にQtだってソフトウェアなんだから(コードだけど。)
金儲けに使うなんて正当なQtの存在意義だと思うけど。
250デフォルトの名無しさん:2010/09/24(金) 21:30:11
>>249
GPLは元々ある。LGPLは、GoogleやAdobeに対抗するための方便。
NokiaがNokiaのためだけに使っているというのを言わないのがとても汚い。
Nokiaの製品のために役に立つようでない他のプラットフォームが手抜きになっているのが
明らかなのにそれをはぐらかし続けている。
251デフォルトの名無しさん:2010/09/24(金) 21:36:36
>>250
> 他のプラットフォームが手抜きになっているのが明らかなのにそれをはぐらかし続けている。
あー、なるほどね。そういうことね。

> LGPLは、GoogleやAdobeに対抗するための方便。
GooglegはともかくAdobeはクソライセンスでがちがちに固める
卑怯な策に出ている様に思えるけど、LGPLにするとなんで対抗できるの?
上のと合わせて、"NokiaはLGPLの考え方を応援しています"と主張できるから
印象が良くなって対抗できるってこと?
252デフォルトの名無しさん:2010/09/24(金) 21:47:07
そもそもQtがLGPLじゃなくてBSDLを選択した場合にエンドユーザーとして
何かメリットあるかね?
253デフォルトの名無しさん:2010/09/24(金) 21:48:46
>>252
ソース開示が義務じゃないから企業が使いやすい
254デフォルトの名無しさん:2010/09/24(金) 21:51:40
企業なら金払ってライセンス買えばいいじゃない
255デフォルトの名無しさん:2010/09/24(金) 21:52:53
>>253
LGPLなら義務は無いと思うが
256デフォルトの名無しさん:2010/09/24(金) 22:10:41
コミットされやすいという点でLGPLの方が良いかもね
257デフォルトの名無しさん:2010/09/24(金) 22:16:31
そんなにダイナミックリンクが嫌なのかよ
別にいいじゃねえか数十MBのDLLくらい
258デフォルトの名無しさん:2010/09/24(金) 22:21:03
static link することの快感がねww
259デフォルトの名無しさん:2010/09/24(金) 23:37:00
>>248
kdevelop は、3.5 と 4.0 の山を超えられなかったアプリのひとつだからな。
機能やテンプレートがごっそりなくなって別物になってるし。
普通、他のアプリをさしおいてでも、開発環境は優先して移植するべきなのに、ここまでほったらかしとは、
コアな開発者に取っては、kdevelop は必要な開発環境じゃないのだろう。
260デフォルトの名無しさん:2010/09/25(土) 00:04:39
実際問題QtCreatorで十分だしな
KDEコンポーネントも使えるし
261デフォルトの名無しさん:2010/09/25(土) 10:10:25
KDevelopはよく落ちたなあ。それで使う気がなくなった。
262デフォルトの名無しさん:2010/09/25(土) 10:47:50
いまだviが主要開発ツールになってるOSじゃ
統合開発環境はあんまり需要ないんだろう
263デフォルトの名無しさん:2010/09/25(土) 11:35:58
http://qt.nokia.com/qtdevdays2010
MeeGOとSymbianのためだけのようなページだ。

264デフォルトの名無しさん:2010/09/25(土) 12:01:41
QtCreatorって名前からして便利そうだな
使ったこと無いけど、今度使ってみよう。
265デフォルトの名無しさん:2010/09/25(土) 12:05:39
>>263
なんでそう思うの?確かに MeeGOやSymbianはプッシュしてるけど
他のプラットフォームはむしろ成熟してるという感じだと思うが

たとえば実際の中身を見ると keynote いきなり Dreamworks とか
In Use のセッションも Maya, AutoDesk, Dreamworks, Weather riskとか
MeeGOと Symbian だけとはとても俺には思えないが。

まさか Dreamworks とか MeeGO や Symbian で3Dアニメーション
作ってると思って無いよね?
266デフォルトの名無しさん:2010/09/25(土) 12:07:08
>>264
よくできてて便利だけど慣れが必要かも知れない
この手のものは何でもそうかも知れないけど
これどうやってするの?という疑問が結構出てくるかも
267デフォルトの名無しさん:2010/09/25(土) 12:11:57
企業が自社製品をプッシュするのが死ぬほど嫌なんだろう
268デフォルトの名無しさん:2010/09/25(土) 12:32:35
>>265
>MeeGOやSymbianはプッシュしてるけど
それがいけない。
>他のプラットフォームはむしろ成熟してるという感じだと思うが
BugやSuggesionへの対処が疎かになっている。理由もなしにCloseされるのが多過ぎる。
269112:2010/09/25(土) 12:58:08
>>239
残念ながら私はlinuxユーザです
270デフォルトの名無しさん:2010/09/25(土) 19:42:02
>>268
> >>265
> >MeeGOやSymbianはプッシュしてるけど
> それがいけない。

商売だし、しょうがないんじゃないか?
これらは今が勝負時って感じだからじゃないかな
他のマーケットは今が過渡期という程じゃないからね

271デフォルトの名無しさん:2010/09/25(土) 19:44:18
>>262
さすがに「viが主要開発ツールになってるOS」はもう無いんじゃないか?
emacs なら開発にも使ってる人結構いるかも知れんが
vi 使う事あるけど開発には使ってないな


272デフォルトの名無しさん:2010/09/25(土) 19:51:10
>>270
つまらないところに買収されてしまったものだなあ。
273デフォルトの名無しさん:2010/09/25(土) 20:17:49
vi(vim)をメインに使ってるOS開発者なんて腐るほどいるだろ
274デフォルトの名無しさん:2010/09/25(土) 21:12:50
qt creatorのviは微妙
275デフォルトの名無しさん:2010/09/25(土) 22:46:59
デスクトップ系でQtを買収したいところは無いだろうし、
どこに買われてもモバイル系重視は変わらんだろ。
Nokia以外に買われてたならLGPLもあったかどうか分からんし。
文句言うくらいなら自分でパッチ書くなりフォークするなりすれば。
276デフォルトの名無しさん:2010/09/26(日) 02:24:30
ネタにマジレスですか
277デフォルトの名無しさん:2010/09/26(日) 09:07:51
>>275
>LGPLもあったかどうか分からんし
GPLの方がコードが公開されるからよい。
278デフォルトの名無しさん:2010/09/26(日) 12:59:45
QStringを使わないでQLatin1Stringを使うのは何故?
279デフォルトの名無しさん:2010/09/26(日) 13:17:27
>>278
1バイトだけ考えればよいので軽くなるから。
280デフォルトの名無しさん:2010/09/26(日) 13:33:45
docのフォント指定がイヤーな感じになってる件について
はぁ自分で手直しするしかないか
281278:2010/09/26(日) 14:58:10
>>279
そんだけの事なんだ
thx
282デフォルトの名無しさん:2010/09/26(日) 15:53:14
QMainWindow::closeEvent( QCloseEvent * event )について何ですが、
これってオーバーライドするだけでOKですか?

qtはsignalとslotだけだと思っていましたが、javaのswingみたいな所もあるんですね〜
283デフォルトの名無しさん:2010/09/26(日) 16:20:04
qtcreatorのデバッガで呼び出し履歴みたいな機能ないんですか?
284デフォルトの名無しさん:2010/09/26(日) 16:29:16
>>282
何をしたいかにもよるが、オーバーライドしたら
QMainWindow::closeEvent() を呼び出しておくのが無難。
285デフォルトの名無しさん:2010/09/26(日) 16:35:46
>qtはsignalとslotだけだと思っていましたが、javaのswingみたいな所もあるんですね〜

kwsk
286デフォルトの名無しさん:2010/09/26(日) 16:55:04
phononのVolumeFaderEffectクラスとかってまだ使えないんですか?
なんかパスにインサートしようとするとうまくいかないんですが。
287デフォルトの名無しさん:2010/09/26(日) 17:45:27
C++ができないんでPythonとQtを勉強しようとおもうのですが、書籍はないのでしょうか?
お勧めサイトなどもあれば教えていただきたいです。
288デフォルトの名無しさん:2010/09/26(日) 17:53:25
>>287

>>1-
289デフォルトの名無しさん:2010/09/26(日) 18:03:11
たぶんPyQtを使いたいんじゃないの
290デフォルトの名無しさん:2010/09/26(日) 18:08:17
291デフォルトの名無しさん:2010/09/26(日) 18:18:36
>>287
QtからC++に入るのも悪くないかもよ
C++の面倒な部分を避けてプログラムできるから
292282:2010/09/26(日) 18:54:42
>>284
thx

>>285
swingだとインターフェイスを実装しなきゃ、何もできないじゃん
293デフォルトの名無しさん:2010/09/26(日) 21:44:22
そういや、いつからかQt CreatorにPythonがくっついてくるようになったけど
これって何に使ってるのかな
294デフォルトの名無しさん:2010/09/26(日) 22:36:11
>>293
デバッガー。
295デフォルトの名無しさん:2010/09/27(月) 00:27:25
>>291
Qtにほぼ全てを頼り切ろう・・・としても無理なんだし
C++の壮大な落とし穴的仕様を前に逃げ出すやつは、
結局Qtから入ったっていつまでもまともなC++プログラミングなんて出来ないだろう。
296デフォルトの名無しさん:2010/09/27(月) 01:46:27
入り口はどこか必要だから入りやすいところから始めれば良いと俺は思うけどね
いろいろコード書いているうちに落とし穴とかも勉強していけば良いし
初めからすべてを知ろうとか難しい事からしようと思ったら挫折するのが普通
297デフォルトの名無しさん:2010/09/27(月) 02:40:18
いいこというね
298デフォルトの名無しさん:2010/09/27(月) 07:24:51
スタイルシートの変更の為にコンパイル済みヘルプ(.qch)をビルドし直したいんだけど
qhelpgeneratorに.qhpに喰わせる.qhpが見つからない
doc/doc.pri には doc-build/html-qt/qt.qhp とかファイルの記述があるけど
そんなファイルは見当たらないし、どうしたら良いんだコレ
.qchはSQLite3らしいからベタに読み書きした方が早いのか
299デフォルトの名無しさん:2010/09/27(月) 16:58:19
Qtっていつなくなるのか不安です。
300デフォルトの名無しさん:2010/09/27(月) 17:26:10
男だろ
元気出せ
301デフォルトの名無しさん:2010/09/27(月) 17:39:33
>>299
とりあえずLGPLだからそれだけはいつまでも残るんじゃないかな。
むしろC++がなくなるんじゃないかな。
302デフォルトの名無しさん:2010/09/27(月) 17:52:23
C++無くなったらQtはどうやってコンパイルしたらいいの?
303デフォルトの名無しさん:2010/09/27(月) 17:53:10
だいじょうぶ、C++ は永遠に不滅です。
304デフォルトの名無しさん:2010/09/27(月) 19:51:49
>>301
JavaがなくなってもC++はなくならないな。
305デフォルトの名無しさん:2010/09/27(月) 20:03:48
Google推奨開発言語がJavaとC++とPythonだからこれらは不死身だよ
306デフォルトの名無しさん:2010/09/27(月) 20:51:07
>>305
C++とPythonを愛する俺にとっては
すごく良い会社に見える

java嫌いだけど
307デフォルトの名無しさん:2010/09/27(月) 21:04:59
Rubyはなくなりそうです?
308デフォルトの名無しさん:2010/09/28(火) 01:13:32
宝石の価値を分からないやつがレールの上に置いていたずらしようとしたけどどっかに持って行かれてた。
rubyはもうない。
309デフォルトの名無しさん:2010/09/28(火) 01:16:42
青色LEDの原料のGaNはRuby基板の上にアモルファス成形してるんだってね
310デフォルトの名無しさん:2010/09/28(火) 01:41:15
Ruby はなくならんだろ
ただ廃れることはあるかも知れんな
個人的には手軽だから流行って欲しいがRoR以来決定打が無いかな
311デフォルトの名無しさん:2010/09/28(火) 02:04:13
Rubyの上で動くScalaみたいなのってないの?

っつーかスレ違いだな
スマソ
312デフォルトの名無しさん:2010/09/28(火) 11:00:02
質問

qtcreator って、gdb のコンソール画面、ないの?
313デフォルトの名無しさん:2010/09/28(火) 20:49:21
デモの「Rich Text→Text Object」にて、自作のオブジェクトをQTextEditに挿入するサンプルがありますが
このオブジェクトが挿入されている状態のQTextEditのデータをファイルに保存して
それをロードしたときにオブジェクトが挿入された状態を復元するには
どういう手段をとればいいんでしょうか?

ファイルの保存形式については特に問いません
314デフォルトの名無しさん:2010/09/28(火) 21:06:26
savelayout
315デフォルトの名無しさん:2010/09/28(火) 21:38:11
>>312
ありませんね。
316デフォルトの名無しさん:2010/09/28(火) 22:48:24
Q_PROPERTYを使うと何が美味しいんですか?
317デフォルトの名無しさん:2010/09/28(火) 22:55:53
qDebug で改行しない方法ってありますか?
318デフォルトの名無しさん:2010/09/28(火) 23:51:33
>>316
メタ情報でプロパティにアクセスできる。
319デフォルトの名無しさん:2010/09/29(水) 00:38:37
>>315
レスthx

やっぱし無いか。

ちょっこし残念。
今後に期待。
320デフォルトの名無しさん:2010/09/29(水) 00:39:36
>>317
QDebug nDebug()
{
static QDebug* debug = 0;
if ( debug == 0 ) {
QFile* file = new QFile;
file->open( stderr, QIODevice::WriteOnly );
debug = new QDebug( file );
}
return *debug;
}

nDebug() << "foo";
nDebug() << "bar";
nDebug() << "baz";
nDebug() << flush;

321デフォルトの名無しさん:2010/09/29(水) 01:24:56
>>320
317ではないけど、これってスレッドセーフ?
322デフォルトの名無しさん:2010/09/29(水) 01:38:46
>>321
それは自分でやって。
323デフォルトの名無しさん:2010/09/29(水) 04:06:11
>>320
ありがとうございました
324デフォルトの名無しさん:2010/09/29(水) 04:07:46
シングルトン臭い
325デフォルトの名無しさん:2010/09/29(水) 06:42:18
>>323
デストラクターが呼ばれると改行されるので、呼ばれないようにすれば改行しなくなります。
326デフォルトの名無しさん:2010/09/29(水) 07:01:01
つまりどういうことです?
327デフォルトの名無しさん:2010/09/29(水) 13:51:53
新規プロジェクトメニューで出てくる
>モバイル_Qt_アプリケーション
ってすごいの?

Qtって元々クロスプラットフォームじゃないの?
328327:2010/09/29(水) 14:05:48
まさか、
>QtMobility
を使う限り、
Javaみたくリコンパイルも不要、なんてことは無いですよね?
329デフォルトの名無しさん:2010/09/29(水) 14:53:48
Vista64にmingw含むSDK版をインストールしました。
QtCreatorでGUIアプリを作って実行後、終了させるためにwindowsのcloseボタンを
押すと不正終了云々いわれてしまいます。Creatorを使わずに作ったアプリは正常終了します。
Creatorがおかしいのでしょうか。それとも私の環境が
悪いのでしょうか。
330デフォルトの名無しさん:2010/09/29(水) 15:30:10
slotのconnect先がおかしいんじゃないでしょうか
331デフォルトの名無しさん:2010/09/29(水) 16:40:42
QtCreatorでQuitボタンだけのアプリを作ったら、
ちゃんと正常終了できました。
うーん、厳密になったということなのか。
デストラクタをちゃんと書かないとダメ出しされる
ようになったんですね(;_;)
332デフォルトの名無しさん:2010/09/29(水) 18:22:27
>>326
デストラクタで改行をしているのです。
333デフォルトの名無しさん:2010/09/29(水) 19:28:08
>>332
何という脳内補正www
334デフォルトの名無しさん:2010/09/29(水) 20:25:10
Qt Creatorでqint64とかのキーワードも色が変わるようにしたいんですが、
そういう機能には対応していますか?
335デフォルトの名無しさん:2010/09/29(水) 21:37:53
>>333
でたらめ言うんじゃない。
336デフォルトの名無しさん:2010/09/29(水) 23:09:31
>>335
何がでたらめだって?
337デフォルトの名無しさん:2010/09/30(木) 11:32:35
>>327
プロジェクト作ってみてもQt GUIアプリケーションと同じだった。
>>328
モバイル向けのいろいろな機能のラッパーみたい。だからラップ
が実装されているプラットフォームでのみ使えるだけで、どの
プラットフォームでも使える訳じゃない。
338デフォルトの名無しさん:2010/09/30(木) 11:48:24
AndroidとiOSが公式対応してくれれば神環境なんだけどなぁ
Nokiaじゃやらないだろうけど
339デフォルトの名無しさん:2010/09/30(木) 12:16:21
そうだね。残念です。
340デフォルトの名無しさん:2010/09/30(木) 14:43:27
>>329 >>331です。
なんか解決したっぽい。エラーメッセージのフォントでggl.cppと見えていたが
実はqgl.cppだったのでドツボってました。QGLFormatとコンストラクタの
作り方の不整合だったのかな。
http://bugreports.qt.nokia.com/browse/QTBUG-13260?page=com.atlassian.jira.plugin.system.issuetabpanels%3Aall-tabpanel
341デフォルトの名無しさん:2010/09/30(木) 21:49:07
>>337
Mobility 1.1.0 Betaってのが出たけれど、MeeGoとSymbianのことしか考えていない。
342デフォルトの名無しさん:2010/09/30(木) 21:52:44
わざわざ競合してるハードメーカーのためになることをしようとは思わんだろう
まぁ多少弁護するなら Apple がオープンだという感じは全然しないな
343デフォルトの名無しさん:2010/09/30(木) 22:05:22
メニューバーやツールボックスを自動で復元させたいのですが、
どのようにすればいいのですか?
344デフォルトの名無しさん:2010/09/30(木) 22:23:57
>>343
復元ってのがどんなのを言ってるのか分からんから的確には答えられないけど
http://doc.trolltech.com/4.7/qmenubar.html
http://doc.trolltech.com/4.7/qtoolbar.html
http://doc.trolltech.com/4.7/qmainwindow.html
http://doc.trolltech.com/4.7/qsettings.html
この辺読んで頑張れば多分なんとかなると思うよ。
345デフォルトの名無しさん:2010/09/30(木) 22:29:50
>>342
Nokiaなんかに買収されなければよかったということだ。
346デフォルトの名無しさん:2010/09/30(木) 22:30:01
>>344
thx
347デフォルトの名無しさん:2010/09/30(木) 22:39:02
>>345 買収されていなければ今頃潰れてたかもよ…
348デフォルトの名無しさん:2010/09/30(木) 22:49:57
>>347
Nokiaの奴隷になるより、その方がよいじゃないか。
349デフォルトの名無しさん:2010/09/30(木) 22:54:07
文句あるなら自分が直せよ
オープンソースなんだし
まぁ口だけの奴がやるわけないな
350デフォルトの名無しさん:2010/09/30(木) 23:00:36
351デフォルトの名無しさん:2010/09/30(木) 23:05:06
>>349
直す直さないの問題じゃないのすら分からないのか。
352デフォルトの名無しさん:2010/09/30(木) 23:06:12
>>351
乞食が偉そうに
353デフォルトの名無しさん:2010/09/30(木) 23:16:48
>>352
大バカものめ。
354デフォルトの名無しさん:2010/09/30(木) 23:17:33
>>349
似非オープンソース。
355デフォルトの名無しさん:2010/09/30(木) 23:24:22
どなたか>>334をお願いします
356デフォルトの名無しさん:2010/09/30(木) 23:36:58
>>351
> 直す直さないの問題じゃない
なんで?
357デフォルトの名無しさん:2010/09/30(木) 23:38:46
Qtはもともとお前の物じゃないし。
お前は一行もまともに協力していないのに、
あたかも自分の物であるかの様に錯覚して、
> 直す直さないの問題じゃない
とか言っちゃうお前の脳内の構造がよく理解できない。

他人様の持ち物を借りているだけなのに、
それにけちを付けるのはどういう了見で?
358デフォルトの名無しさん:2010/09/30(木) 23:40:38
似非オープンソースって何だよwww


         >>354

| こいつ最高にアホ       |   同意
\                   \
  ̄ ̄ ̄ ̄V ̄ ̄ ̄ ̄ ̄       ̄ ̄ ̄ ̄ ̄V ̄ ̄ ̄ ̄ ̄ ̄
           ∩_
          〈〈〈〈 ヽ         /  ̄ ̄ ̄ ̄ \
          〈⊃  }         /、          ヽ
  / ____ヽ|__|        |ヘ |―-、       |
  | | /, −、, -、l !    !        q -´ 二 ヽ      |
  | _| -|  ・|< || |  /         ノ_/ー  |     |
 (6  _ー っ-´、} /           \     |     /
  \ ヽ_  ̄ ̄ノノ/              O=====|
/ __  ヽノ /              /         |
(_|__)   /             /    /      |
359デフォルトの名無しさん:2010/10/01(金) 00:09:38
Qt4.7の目玉が携帯端末への対応だからMeeGoやsymbianが注目されるのは
ある意味当然。
ただその恩恵は他のEmbedded LinuxやWindows CEにもある訳だし、
クロスプラットフォームが売りのQtで、その適用範囲が広がることは
従来からのユーザーにも十分メリットがあると思うんだが。
360デフォルトの名無しさん:2010/10/01(金) 00:47:04
基本的にQtが繁栄すれば根っこは同じだから自然と全体も良くなるだろうし
マーケットを狭めて廃れれば忘れられていくだけ
361デフォルトの名無しさん:2010/10/01(金) 09:19:11
>>343
サイズやレイアウトの保存なら、KDEでは、
bool KMainWindow::autoSaveSettings() const
http://api.kde.org/4.x-api/kdelibs-apidocs/kdeui/html/classKMainWindow.html#a8073aff6ad2fdc8e6eea177bc7e23c4d
呼ぶだけでいける。アプリケーション名+rc のファイルに保存される。
MainWindow 以外の追加したWidgetやLayout は、KConfig で、自分で読み書きする必要がある。
http://techbase.kde.org/Development/Tutorials/KConfig

せっかく説明したけど、LinuxでKDEの開発している人は殆どいないかな。
362デフォルトの名無しさん:2010/10/01(金) 09:28:21
>>361
Qt なら QMainwindow::saveState(), QMainWindow::restoreState() を使う。
363デフォルトの名無しさん:2010/10/01(金) 13:56:30
Android上でQtアプリのボタンとかテキストエリアとかがあるアプリのサンプルありませんか?
これからAndroidとNDK勉強をはじめようと思ってるんですが
出来上がりのイメージをつかめればと
364デフォルトの名無しさん:2010/10/01(金) 18:01:06
Pyside、PyQtって、PythonのコードにQtを使えるのか
QtのコードにPython使えるのか、どっちですか?
365デフォルトの名無しさん:2010/10/01(金) 18:15:32
Qtのコードにと言うか、QtCreatorでPythonを使う?自分でもよく分かりませんが
366デフォルトの名無しさん:2010/10/01(金) 18:54:20
>>364

 自分でも質問が分からないのに俺らに質問されてもな。
 エスパーの居る所に行け。

って言われることくらい分からないの?

367デフォルトの名無しさん:2010/10/01(金) 19:53:53
なんとなく分かったわ
じゃあの
368デフォルトの名無しさん:2010/10/01(金) 20:12:22
>>367
ああ、またな!
369343:2010/10/01(金) 22:54:14
>>361
KXmlGuiWindowを見たから質問したんだよ
Qtには無いのかな?ってね

konsoleを読んでいる途中なんだけど、kdeアプリってどうやってデバッグするのかわからない
cmakeの情報が少なすぎるんだよ
370デフォルトの名無しさん:2010/10/01(金) 23:01:08
age
371デフォルトの名無しさん:2010/10/02(土) 09:18:38
KDEなら、かなり過疎ってるけど
http://hibari.2ch.net/test/read.cgi/unix/980598648/
の方が詳しい人多いかもね。
372361:2010/10/02(土) 15:11:17
>>369
状況がよく飲み込めないけど、自分の開発しているアプリはQtなんだよね。

そしてデバッグしているKDEアプリは、ダウンロードしたパッケージ(konsole)で、それがコンパイルできないってこと?
cmake の情報が少ないというのは、cmake のエラーがよくわからないってこと?
cmake --debug-output
cmake --trace
で少しは、デバッグできるようになるとなるかも。
確かにKDEは、自前のモジュールファイルを使っているから、cmake標準のマクロなのか、
KDEのマクロなのか分からず、追いかけるのに苦労するけどね。それでもマクロは、
ディスク上にある*.cmake ファイルか、cmake のヘルプを検索すればでてくるので、
それを見ていけばだいたい分かるはず。といってもそれが面倒くさいんだけどね。
373343:2010/10/02(土) 15:50:59
qtでプログラミングするにはkdeのソフトでも読めば勉強になるかなと思ったので、
とりあえず簡単そうなkonsoleを読むことにした

どいう風に流れているか勉強したいので、デバッグモードで動かしたいと考えますた
でも、cmakeに怒られちゃうんだよね、わかんないからkdevelop使うしかないのかな?

~/kdebase-4.4.5/apps/konsole$ --debug-output
Running with debug output on.
CMake Error at CMakeLists.txt:2 (KDE4_NO_ENABLE_FINAL):
Unknown CMake command "KDE4_NO_ENABLE_FINAL".


Called from: [1] /home/yamada/kdebase-4.4.5/apps/konsole/CMakeLists.txt
CMake Warning (dev) in CMakeLists.txt:
No cmake_minimum_required command is present. A line of code such as

cmake_minimum_required(VERSION 2.8)

should be added at the top of the file. The version specified may be lower
if you wish to support older CMake versions for this project. For more
information run "cmake --help-policy CMP0000".
This warning is for project developers. Use -Wno-dev to suppress it.

Called from: [1] /home/yamada/kdebase-4.4.5/apps/konsole/CMakeLists.txt
-- Configuring incomplete, errors occurred!
374343:2010/10/02(土) 15:52:17
>>373>>372への安価
375デフォルトの名無しさん:2010/10/02(土) 16:44:30
Qtのデモビューアって、見た目派手なのはいいんだけど、デモを見て回るのかなり面倒くさいよな
もうちょっとなんとかならないんだろうか
376デフォルトの名無しさん:2010/10/02(土) 21:01:42
>>375
オープンソースなのだから、自分でよいものを作って出せばよい。
377361:2010/10/02(土) 21:31:13
>>373
そのエラーは、ひとつかそれ以上上のディレクトリのCMakeLists.txt に依存しているときの典型的なエラーだ。
少なくとも cmake_minimum_required(VERSION 2.8) これが書かれている CMakeLists.txt のディレクトリごと
持ってきて cmake しないといけない。 たしか、kdebase は、kdebase ディレクトリ全部まとめてパッケージするように
なってたと思った。
他のディレクトリをコンパイルしないようにするには、add_subdirectoryとかをコメントアウトしたら多分いける。
あとLinux 使っているなら、debug パッケージ入れると幸せになれるかも。

それから、KDEのソース追うのは、APIドキュメントからそのままソースに突入するのが、お勧め。
378343:2010/10/02(土) 21:38:09
>>377
お前、本当にやさしいな
ありがとうよ
379デフォルトの名無しさん:2010/10/04(月) 15:43:06
http://qt.nokia.com/products/appdev/add-on-products/catalog/4/Windows/qtwinmigrate/
↑これの使い方教えてクレクレ

他のアプリケーションから呼び出すDLLのUIやWidgetにQTを使おうと、
qmfcapp,qwinhost,qwinwidget(.h, .cpp)を自分のプロジェクト(msvc2010)に入れて、コンパイルしたら、
リンクエラーが多発したんだけど・・・。
380デフォルトの名無しさん:2010/10/04(月) 18:24:43
とりあえずパスとかの設定はちゃんとしてるのか?
それともそういうの分かんない初心者が.hと.cppだけ入れてみましたって話なのかどっちだい?
381デフォルトの名無しさん:2010/10/04(月) 18:56:01
>>379
インストールの仕方から使い方まで全部付属のINSTALL.TXTに書いてあったぞ。
ちゃんと読んだか?
382デフォルトの名無しさん:2010/10/04(月) 18:58:16
初心者ってなんでドキュメント読まないんだろうな
383デフォルトの名無しさん:2010/10/04(月) 18:59:44
ドキュメント読めるようになるまでが初心者なんじゃね?
384デフォルトの名無しさん:2010/10/04(月) 19:00:27
普通読まないだろ
385デフォルトの名無しさん:2010/10/04(月) 19:02:06
>>384
最初は読まなくても、どこか上手くいかなかったらまず読むだろ?
386デフォルトの名無しさん:2010/10/05(火) 00:49:35
世の中には2種類の人間がいる。ドキュメントを読めば理解できる人間と、読まなくても理解できる人間だ。
因みに私は、読んでも理解出来ない人間だ。
387デフォルトの名無しさん:2010/10/05(火) 01:52:53
読まなくても読んでも理解出来ないことが書いてあることを理解している訳ですねわかります
388デフォルトの名無しさん:2010/10/05(火) 18:57:03
調べる気も能力もないだけだろ。
389デフォルトの名無しさん:2010/10/06(水) 20:05:34
UbuntuにインストールしたQtで、Windows用のアプリをクロスコンパイルできますか?
スタティックリンクでもダイナミックリンクでもWindowsで動けばどっちでもいいです。
390デフォルトの名無しさん:2010/10/06(水) 21:30:15
>>389
*mingw*.deb のクロスコンパイル用のパッケージ群をインストールして、
Qtのソースから、mkspecs/win32-g++/qmake.conf等の修正やら configure
オプション指定やら適宜行ってコンパイルするとクロス環境は作れる。
一時期それで使っていたが、遅くてもWindowsPCが用意できるなら、そちらで
コンパイルかけたほうがいいと思う。
391デフォルトの名無しさん:2010/10/06(水) 23:16:58
>>390
ありがとう。ちょっとmingwでやってみます。
392デフォルトの名無しさん:2010/10/07(木) 21:55:37
qapplicationを継承して、クラスを作るメリットってありますか?
393デフォルトの名無しさん:2010/10/07(木) 22:02:15
多重起動できないアプリを作ったときに、そういう処理を組み込んだ
QApplicationの派生クラスを作ったことはあるけど
別にやる理由がないならメリットもないんじゃないの
394392:2010/10/07(木) 22:04:17
>>393
qt/kdeアプリの多くがqapplicationを継承していたもんで

>多重起動できないアプリを作ったときに、そういう処理を組み込んだ
これって、自分で作ったの?
395デフォルトの名無しさん:2010/10/07(木) 22:11:43
>>393
すげぇ。
396392:2010/10/07(木) 22:19:48
>>395
dbus関係のクラスを使うと、作れるんじゃないかな?
397デフォルトの名無しさん:2010/10/07(木) 22:39:52
こういうのもあるけどな
http://doc.qt.nokia.com/solutions/4/qtsingleapplication/qtsingleapplication.html
自前でカスタマイズするのも悪くない
398デフォルトの名無しさん:2010/10/07(木) 22:47:00
399398:2010/10/07(木) 22:52:56
ごめ、いきなりかきこんでしもた
>>392
QApplicationはqAppとしてどのクラスからも見れるので、そこに汎用的なものを入れておくのもありだな。
例えばKApplicationには、random()が入ってる。
あんま下手な使い方するとソース汚すだけだが。。。

あと、QApplicationでvirtual関数になってるものはどれも、継承すると特に便利なものだって思っていいと思うよ。
400392:2010/10/07(木) 23:01:18
>>399
なるほど、ありがとうよ

昔、javaでJFrameを継承すと何が便利なのか?と考えてたけど
それと同じだな
401デフォルトの名無しさん:2010/10/09(土) 00:52:19
フォームグリッドの割合変更のどうすればおk? 変更のボタンでか過ぎだろ・・・
http://cid-c9ae0c9375e8968b.office.live.com/self.aspx/.Public/0123.GIF
402デフォルトの名無しさん:2010/10/09(土) 09:13:50
フォームグリッドは左がラベルで、右が入力を前提とした専用レイアウトだから、割合が特殊なんだな。
右クリックで違うレイアウトに変更すれば、そういうことにはならない。
403デフォルトの名無しさん:2010/10/09(土) 13:06:52
QGridLayout使うか、QVBoxLayoutにQHBoxLayout入れるかだなぁ。
404デフォルトの名無しさん:2010/10/09(土) 13:46:49
QDockWidget以外で、左右(上下)のWidgetの比率をマウスで変更するにはどうしたらいいの?
405デフォルトの名無しさん:2010/10/09(土) 14:26:30
>>404
QSplitterかイベントハンドリングで。
406デフォルトの名無しさん:2010/10/09(土) 18:46:17
boost使っていますか?
qtからc++を始めたので、全く使っていません
407デフォルトの名無しさん:2010/10/09(土) 18:49:55
でもQtで置き換えられるのはSTLじゃないかね
408デフォルトの名無しさん:2010/10/09(土) 18:57:11
>>406
使っていますよ、bindがQtConcurrentで使えたりします。
409デフォルトの名無しさん:2010/10/09(土) 19:32:31
>>407
的外れだね。
410406:2010/10/09(土) 20:04:56
>>407-409
thx
411デフォルトの名無しさん:2010/10/09(土) 21:35:21
boost も STL も被るところが無いとは言わんが基本違うでしょ
Qt 使ってても vector とか普通に使うし、良い乱数欲しければ boost も
使うし FFT したければ fftw3 も使う
412デフォルトの名無しさん:2010/10/11(月) 16:39:35
macだとcocoa=objective-cのイメージがあります
なぜ、qtはc++でcocoaを使えているんですか?
413デフォルトの名無しさん:2010/10/11(月) 19:05:51
qt で windows mobile アプリ作りたいんだけど、
Linux から、出来ますか?

ttp://qt.nokia.com/products-jp/platforms/qt-for-windows-ce/
ここのページ見ると、
windows 上で、qtcreator + mingw か、vc の環境を使えば
出来るみたいなんだけど。

Linux上でやりたい。
414デフォルトの名無しさん:2010/10/11(月) 20:21:22
>>412
Objective-Cで実装されてるよ。
ttp://qt.gitorious.org/qt/qt/trees/4.7/src/gui/kernel
415412:2010/10/11(月) 20:28:51
>>414
thx
416デフォルトの名無しさん:2010/10/11(月) 21:51:05
>>414
Objective-C++じゃない?
417デフォルトの名無しさん:2010/10/11(月) 23:17:12
Q_ASSERマクロは何をするんですか?
エラーメッセージは出すみたいなんですが、
ソフト自体は落とさないんですか
418デフォルトの名無しさん:2010/10/12(火) 03:05:32
>>417
qglobal.h。
419デフォルトの名無しさん:2010/10/13(水) 23:11:53
qt creatorの外部エディタにgvimを使っている人いますか?
420デフォルトの名無しさん:2010/10/13(水) 23:48:26
ごめん、Qtそのものとは関係ないんだけど、

http://www.off-soft.net/ja/develop/qt/qt3.html

の記事の、ページ2、と3ってみんな見れる?
どうやってもページ1にしか行けないの、俺だけ?
421デフォルトの名無しさん:2010/10/13(水) 23:55:54
mod_rewriteかなんかの設定ミスってるな。
ありがちなURLということで勘でやってみたらいけたよw
http://www.off-soft.net/ja/develop/qt/qt3.html?page=2
422デフォルトの名無しさん:2010/10/14(木) 01:30:28
GJ!!!
423デフォルトの名無しさん:2010/10/14(木) 03:46:15
( ゚∀゚)o彡°Qt!Qt!MacでQtはじめてみますた。

さっそくですが質問です。
QtでOpenGL使うならこれだけは読んどけ!みたいな文献(書籍,Web問わず)がありましたら教えていただけないでしょうか。
日本語か英語だとありがたいです。
424デフォルトの名無しさん:2010/10/14(木) 04:05:24
>>421
うおー、ありがとう
425デフォルトの名無しさん:2010/10/14(木) 10:55:40
>>423
ttp://doc.trolltech.com/4.7/qglwidget.html
ttp://doc.trolltech.com/4.7/opengl-hellogl.html

あとQGLWidget OpenGLとかで検索するとそこそこ出た
426デフォルトの名無しさん:2010/10/14(木) 20:51:09
VS 2008でコンパイルした自作ライブラリをQt Creatorで使おうとしたら

mainwindow.obj:: error: 未解決の外部シンボル "void __cdecl Msg(unsigned short const *)" (?Msg@@YAXPBG@Z) が関数 "private: void __thiscall MainWindow::on_pushButton_clicked(void)" (?on_pushButton_clicked@MainWindow@@AAEXXZ) で参照されました。

というエラーがでる
ボスケテ!

作ったライブラリはこれ http://cid-c9ae0c9375e8968b.office.live.com/self.aspx/.Public/01.7z ただMessgaeBoxをラップしただけ
もちろん.proにはINCLUDEPATH、LIBPATH、LIBS +=とかは追加してます
427デフォルトの名無しさん:2010/10/14(木) 23:49:45
>>420 なおったね。
お問い合わせしといた。
428デフォルトの名無しさん:2010/10/15(金) 01:22:30
>>425
こんな早くレスがつくとは...>>425はきっとイケメン。
情報元とGoogle先生にお伺いたてながら色々やってみます、情報ありがとでしたー。
429デフォルトの名無しさん:2010/10/15(金) 15:04:13
いままで GNU gettext のi18n しかやったことないのですが
Qtのi18nの仕組みを使っても、同じような感覚で使えますか?
poファイルじゃないんだろうなあ・・・
430デフォルトの名無しさん:2010/10/15(金) 15:15:36
>>429
基本的にはXLIFFだけど、Qt4.5からGNU gettext po 形式も使えるよ
431デフォルトの名無しさん:2010/10/15(金) 15:29:27
QtのtsファイルはXMLだけど独自形式。
lconvertコマンドでgettextやxliffから変換できる。
432デフォルトの名無しさん:2010/10/15(金) 16:05:19
>>430
基本はts。XLIFFでは漏れがあって翻訳ツールに渡すには使い方にこつがいる。
433デフォルトの名無しさん:2010/10/15(金) 22:01:17
QtでGUIアプリ作るのに最低限のC++の勉強できるサイトかなんかを
どなたか教えてくださいませませ
434デフォルトの名無しさん:2010/10/15(金) 22:02:59
最低限、一通りC言語を勉強した方が良いと思う
435デフォルトの名無しさん:2010/10/15(金) 22:28:00
CからC++は入りにくいと思う
クラスの理解が大変だった
436デフォルトの名無しさん:2010/10/15(金) 22:30:49
それはCの理解が不十分だったからだよ
437デフォルトの名無しさん:2010/10/15(金) 22:35:25
>>436
その理屈はおかしい
438デフォルトの名無しさん:2010/10/15(金) 22:43:38
>>433
どのような経験があるかで全然変わって来る
プログラミング経験があるかどうか、あるならどんな言語か?

プログラミングしたこと無いならサイトで勉強しても「いそがば回れ」みたい
な事態になりかねないよ。最低限この程度読まないと。

これならわかるC++ CD-ROM付 (ブルーバックス) 小林 健一郎

もっと厚い本や詳しい本もあるだろうが、挫折する可能性大かも
「やさしい…」シリーズはやさしいかも知れないが内容があまりにも薄くて
実用にならんので俺は勧めない

QtでC++始めるのもありかも知れんが個人的には混乱しそうに思う
そういうサイトもあるからそういうの見てわかるならそれでも良いかも

439デフォルトの名無しさん:2010/10/15(金) 22:44:45
むしろQtのサンプルを参考にQtアプリを作りながらC++を理解するで良いと思うんだ
440デフォルトの名無しさん:2010/10/15(金) 22:51:19
>>439
Qt のサンプルって本家のか?質は悪くないがC++知らない人に勧めるのは無理があると思うぞ。

We assume that you already know C++ …

と書いてあるし、C++知らなければC++がわからないかQtがわからないのか判別もできない
441デフォルトの名無しさん:2010/10/15(金) 23:10:10
>> 433
やる気が充分にあれば、C++のサイトはどれも必要ないよ。
442デフォルトの名無しさん:2010/10/15(金) 23:11:58
その理屈はおかしい
443デフォルトの名無しさん:2010/10/15(金) 23:25:55
>>438
オライリーの本、Pearlは最初のほうで、Pythonはクラスに入る前くらいで投げマンコ
444デフォルトの名無しさん:2010/10/15(金) 23:31:44
楽になるからライブラリ使うってスタンスの人なら、遠回りしたくない罠。
ソース呼んだり試したりするのが好きな人はするし。
445デフォルトの名無しさん:2010/10/16(土) 00:28:32
>>443
良し悪し抜きにしてラクダ本だとすると癖があるし、Python も癖強いから
それに挫折したから挫折するとは限らない

気を取り直してとりあえず頑張ってみると良いと思う
とにかく簡単なコードを書き続けることが大事
書かなければ書けるようにはならない
446デフォルトの名無しさん:2010/10/16(土) 00:37:25
簡単なコードは一回書くともう書く必要なくなるんだよなあ・・・そのためのプログラムだし
みんな書いては捨て書いては捨てするのかなやっぱり
447デフォルトの名無しさん:2010/10/16(土) 00:47:59
複雑なものほど一回書くともう書く必要なくなるように工夫するもんだが
448デフォルトの名無しさん:2010/10/16(土) 01:52:21
一年経つと拙すぎて書き直すよ
449426:2010/10/16(土) 03:03:49
ダイナミックで解決した
450デフォルトの名無しさん:2010/10/16(土) 17:02:19
あれ?
Qt関係ないんですけど、このスレってもしかしてsage進行推奨ですか?
451デフォルトの名無しさん:2010/10/16(土) 20:48:53
>>442
やる気があれば、C++サイトなんか見ないでもやれるということだ。

>>450
調べもせずにぬるいことを聞いたり、LGPLでただで使えるという貧乏人が多くなったからだよ。
452デフォルトの名無しさん:2010/10/16(土) 20:52:24
いや、本かWebサイトのどっちかは必要だろ
エスパーかよ
453デフォルトの名無しさん:2010/10/16(土) 20:59:01
eclpse 3.5.1
cdt 6.02
qt eclipse integration 1.5.3
qt 4.6.2
linux
qt intergrationが上手く動かないのですが、何か問題がありますか?
454デフォルトの名無しさん:2010/10/16(土) 21:13:27
>>452
それが真の天才C++プログラマw

そんなやついねーよな
455デフォルトの名無しさん:2010/10/16(土) 21:39:13
>>452
Webサイトは駄目だと。やるなら本を読むことだ。

>>454
演奏家と同じでトップレベルはとんでもない天才がいる。
ほとんどのプログラマーは、場末の演奏家程度にもなれない。

456デフォルトの名無しさん:2010/10/16(土) 21:45:15
『本を読め』で済むのに、『必要ない』とか『見ないでもやれる』とか性格ねじ曲がってんな
457デフォルトの名無しさん:2010/10/16(土) 22:24:41
>>455
とんでもない天才でも読まなきゃC++は出来ないだろう。
適当な嘘つくなよ。
458デフォルトの名無しさん:2010/10/16(土) 22:48:17
このスレ的外れなレスしてどや顔する奴が1人居座ってんだよな
本人は鋭い指摘をしてるとでも思ってるんだろうか
459デフォルトの名無しさん:2010/10/16(土) 23:02:06
>>458
例えばだれだ
460デフォルトの名無しさん:2010/10/16(土) 23:49:44
オレオレ
461デフォルトの名無しさん:2010/10/17(日) 00:40:47
批判するなら論理的にやらないとね
ほのめかすだけして勝った気でいるヤツが一番滑稽
462デフォルトの名無しさん:2010/10/17(日) 02:48:14
少なくとも俺の知ってる奴で天才はいない
いたら有名になってるはず
463デフォルトの名無しさん:2010/10/17(日) 02:51:38
ホントにそんな天才なら新しく俺言語作っててC++には来ないだろうな。
Linus TorvaldsでもC言語だし。
464デフォルトの名無しさん:2010/10/17(日) 03:18:37
I hate C++ と言い切ったひとなら知ってる
465デフォルトの名無しさん:2010/10/17(日) 03:24:59
>>464
C++についてLinus Torvaldsへの反論 - taro-nishino の日記
http://slashdot.jp/~taro-nishino/journal/501622

長いwww
466デフォルトの名無しさん:2010/10/17(日) 03:51:55
クラス機能以外はC++はいらない
まじで論理性が身につかなくなる

てかハード寄りの人にとって、C++の抽象化はハードの性質と何の関係もないところにあるから邪魔なだけ
467デフォルトの名無しさん:2010/10/17(日) 05:28:01
なんですか、この流れ(;´∀`)
468デフォルトの名無しさん:2010/10/17(日) 07:25:55
>>466
でも、ジェネリックプログラミングを理解してないマって、ぶっちゃけ知能が足りないよね(´・ω・`)
469デフォルトの名無しさん:2010/10/17(日) 09:17:03
>>457
コンパイラを逆アセンブルしたら何か分かるんじゃね?
470デフォルトの名無しさん:2010/10/17(日) 11:15:27
>>454-469
オマエラ違うスレ
471デフォルトの名無しさん:2010/10/17(日) 11:28:24
>>468
Javaの悪口はそこまでだ
472デフォルトの名無しさん:2010/10/17(日) 11:43:56
…うん、Javaチュートリアル読んだけど全然ジェネリックの意味が分からなかったわ…。
あれ、ジェネリックの事あらかじめ分かってないとちんぷんかんぷんだよね。
<T>っていきなり書かれても何の事だかさっぱりだったわ。
C++プライマーでやっと理解出来た。
473433:2010/10/17(日) 21:37:16
結論どころか、良さそうなサイトの例すら出てないのね…
使えねーお前らバーカバーカ
474デフォルトの名無しさん:2010/10/17(日) 23:20:34
>>473
推薦図書スレお勧めのロベールでも読めばいいんでないの?
http://www.amazon.co.jp/ロベールのC-入門講座-ロベール/dp/4839926050
web版もあるっぽいでよ
http://www7b.biglobe.ne.jp/robe/cpphtml/
475デフォルトの名無しさん:2010/10/17(日) 23:36:40
>>473はツンデレ
476デフォルトの名無しさん:2010/10/18(月) 01:08:05
>>474
褒めて遣わすマジサンクス!
>>475
(///
477デフォルトの名無しさん:2010/10/18(月) 01:45:00
>>473
C++知らない人間がいきなり web だけでできるようにって無理がある
というのがわからんのかなぁ
天才じゃなければ実質的に本を読まなきゃ無理だよ
web は感じ掴んでる人が情報探すには便利だけど

433 本人ならどうしようもない人間としか言いようがないな
478デフォルトの名無しさん:2010/10/18(月) 02:52:40
新人類かもしれんから、そこら辺には突っ込まないよ、俺は。
俺は本の方が理解が進む人間っぽいけどさ。
479デフォルトの名無しさん:2010/10/18(月) 03:00:22
いや、本のほうがいいのはわかってる。だからオライリーの本だらだら読んでたんだしさ。
C++ならメジャーだし、PCだけで出来るから、Qtやる程度に丁度いいのあればと思って聞いただけ。

てか、新人類っていつの時代の人間だよww
480デフォルトの名無しさん:2010/10/18(月) 03:22:08
いいから入門本としてプライマーかロベール読めよオラぁ
481デフォルトの名無しさん:2010/10/18(月) 20:06:51
プライマー3版は鈍器すぎる...
482デフォルトの名無しさん:2010/10/19(火) 13:25:13
Phononを利用してMP3などにエンコードされたファイルをPCM形式のWAVファイルに変換することはできますか?
483デフォルトの名無しさん:2010/10/19(火) 22:16:21
Phonon には、エンコーダーないからできない。
WAV は、ベタだから、自分で書き出すというのなら、AudioOutputDevice 書けばできるだろうが、
そんな面倒なことはしないで、普通にffmpeg とか使えばいいんじゃないか。
484デフォルトの名無しさん:2010/10/21(木) 14:51:06
Qt Conference - Tokyo 2010ってUSTREAMとかで放送してくれないかな
485デフォルトの名無しさん:2010/10/21(木) 22:32:34
qobject_castってdynamic_castより型のチェックが厳しいんだね
486デフォルトの名無しさん:2010/10/21(木) 22:48:49
MainWindow* Application::createMainWindow()
{
MainWindow *w = new MainWindow();
return w;
}

int main(int argc, char *argv[])
{
Application a(argc, argv);
MainWindow *m = a.createMainWindow();
m->show();
return a.exec();
}

こんな、コードを書いた場合でもMainWindowの、デストラクタが呼び出されるのは何故ですか?
487デフォルトの名無しさん:2010/10/21(木) 23:38:46
QObjectのおかげ。
488デフォルトの名無しさん:2010/10/22(金) 09:39:24
>>485
よろしければ詳しくお願いします。そういう場面に出会ったことがないもので...
489485:2010/10/23(土) 10:45:02
>>488
ごめん、気のせいだった
490デフォルトの名無しさん:2010/10/24(日) 14:49:42
QTabWidgetとQTabBarって何が違うんですか?
491デフォルトの名無しさん:2010/10/24(日) 16:19:28
>>490
ためしにQTabBarつくってshowしてみたらわかる。
492490:2010/10/24(日) 19:11:36
>>491
QtabBarは何も表示されないね

ちょっとリファレンスがを読んでみたけど、
QTabBarは本当にツールバーだけ、QTabBarはそれ以外も表示するみたいね
493デフォルトの名無しさん:2010/10/24(日) 20:28:52
QObjectってスマポと同じこともやってくれるんですか?
494デフォルトの名無しさん:2010/10/24(日) 22:41:13
>QTabBarは本当にツールバーだけ、QTabBarはそれ以外も表示するみたいね

イミフ
495デフォルトの名無しさん:2010/10/24(日) 22:53:01
qpointerって何使うんですか?
496デフォルトの名無しさん:2010/10/24(日) 23:23:55
>>495
すまぽ
497デフォルトの名無しさん:2010/10/25(月) 01:22:11
>>494
まさにそうなんだよ。

QTabWidgetは、タブバーがあって、その下に(向きは設定で変えられたかもしれんが)ウィジェットがある。
QTabBarは、そのタブバーの部分だけ。

>>493
うん。自動解放とかやってくれる。
498デフォルトの名無しさん:2010/10/25(月) 01:51:52
>>497
ばーか
499デフォルトの名無しさん:2010/10/25(月) 02:56:12
>>498
まさにそうなんだよ。
500495:2010/10/25(月) 23:06:50
>>496-497
レスありがとうございます

qpointerはquto_ptrということでOKなのでしょうか?
501デフォルトの名無しさん:2010/10/25(月) 23:07:45
>>498
人を馬鹿にするくらいなら、>>499が納得できるように説明すればいいだけ
502497:2010/10/26(火) 02:53:17
>>501
>>499は納得したみたいだぞ(´・ω・`)
503デフォルトの名無しさん:2010/10/26(火) 16:24:40
>>501
まさにそうなんだよ。
504デフォルトの名無しさん:2010/10/27(水) 00:18:51
QtCore4.dllとQtGUI4.dllでサイズが10MB超えるのってどうにもならない?
全部の機能は使わないだろうから、小さく出来るなら小さくしたいのだが
505デフォルトの名無しさん:2010/10/27(水) 00:49:24
Qt 4.6.3.
OS Linux

QWidgetだとレイアウト突っ込んだら整列されるのに
QMainWindowにレイアウトつっこんでも整列されねぇ。
なにこれ、そういうもんなの?
ちなみにヘッダーは qmainwindow.h
C++タイプの.h省いたヘッダーと、.h付きの違いが解らん。
Qt4とQt4の違い?
506デフォルトの名無しさん:2010/10/27(水) 00:57:02
Qt Creatorで適当なところにブレークポイントを置いてその時点でのローカル変数の内容をデバッグ窓からお手軽に見たいと思ったとき
ブレークしてから変数の内容を表示するまでに40秒くらいかかってしまうのですがこれは我慢するしかないですか?
507デフォルトの名無しさん:2010/10/27(水) 01:02:03
>>505
馬鹿には無理
508505:2010/10/27(水) 01:05:05
>>507
たしかにバカだな・・・。
509デフォルトの名無しさん:2010/10/27(水) 01:05:05
QTを使っていて、二つの絶対パスから相対パスを作りたいんだけど、おすすめの方法を教えてください。

510デフォルトの名無しさん:2010/10/27(水) 02:26:12
>>505
$ cat /usr/include/QtGui/QMainWindow
#include "qmainwindow.h"
だから、どっちでも一緒だけど、わざわざこんなファイル作ってるんだからQMainWindow使ってあげて。

> QWidgetだとレイアウト突っ込んだら整列されるのに
> QMainWindowにレイアウトつっこんでも整列されねぇ。
> なにこれ、そういうもんなの?
よくわからん。QMainWindowでもちゃんとできると思うが。
511デフォルトの名無しさん:2010/10/27(水) 05:46:05
>>509
QDir::relativeFilePath
512デフォルトの名無しさん:2010/10/27(水) 07:50:21
>>505
QMainWindowのcentralWidgetにつっこみなはれ
513デフォルトの名無しさん:2010/10/27(水) 09:47:08
>>506
基本的には速いマシン使うしかない。
ただ,Qt Creatorが2.0系統になったところでかなり改善された気がする。
514デフォルトの名無しさん:2010/10/27(水) 11:53:16
おいらもイケメンって褒め讃えられたいので、おいらにも答えられる質問ぷりーず
515デフォルトの名無しさん:2010/10/27(水) 11:57:55
>>514
そんなことしなくても君はイケメンだよ
516デフォルトの名無しさん:2010/10/27(水) 19:30:12
QPointerってQObjectのサブクラスじゃないとダメなのね
QPointer p = new QObject;
ってするて型は何になるの?
517デフォルトの名無しさん:2010/10/27(水) 19:40:30
>>510
>>512

ありがとうございます。
518デフォルトの名無しさん:2010/10/27(水) 21:53:21
>>516
スレ違い
519デフォルトの名無しさん:2010/10/27(水) 22:11:37
QGraphicsLineItem じゃなくて、QGraphicsRectItem や QGraphicsEllipseItem だとうまくいくのに、
QGraphicsScene に QGraphicsLineItem オブジェクトを配置した場合、
QGraphicsItem * QGraphicsScene::itemAt(QPointF&, const QTransform &) でそれが取得できないのは何故?

線分にマッチするには何か特殊なおまじないが必要なんでしょうか?
教えて>イケメンの人
520516:2010/10/27(水) 22:39:36
>>518
QPointer以外にこういった使い方をするクラスを見たことがないんだよ
教えてよ
521504:2010/10/27(水) 22:45:27
付属のツールqconfigで機能の有効・無効を細かく指定できるみたい
それでもまだDLLがでかくなるならUPX使ってみるか・・・
522デフォルトの名無しさん:2010/10/27(水) 22:56:00
もし一般公開する場合、UPX使うとウイルス誤爆が増えて
ユーザにあいつウイルスばらまいてるって中傷受ける羽目になるからやめといたほうがいいぞ
523デフォルトの名無しさん:2010/10/28(木) 01:33:16
>>511
ありがとうございます。助かりました。
524デフォルトの名無しさん:2010/10/28(木) 06:56:26
IT業界のイケメンが集うスレはここですか^^
525デフォルトの名無しさん:2010/10/28(木) 13:18:30
テキストファイルからQStringListに行単位で一気に読み込もうとして以下のように書いたんだけど
うまく行かない。

QStringList list;
QFile file("./hoge.txt");
file.open(QIODevice::ReadOnly);
QDataStream stream(&file);
stream >> list;
file.close();

大域関数として定義された演算子として,

QDataStream & operator>> (QDataStream & in, QStringList & list);

ってのがあったのでうまく行くかと思ったんだけど...
何が悪いのでしょう?
526525:2010/10/28(木) 14:58:57
自己レス。
結局,以下のようなコードでできた。

QStringList list;
QFile file("./hoge.txt");
file.open(QIODevice::ReadOnly);
QString str = QString::fromLocal8Bit(file.readAll());
list = str.split("\r\n");
file.close();

>>525 の下の方に書いた演算子>>の使い方は結局わからないけど,
まぁいいか。
527デフォルトの名無しさん:2010/10/28(木) 15:37:31
>>526
とりあえず解決おめ

うまく行かないコードの場合、そこにブレークポイントかけて
Qt ソースの中までステップ実行すると、何が悪いのかわかる場合があるよ
528デフォルトの名無しさん:2010/10/28(木) 15:40:55
>>525
逆をやってみるといい
listに適当な文字列のlistを入れて stream << list; で書き出し

hoge.txtの中身
[list.size()] 4byte
[list.at(0)のバイト数] 4byte
[UTF-16]...

つまり
QDataStream & operator>> ( QDataStream & stream, QStringList & list )
が期待するQDataStream は、この形式で収められたバイト列
529528:2010/10/28(木) 15:51:15
どの形式で収められるかは Reference Documentの
Format of the QDataStream Operators を参照

QFile::open でテキストを開くとき、フラグ に QIODevice::Text を
入れておくと、改行文字を"\n"に統一してくれるので便利
530525:2010/10/28(木) 16:08:31
>>527
どうもです。

> うまく行かないコードの場合、そこにブレークポイントかけて
> Qt ソースの中までステップ実行すると、何が悪いのかわかる場合があるよ

今度謎の現象に出会ったらやってみます。

>>528, >>529
あぁ,そういうことですか。これは可読性のあるテキストファイルに読み書きするのではなくて,
QStringListの中味をシリアライズしてファイルに保存したり再利用するための機能なんですね。
ありがとうございます。
531525:2010/10/28(木) 16:10:20
>>529
> QFile::open でテキストを開くとき、フラグ に QIODevice::Text を
> 入れておくと、改行文字を"\n"に統一してくれるので便利

これは気がついていませんでした。サンクスです。
532デフォルトの名無しさん:2010/10/28(木) 19:10:41
QStringList に一気に読み込む機能はないが、テキスト扱うなら
QTextStream の方がいいんでないの。
533デフォルトの名無しさん:2010/10/28(木) 19:18:08
こんなところか

QStringList list;
QFile file("./hoge.txt");
file.open(QIODevice::ReadOnly|QIODevice::Text);
QTextStream stream(&file);
while(!stream.atEnd()) stream >> list;
file.close();
534デフォルトの名無しさん:2010/10/28(木) 19:20:15
× while(!stream.atEnd()) stream >> list;
○ while(!stream.atEnd()) list << stream.readLine();
535デフォルトの名無しさん:2010/10/28(木) 22:47:07
int main(int argc, char **argv)
{
QCoreApplication a(argc, argv);

QPointer<Target> t(new Target);
return 0;
}

こんなコードを書いてみたんですが、デストラクタが呼ばれないんですけどorz
536デフォルトの名無しさん:2010/10/28(木) 23:43:30
QCoreApplicationだからじゃね
537デフォルトの名無しさん:2010/10/29(金) 00:30:54
>>535
呼ばれないけど、何を期待してるんだ。
QPointer は破棄されるときに保持してるポインタを delete しないぞ。
http://doc.qt.nokia.com/4.7/qpointer.html#dtor.QPointer
538デフォルトの名無しさん:2010/10/29(金) 09:11:10
QSharedPointer使えばいいんじゃね?
539525:2010/10/29(金) 10:24:43
>>532-534
そんなのがあるのか。わかりやすいね。
サンクス。
540504:2010/10/29(金) 10:37:45
コンパイルエラーにならない限り、なるべく多くの機能を削ったら
CoreとGUI合わせて4.45MBになった。
・・・UPXはウイルス対策ソフトのメーカーが誤検出対策してくれていることに期待しよう
541デフォルトの名無しさん:2010/10/29(金) 12:11:28
OpenGL使ったサンプルのBoxesって、GUIの描画もOpenGLでやってる?
ダブルクリックしたら裏返るし、このウィンドウはメインウィンドウの外に出せないし。
542デフォルトの名無しさん:2010/10/29(金) 14:01:32
QTのライブラリにリンクすると使えるメモリ量が減るんですけど何故なんでしょう。
WinXP 32bit環境です。

ttp://gist.github.com/652951
543デフォルトの名無しさん:2010/10/29(金) 21:32:26
>>537-538
thx

消されないのねorz
544デフォルトの名無しさん:2010/10/29(金) 22:08:06
>>538
リファレンスカウントがいらないなら QScopedPointer もあり。
545デフォルトの名無しさん:2010/10/30(土) 18:39:19
QDockWidgetのドックエリアをプログラム側から変更するにはどうすればいいですか?
QMainWindowのremoveDockWidget→addDockWidgetではできませんでした
546デフォルトの名無しさん:2010/10/30(土) 22:14:17
>>545
addDockWidget() で出来る。
removeDockWidget() で一度 hide() されているので、 show() が要るけど。
547デフォルトの名無しさん:2010/10/30(土) 23:24:30
QMainWindowの状態を保存したいのですが、どのようにすればいいですか?
×ボタンを押す→次に起動した時にウインドウサイズetc etc..を復元
548デフォルトの名無しさん:2010/10/30(土) 23:50:23
>>547
ドキュメント読め
saveState() とか restoreState() とかそれっぽいのあるだろ。
549547:2010/10/30(土) 23:53:37
>>548
thx
550デフォルトの名無しさん:2010/10/31(日) 02:11:00
QtにStringWriter/StringReaderに相当するクラスはないのですか?
551180:2010/10/31(日) 02:21:04
>>181
レスありがとうございました。

解決できずしばらく放置してましたが
最近になってこの辺りの記事を見つけました。
http://bugreports.qt.nokia.com/browse/QTBUG-5986
https://trac.macports.org/ticket/26977

ここによると解決策としては configure 時に -no-optimized-qmake をつけること。
./configure -v -no-optimized-qmake -fast -shared -debug-and-release -silent -cocoa -framework -arch x86

これで一応 ./configure が最後まで通ることを確認しました。
その後の make も今の所は順調に進んでいるようです。
552デフォルトの名無しさん:2010/10/31(日) 11:52:15
QString に "M1.2,3.4" の様に 'M' に続けて2つの実数がカンマ区切りで入っているとき、
これらの実数の値を QPointF に取り込むにはどのようにするのがスマートなのでしょうか?

教えてください>イケメンの人
553デフォルトの名無しさん:2010/10/31(日) 13:35:11
// QRegExp を使う方法。
QString str("M 1.2,3,4");
QRegExp rx = new QRegExp("M\s+([0-9\.])+\s*,\s*([0-9\.)+");
if (rx.indexIn(str) != -1) {
point = new QPointF(rx.cap(1).toDouble(), rx.cap(2).toDouble());
}

// QString::split を使う方法
QString str("M 1.2,3,4");
if (str.midRef(0,2)=="M ") {
QStringList strvals = str.mid(2).split(",");
point = new QPointF(strvals[0].toDouble(), strvals[1].toDouble());
}

動作は確認していない。
554デフォルトの名無しさん:2010/10/31(日) 14:08:20
>>553
わーい、イケメンの人ありがとうございます。

ご教授の方法以外にも、?int ix = indexOf(',') でカンマの位置を取得し、
str.mid(ix).toDouble() で変換する方法も考えました。

他にも、cchar * に変換して sscanf を使うってのも考えられます。

で、どれが一番いいんでしょうか?>教えてイケメンのカコイイ人
555デフォルトの名無しさん:2010/10/31(日) 17:28:29
>>554
好みの問題だと思うけど、わざわざsscanf使うメリットは見えないかなぁ。
556550:2010/10/31(日) 17:31:46
自己解決した
557デフォルトの名無しさん:2010/10/31(日) 17:44:41
qDebug()ってリリースビルドしても、メッセージが出力されるんだね
ダメじゃん
558デフォルトの名無しさん:2010/10/31(日) 18:25:21
>>554
Qt に限った話じゃないけど、C++ って自由度がありすぎて、どの方法が
最適なのかわからず悩んでしまう場合が多い

> 好みの問題だと思うけど
まだ、Qt 使い始めたばかりで自分の好みがはっきり決まってないんだよねー

とりあえず、分かりやすくて、処理速度が速いってのを基準にすることにするよ
559デフォルトの名無しさん:2010/10/31(日) 19:31:51
正規表現は好き嫌い分かれると思うけどなぁ。
エラーチェックのしやすさ(入力が適切じゃなくても、落ちない変にならない)も考慮に入れた方がいい。
560デフォルトの名無しさん:2010/10/31(日) 19:47:46
>main.o:/usr/include/qt4/QtXml/qxml.h:376: more undefined references to `vtable for QXmlDefaultHandler' follow
>ファイルが見つかりませんでした: main.o: /usr/include/qt4/QtXml/qxml.h
こんなメッセージが出て怒られます 何ですかこれ?

QMainWindowをインクルードする時は#include <QMainWindow>でいいのですが、
xmlモジュールは#include <QtXml/QtXml>と書かないと怒られます
help me
561560:2010/10/31(日) 20:20:17
解決してしまった
スマソ
562デフォルトの名無しさん:2010/10/31(日) 21:17:13
>>561
解決したら方法も書いてほっしいな
563560:2010/10/31(日) 21:33:34
>>562
*.proにQT += xmlを入れただけ
プロジェクトを作るときに、「空のQt4プロジェクト」を選んだから気がつかなかった
564デフォルトの名無しさん:2010/10/31(日) 21:37:55
GJ!
565デフォルトの名無しさん:2010/10/31(日) 23:08:53
>>557
だよね
566デフォルトの名無しさん:2010/10/31(日) 23:15:36
http://www.off-soft.net/ja/develop/qt/qt3.html
ここに qDebug() qWarn() とコンパイルオプションの関係書いてあるけど事実と違うよね
567デフォルトの名無しさん:2010/11/01(月) 17:49:36
qDebug()って具体的にはどんなものに出力してるんですか?
マクロなり作ってリリース時には消えるようにするべき?
568デフォルトの名無しさん:2010/11/01(月) 18:07:12
自分で#ifdefとかの分岐で消すの?
そんなあほなことしなくていいのに
569デフォルトの名無しさん:2010/11/01(月) 18:22:08
>This function does nothing if QT_NO_DEBUG_OUTPUT was defined during compilation.
とあるから#include <QtGloball>する前に#define QT_NO_DEBUG_OUTPUTとかすればいいんじゃないでしょうか
570デフォルトの名無しさん:2010/11/01(月) 18:27:07
いちいちソースに書くのか?
571デフォルトの名無しさん:2010/11/01(月) 18:31:23
いや別にコンパイラオプションで指定してもいいけど
572デフォルトの名無しさん:2010/11/01(月) 20:13:08
pro に
DEFINES += QT_NO_DEBUG_OUTPUT
を追加すればいいはず。
573デフォルトの名無しさん:2010/11/01(月) 21:21:47
>>572
本当だデバッグプリントが出ない

qDebugってあんまり便利じゃないよね
574デフォルトの名無しさん:2010/11/02(火) 01:05:52
そうね
575デフォルトの名無しさん:2010/11/02(火) 22:59:06
QMap::insert/QMap::insertMultiの違いは何?
置き換えるか、新しく作るかみたいな事は書いてあるのはわかるんだけどさ..
576デフォルトの名無しさん:2010/11/02(火) 23:14:40
>>573
handlerいじって出荷版でもアプリログに利用させてもらってるから
私としては便利だな
thread safeじゃないから、その点は注意が必要
577デフォルトの名無しさん:2010/11/02(火) 23:40:21
>>575
QMapの説明のとこに書いてある。
578デフォルトの名無しさん:2010/11/03(水) 19:22:42
QXmlStreamWriter/QXmlStreamReaderってセットなのね
QDomDocumentとかとは関係ないの?
579デフォルトの名無しさん:2010/11/03(水) 22:01:51
>>578
QXmlStreamWriter/QXmlStreamReader は QtCore
QDomDocument は QtXml
というわけで、関係ない。
580578:2010/11/03(水) 22:03:13
>>579
解りやすい説明ありがとうございました
581デフォルトの名無しさん:2010/11/04(木) 01:14:55
自作ライブラリってどう読み込ませるの?

VS2008で作った自作ライブラリを
Qtアプリで組み込もうとすると未解決シンボルがでる
もちろん LIBS += ライブラリ名.lib は追加してある

自作ライブラリはWin32アプリ(VS2008)では普通に読み込める
582デフォルトの名無しさん:2010/11/04(木) 01:22:35
libライブラリ名.a にするんじゃなかったかな
583デフォルトの名無しさん:2010/11/04(木) 10:29:40
>>582
それはUnix系の場合で、Windowsならライブラリ名.lib
(とsharedの場合はライブラリ名.dll)

>>581
LIBS += -L(ライブラリのパス) -l(ライブラリ名)
でどうかな?
584デフォルトの名無しさん:2010/11/04(木) 12:24:51
>>581

win32:LIBS += MyChinpo.lib
win32:QMAKE_LFLAGS += /LIBPATH:C:/Path/To/MyTChinpo/

とかかね?環境変数LIBに自作ライブラリのパス通して
リンクが通るなら、link.exeに/LIBPATH渡せばいけると思う。
585デフォルトの名無しさん:2010/11/04(木) 12:42:34
>>581
リンクの失敗じゃなくてマングリングに失敗してるとか?
586デフォルトの名無しさん:2010/11/04(木) 18:26:10
>>583
>>584
ダメでした
>>585
マングリング?よくわからないが解決方法は?
ちなみにコンパイルは全部VS2008で統一されてるはず

誰か簡単なライブラリうpしてくれないか?プロジェクト込みで
それ参考にしてみたい、環境はwindowsで
587デフォルトの名無しさん:2010/11/04(木) 18:30:30
ランタイムのマルチスレッドやDLLの使用等がQtと自作ライブラリで異なっているんだろう
588581:2010/11/04(木) 18:39:58
>ランタイムのマルチスレッド
両方 /MTd です

>DLLの使用
"MFCの使用"と"ATLの使用"のことか
それは"標準Windows"と"ATLを使用しない"を同じく設定してあるぜ
589デフォルトの名無しさん:2010/11/04(木) 18:42:50
>>588
じゃあ、未解決シンボルの一部を貼ってみてよ
590581:2010/11/04(木) 18:48:23
>未解決シンボルの一部を貼
エラーメッセージのことか?

error LNK2019: 未解決の外部シンボル "void __cdecl Msg(unsigned short const *)" (?Msg@@YAXPBG@Z) が関数 "private: void __thiscall MyClass::on_pushButton_clicked(void)"
(?on_pushButton_clicked@MyClass@@AAEXXZ) で参照されました。
591581:2010/11/04(木) 18:57:28
言語の設定いじったら通った

ー完ー
592デフォルトの名無しさん:2010/11/05(金) 09:01:53
Qtやろうかと思ったがVC++入れたくない
なんなの!MinGWと見て分かるくらい実行速度に差があるとかなんなの!
わいとQtには縁がなかったんや・・・
593デフォルトの名無しさん:2010/11/05(金) 09:11:24
>>592
MS SDKでもおkなんだけど,それでもダメ?

> なんなの!MinGWと見て分かるくらい実行速度に差があるとかなんなの!
> わいとQtには縁がなかったんや・・・

杉田さんが書いたヤツだね。
QtのGUIに関してはそうなのかも知れないけど,例えばSTLのコンテナの速度なんかは
ベンチマークやってみたらVC++よりMinGWの方がかなり速かった。
ベンチマークとは言っても,ある特定の処理をやるプログラムでの話なので公表は
できないんだけど。

どっちもどっちとも言えるんじゃないかな。
594デフォルトの名無しさん:2010/11/05(金) 11:38:30
>>592
どうせなら Borland C++ Builder とか Intel C++ Compiler とかで茨の道を進もうぜ
実用に耐えるかは知らないけど
595デフォルトの名無しさん:2010/11/05(金) 12:02:34
mingwで桶
しかしdllだけで100MBってなんとかならんかな
596デフォルトの名無しさん:2010/11/05(金) 12:10:29
597デフォルトの名無しさん:2010/11/05(金) 12:20:44
GUIだって明らかに違うってほど検証されてるわけでもないし
MinGWにもいいとこあるんだよってことか。じゃあMinGW入れるべ・・・

>>595
デバッグ用のdll見てるに1万ペリカ
598デフォルトの名無しさん:2010/11/05(金) 14:00:57
俺もmingwのほうが早いんだが
コンパイルオプションとか変えればVCのほうが早くなるの?
599デフォルトの名無しさん:2010/11/06(土) 12:21:12
おい今ちょっとVisualC++2010試してたら
テキストエディターオプションに「BOMなしのUTF-8エンコードを自動検出」ってのがあるんだが・・・
UTF-8だろうがUTF-16だろうが断固としてBOMを認めないgccと
絶対BOM至上主義のVCとの間の冷戦がとうとう終結したのか・・・?
もうUTF-8使っても・・・・いいよね・・・?
600デフォルトの名無しさん:2010/11/06(土) 12:22:50
>>599 2008にもあるぞ
601デフォルトの名無しさん:2010/11/06(土) 12:47:42
自動検出しなくていいからエンコード指定オプション付けてくれよ
602デフォルトの名無しさん:2010/11/06(土) 13:05:38
>>599
エディタの問題じゃなくてコンパイラの問題じゃなかったか?
BOM無しだとUTF-8だと思ってくれない
603デフォルトの名無しさん:2010/11/06(土) 14:15:51
そうなのか・・・ぬか喜びごめん・・・
604デフォルトの名無しさん:2010/11/06(土) 20:16:55
qt creator 2.0ってqt 4.7に依存してる?
605デフォルトの名無しさん:2010/11/06(土) 21:25:22
>>604
してない。俺はQt 4.6.3で使ってるよ。
606604:2010/11/06(土) 21:55:53
>>605
linux使っているんだけど、qt 4.7を要求してくるからさ
macだと4.6でも動くにと思ったから

ありがとうよ
607デフォルトの名無しさん:2010/11/06(土) 22:24:17
>>606
linuxで使ってくるけど別に要求しないぞ
オプションで選択できるだろ
608デフォルトの名無しさん:2010/11/06(土) 22:30:28
使ってるディストロが提供してるqtcreatorがqt-4.7で握ってるんじゃねーの?
609604:2010/11/06(土) 23:36:48
>>608
そうそう、パッケージ管理システムが勝手にqt 4.7を連れてきちゃうの
610デフォルトの名無しさん:2010/11/06(土) 23:44:40
>>609
qt-4.7入れるのが嫌なら古いリポジトリのqt-creator使うか、
それか諦めてqt-4.7にしたら?
qt-4.7にするの、嫌?
611デフォルトの名無しさん:2010/11/06(土) 23:50:52
公式からバイナリアーカイブ落として~以下のどっかに展開して使えばどうか
612デフォルトの名無しさん:2010/11/06(土) 23:56:44
Qt4.6を自前ビルドで入れてるんだろうし、公式からQtCreator落としてビルドすればええんちゃうん。
613609:2010/11/07(日) 00:08:37
>>610
ebuildを使っているので、rpm/debよりもインストール時に問題が発生する確率が高いのさ
614デフォルトの名無しさん:2010/11/07(日) 00:11:19
>>613
なんだお前はgentoo使ってるくせにガタガタ文句抜かしてたのか。
ubuntuでも使ってなさい。
615デフォルトの名無しさん:2010/11/07(日) 00:18:45
gentooなら仕方ないな
qt-creatorを自前ビルドしてlocalまたは適当なディレクトリをprefixに指定してインスコしてパス通すでいいと思う
俺はそうしていた
616デフォルトの名無しさん:2010/11/07(日) 01:14:09
>>614
今それどころじゃないんだって
kdeのせいでシステムがめちゃくちゃになっているんだって
617デフォルトの名無しさん:2010/11/07(日) 01:24:17
>>616
…尚更素直にubuntu使ってなさい、以外の言葉が出ない。

これ以上はこっちにした方が…

Gentoo Linux 30 @ Linux board
http://hibari.2ch.net/test/read.cgi/linux/1270796287/

くだらねえ質問はここに書き込め! Part 187 @ Linux board
http://hibari.2ch.net/test/read.cgi/linux/1288605381/
618デフォルトの名無しさん:2010/11/07(日) 01:30:39
>>617
お前、gentoo使ったことあるのかよ...
619デフォルトの名無しさん:2010/11/07(日) 01:34:25
結局何がしたいのか。
620デフォルトの名無しさん:2010/11/07(日) 01:41:23
>>618
無いよ。
redhat時代からソースパッケージの自ビルドはしてるし、
パッチ取り込みやちょっとした修正は自分でしてるけどね。
ちなみにfedoraのrawhide使っててもデスクトップだけはKDE3のままですぅ…。
だからKDE4の依存関係の問題はちょっとよく分からないかもですぅ…。

で、やりたいのは苦労自慢?だとしたら下らないっすよ。
もっと楽するか、それか苦労するんならLFSレベルで苦労するか、どちらかにしたら?
まぁ楽しいからやってるんだろうけど、その愚痴のこぼし方は間違ってる。
「うはwwwww俺gentoo使うとか変態wwww依存関係ぶっ壊れて超やべぇwwww」
ぐらいにハイな気持ちで何とかしていく位が丁度いいのではないのかな。

とおじさんは思うのであった
とりあえずさっさと移動してくれい。
もうレスを断つよ
621デフォルトの名無しさん:2010/11/07(日) 01:48:55
>>620
お前...
622デフォルトの名無しさん:2010/11/07(日) 13:08:13
QTabBar使いたいんだけどデザイナで使えなかったりTabPositionが無かったりで
QTabWidgetを縮めて使うべき?
623デフォルトの名無しさん:2010/11/07(日) 13:19:02
QTabWidgetで代用できるならそれでいいんじゃない?
俺はQTabWidgetと同等なクラス作って利用してるけど
624デフォルトの名無しさん:2010/11/07(日) 14:58:43
デザイナでは、QWidgetの派生クラスってことにしといたらダメなのかなぁ。
625デフォルトの名無しさん:2010/11/07(日) 20:58:51
Qt使ったらstd::wstringが糞だってことがよくわかったぜ
626デフォルトの名無しさん:2010/11/07(日) 21:13:26
>>625
Qtに限らずほぼなんでもstd::wstringよりは上だと思うぜ。
627デフォルトの名無しさん:2010/11/07(日) 21:32:57
wchar_tの中身くらい仕様で決めればよかったのに
サイズも内部表現も環境依存とかどうしろっていうんだ
628デフォルトの名無しさん:2010/11/07(日) 21:50:42
そもそも char の大きさが環境依存なんだから仕方無い
629デフォルトの名無しさん:2010/11/08(月) 02:52:29
スレ違い
630デフォルトの名無しさん:2010/11/08(月) 22:39:59
*.proのこれって何なんですか?
CONFIG += console
CONFIG -= app_bundle
631デフォルトの名無しさん:2010/11/09(火) 07:48:35
ヘルプの「Qt Reference Documentation」によると

console
The target is a Win32 console application (app only). The proper include paths, compiler flags and libraries will automatically be added to the project.
Win32コンソールアプリ指定



These options only have an effect on Mac OS X:
Mac OS Xだけで有効なオプション
app_bundle
Puts the executable into a bundle (this is the default).
Macは知らんのでよくわからないけどバンドルに実行ファイルを含めるフラグ?
CONFIG -= app_bundle
だからバンドルに実行ファイルを含めない指定ってことかな?
632デフォルトの名無しさん:2010/11/09(火) 07:58:21
× ヘルプの「Qt Reference Documentation」によると
○ ヘルプの「qmake Variable Reference」によると
だった
633デフォルトの名無しさん:2010/11/09(火) 11:22:08
自作したQtアプリにどのDLLを同梱すればよいかを調べる方法はありますか?
QtCoreとかはQtが入っていない環境で実際に起動してみればすぐ分かりますけど、
codecs/qjpcodecs4.dllなんかはエラーにならないので困ってます
634デフォルトの名無しさん:2010/11/09(火) 11:41:30
win限定だけどDependency Walkerとか使えば
635デフォルトの名無しさん:2010/11/09(火) 11:43:34
>>633
ttp://www.dependencywalker.com/

Qtのヘルプでも「Deploying an Application on Windows」の項で紹介してる。
636デフォルトの名無しさん:2010/11/09(火) 12:02:30
コンパイル時にリンク指定した動的ライブラリはDependency Walkerとかlddコマンドとかで分るけど
pluginみたいにQtが実行時に読み込む動的ライブラリって、上記のコマンドで分かるんだっけ?
637デフォルトの名無しさん:2010/11/09(火) 12:21:45
暗黙的リンクされたDLLしかわからんでしょ
LoadLibrary/dlopenで明示的にロード/リンクするタイプのやつはだめ

実行時にプロセスによってロードされてるDLLはProcess Walkerとかで見りゃ分かるけど
それもあくまで現在ロードされているものがわかるだけ
638デフォルトの名無しさん:2010/11/09(火) 12:35:17
>>636
Profile実行するんじゃだめなん?
Linuxなら lsof するとか。
639デフォルトの名無しさん:2010/11/09(火) 12:36:03
QString に入っているテキストの 改行 → <br>、< → < の様に
変換する関数はあるのでしょうか?
640デフォルトの名無しさん:2010/11/09(火) 12:37:29
あれ &lt; って書いたら < に変換されてしまった。

< → (半角の)&lt; に変換です。
641デフォルトの名無しさん:2010/11/09(火) 12:56:33
>>640
QString::replace でどうとでもなりそうな気がするケド?
マニュアルにその手の例が載ってたと思うぞ
642デフォルトの名無しさん:2010/11/09(火) 13:28:44
>>641
イケメンの人、お返事ありがと。

replace でどうにでもなるのは分かってるけど、PHP みたいに
変換する専用の関数があるならそれを使おうと思って、
ヘルプ探しても見つからなかったので、念のためにここで聞いてみたんです。

どうやら無いみたいなので、自分で置換することにします。
643デフォルトの名無しさん:2010/11/09(火) 15:32:20
ある夜
644デフォルトの名無しさん:2010/11/09(火) 16:09:54
>>643
ヒントぷりーず
645デフォルトの名無しさん:2010/11/09(火) 17:28:18
まずマニュアルの見方から勉強しようね
それが終わったら>>641をもう一度見てみるといい
646デフォルトの名無しさん:2010/11/09(火) 19:33:57
>>639
QString Qt::convertFromPlainText( const QString & plain, Qt::WhiteSpaceMode mode = Qt::WhiteSpacePre )
あるいは<br>以外なら
QString Qt::escape( const QString & plain )
あたりがお望みの関数だと思うが、自分で作ったほうがいいかも
647デフォルトの名無しさん:2010/11/09(火) 19:47:50
4.7.1 リリース
648デフォルトの名無しさん:2010/11/09(火) 20:41:09
>>646
おおっ、ありがとうイケメンのお方
649デフォルトの名無しさん:2010/11/09(火) 21:21:13
Qtってdelegateに関するクラスあるんだね
知らんかった
650デフォルトの名無しさん:2010/11/09(火) 22:12:49
機能ごとにソースをディレクトリに分割したいんだけど、
qt creatorではどうやるの?
651デフォルトの名無しさん:2010/11/09(火) 23:40:16
各ディレクトリに入れたソースをプロジェクトに追加していくだけだけど、
何か問題ある?

画面の左の方のプロジェクトの一覧のところで、プロジェクト名を右クリック
して、「新しいファイルを追加」や「既存のファイルを追加」でやればいいだけ。
652デフォルトの名無しさん:2010/11/11(木) 11:04:20
QGraphicsViewにテキストを表示して,バックグラウンド(フォント領域の)をテキストとは
別の色で塗りつぶしてラベルのようにするやり方がわかりません。
QGraphicsViewのバックグラウンドとも別の色で,付箋紙のようにしたいんだけど。

QGraphicsScene* pScene = new QGraphicsScene(0, 0, 200, 300, this);
ui->graphicsView->setScene(pScene);
QGraphicsSimpleTextItem* pItem = pScene->addSimpleText("Test");
pItem->setPos(130, 10);
pItem->setPen(QPen(Qt::green));
pItem->setBrush(QPen(Qt::green));

これで緑色の文字は書かれるんですが,バックグラウンドの色を変える方法がヘルプを
読んでも見つけられませんでした。わかる方,ご教示ください。
653sage:2010/11/11(木) 11:55:02
QGraphicsSimpleTextItem のサブクラスを作って
paint メソッドをオーバーライドして自分で作る
654デフォルトの名無しさん:2010/11/11(木) 12:16:47
QGraphicsRectItemを下に敷くとか
655デフォルトの名無しさん:2010/11/11(木) 12:35:06
>>653, >>654
ありがとう。それらも考えたんだけど,とりあえず自己解決しました。

QGraphicsScene* pScene = new QGraphicsScene(0, 0, 200, 300, this);
ui->graphicsView->setScene(pScene);
QGraphicsSimpleTextItem* pItem = pScene->addSimpleText("Test");
pItem->setPos(130, 10);
pItem->setPen(QPen(Qt::green));
pItem->setBrush(QPen(Qt::green));
QRectF rect = pItem->mapRectToScene(pItem->boundingRect());
pScene->addRect(rect, QPen(Qt::darkblue), QPen(Qt::darkblue));
pItem->setZValue(1.);

出来たけど手数が多いです。もう少しさらっとできると良いんですが。
656デフォルトの名無しさん:2010/11/11(木) 13:09:19
おめ
657デフォルトの名無しさん:2010/11/11(木) 14:08:42
>>655
それだと、テキストアイテム移動したときに背景矩形がいっしょに移動してくれないんじゃないの?

QGraphicsRectItem を作り、QGraphicsSimpleTextItem をその子アイテムにした方がいいのでは?
658655:2010/11/11(木) 15:05:11
>>657
> それだと、テキストアイテム移動したときに背景矩形がいっしょに移動してくれないんじゃないの?

そうですね。まぁ,今回はテキストは描いたら移動しないんでいいんですが,将来自分で参考にするために
勉強だと思って書いてみました。

QGraphicsScene* pScene = new QGraphicsScene(0, 0, 200, 300, this);
ui->graphicsView->setScene(pScene);
QGraphicsSimpleTextItem* pTextItem = new QGraphicsSimpleTextItem("Test");
pTextItem->setPen(QPen(Qt::green));
pTextItem->setBrush(QPen(Qt::green));
QRectF rect = pTextItem->mapRectToScene(pTextItem->boundingRect());
QGraphicsRectItem pRectItem = new QGraphicsRectItem(rect, 0 pScene);
pTextItem->setParentItem(pRectItem);
pRectItem->setPen(QPen(Qt::darkblue));
pRectItem->setBrush(QPen(Qt::darkblue));
pRectItem->setPos(130, 10);

とりあえず動いてますが,これでpTextItemとpRectItemは自動的にdeleteされるんでしょうか?
659デフォルトの名無しさん:2010/11/11(木) 15:33:32
QVariant に QAction * を格納・参照しようとしたらうまく行きませんでした。

QAction *act = actFromSomeWhere();
QVariant v(act); // ← ここでコンパイルエラーになる

無理なのでしょうか?
660655:2010/11/11(木) 15:42:05
>>658
自己レスです。

> とりあえず動いてますが,これでpTextItemとpRectItemは自動的にdeleteされるんでしょうか?

ヘルプのQGraphicsSceneのデストラクタの項を読むと大丈夫なようです。
>>657 さん,ありがとうございました。
661659:2010/11/11(木) 15:46:24
QAction *act = actFromSomeWhere();
QVariant v(128, (void*)act);

とすれば、QVariant に変換できるみたいなのですが、
今度は QVariant を QAction * に戻すのがうまく行きません。

QAction *ptr = qobject_cast<QAction*>(v); ← コンパイルエラーになる

どうしたらいいのでしょうか?>イケメンの人
662デフォルトの名無しさん:2010/11/11(木) 15:52:09
>>659
QVariant::fromValue() とか qVariantFromValue() 使えばできるんじゃないですか?
ヘルプの qVariantFromValue() のところにQObject*をQVariantに入れる例が載ってます。

取り出す方は,QVariant::value(),qVariantValue(),qvariant_cast あたりかな?
やってないので無責任モードです。
663デフォルトの名無しさん:2010/11/11(木) 16:04:07
>>662
アドバイスありがと。

>QVariant::fromValue() とか qVariantFromValue() 使えばできるんじゃないですか?
これらもやってみたような気もするけど、もっかい試してみます。

> 取り出す方は,QVariant::value(),qVariantValue(),qvariant_cast あたりかな?
QVariant::value(),qvariant_cast<T>() は試してみたけどコンパイルエラーに
なりました@VS2008
664662:2010/11/11(木) 16:39:49
>>663
Grepで過去に自分で書いたソースを検索してみたら,qVariantFromValue() と qvariant_cast<T>() の
組み合わせでやってる例がありました。自分で作ったカスタム・ウィジットで使ってるんで,ソースは
そのまま貼りにくいんですが,>>661 の例だと,

QAction *act = actFromSomeWhere();
QVariant v = qVariantFromValue(act);

取り出す方は,

QAction *act = qvariant_cast<QAction*>(v);

じゃダメですか?
665デフォルトの名無しさん:2010/11/11(木) 16:49:41
さんくす>イケメンの662

VS2008 だと

QVariant v = qVariantFromValue(act);

でコンパイルエラーになってしまいます。orz


QAction *act = qvariant_cast<QAction*>(v);

も既に試してみましたが、やはりコンパイルエラーでした。
666662:2010/11/11(木) 17:06:00
>>665
あれ? 私はMS SDK v7.0でやってるんでVS2008相当だと思うんですけど...なんでかな?
私は実際には,QObject::setProperty()の第二引数(QVariant&)にqVariantFromValue()で
QWidgetから派生させたクラスのインスタンスポインタを入れてるんですけど大丈夫です。

どんなコンパイルエラーが出てますか?
667デフォルトの名無しさん:2010/11/11(木) 18:55:34
今一つ話が見えてない横ですが

QVariant v;
QAction* act;


v.setValue(qobject_cast<QObject*>(act));


act = qobject_cast<QAction*>(v.value<QObject*>());

こんなんでできないかな?
668デフォルトの名無しさん:2010/11/11(木) 19:01:06
>>666
QVariant v = qVariantFromValue(action);

で、以下のようなエラーがでます。@VS2008

1>c:\qt\4.7.0\include\qtcore\../../src/corelib/kernel/qmetatype.h(222) : error C2039: 'qt_metatype_id' : 'QMetaTypeId<T>' のメンバではありません。
1> with
1> [
1> T=QAction *
1> ]
1> c:\qt\4.7.0\include\qtcore\../../src/corelib/kernel/qmetatype.h(222): クラス テンプレート のメンバ関数 'int QMetaTypeId2<T>::qt_metatype_id(void)' のコンパイル中
1> with
1> [
1> T=QAction *
1> ]
1> c:\qt\4.7.0\include\qtcore\../../src/corelib/kernel/qmetatype.h(232) : コンパイルされたクラスの テンプレート のインスタンス化 'QMetaTypeId2<T>' の参照を確認してください
1> with
1> [
1> T=QAction *
1> ]
1> c:\qt\4.7.0\include\qtcore\../../src/corelib/kernel/qvariant.h(457) : コンパイルされたクラスの テンプレート のインスタンス化 'int qMetaTypeId<T>(T *)' の参照を確認してください
1> with
1> [
1> T=QAction *
1> ]
1> .\mainwindow.cpp(854) : コンパイルされたクラスの テンプレート のインスタンス化 'QVariant qVariantFromValue<QAction*>(const T &)' の参照を確認してください
1> with
1> [
1> T=QAction *
1> ]
669デフォルトの名無しさん:2010/11/11(木) 19:06:08
>>667
おおっ、それでいけました。
コンパイルエラーもでないし、期待通りに処理されているのを確認しました。

ご教授、どうもありがとうございました。
670デフォルトの名無しさん:2010/11/12(金) 11:30:05
671デフォルトの名無しさん:2010/11/13(土) 20:46:32
マウスボタンを押して、離すまでの間はQGraphicsScene::mouseMoveEvent() がコール
されますが、これをマウスボタンを離している時もコールされるようにするには
どうしたらいいのでしょうか?

QGraphicsItem には grabMouse() というメソッドがありますが、QGraphicsScene
にはそのようなメソッドは無いみたいでした。
672デフォルトの名無しさん:2010/11/13(土) 20:59:30
setMouseTracking() は試した?
673デフォルトの名無しさん:2010/11/13(土) 21:06:45
setMouseTracking() は QWidget のメソッドだけど、
QGraphicsScene は QWidget の派生クラスじゃないので、
コール出来ないです。
674デフォルトの名無しさん:2010/11/13(土) 21:32:42
一応自己解決しました。

ソースを GraphicsSceneMouseMove でgrepすると、イベントオブジェクトを
生成しているのは QGraphicsViewPrivate::mouseMoveEventHandler() だけでした。

なので、 QGraphicsView オブジェクトに対して setMouseTracking(true) を
コールしてあげると、QGraphicsScene::mouseMoveEvent() が常にコールされる
ようです。

これでいいのかな?
675デフォルトの名無しさん:2010/11/14(日) 12:43:08
QSound::play("C:/Users/hoge.wav"); ←再生できる
QSound::play("C:/Users/ほげ.wav"); ←再生できない

日本語のファイルパス使いたいときはどうすればいいの?
676デフォルトの名無しさん:2010/11/14(日) 13:36:44
>>675
文字コード指定はどうなってるの?
677デフォルトの名無しさん:2010/11/14(日) 13:46:12
>>676
ヒントありがとう。↓の追加したら再生できた

#include <QTextCodec>
QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
678デフォルトの名無しさん:2010/11/14(日) 15:00:07
いえいえ、イケメンとして当然のことを言ったまでです。
679デフォルトの名無しさん:2010/11/14(日) 18:25:46
QTreeWdiget w;
w.show();
すると、↓みたい「1」が表示されるんだけど

http://up3.viploader.net/pc/src/vlpc005178.png

これ、どうやったら削除できるの?
680デフォルトの名無しさん:2010/11/14(日) 19:16:40
setHeaderItem();
681デフォルトの名無しさん:2010/11/14(日) 22:18:49
>>680
thx
682デフォルトの名無しさん:2010/11/14(日) 22:45:18
mainwindow.uiってファイルなのに、#includeする時は"ui_mainwindow.h"なのね
これ、#include "mainwindow.ui"にして欲しいな
683デフォルトの名無しさん:2010/11/14(日) 23:02:43
はあ? *.ui ファイルをテキストエディタで開いて見たことある?
684デフォルトの名無しさん:2010/11/14(日) 23:10:19
統合は可能だろうけどincludeするなら *.ui じゃなくて ui_*.h の方だろう
685デフォルトの名無しさん:2010/11/14(日) 23:25:33
しかし、以前よりもqtユーザが増えてきた気がする
このスレの勢いを見ると
686デフォルトの名無しさん:2010/11/15(月) 00:09:09
Windows 版のライセンスが変更されてから Windows ユーザーが増えたみたい。
増えた分のほとんどがWindows ユーザーみたいだし。
ずっと Linux ユーザーの気配が殆どない。
687デフォルトの名無しさん:2010/11/15(月) 01:51:45
includeすら分かってない奴すらGUIプログラミングできる時代なのか。
いい時代になったなぁ。
688デフォルトの名無しさん:2010/11/15(月) 04:12:00
そんな奴に限って作るモチベーションだけはあってあれこれ量産するんだよな・・・
俺は言語勉強しまくったが、気がついたら何も作りたいものがなくなっていた・・・・・・
689デフォルトの名無しさん:2010/11/15(月) 07:24:43
Qtがc++のハードルを下げてる気がするなあ
いい意味でも悪い意味でも
690デフォルトの名無しさん:2010/11/15(月) 07:28:37
いい事じゃないの?
VC++に変わるGUI構築ツールがメジャーになってくる事は。
691デフォルトの名無しさん:2010/11/15(月) 09:49:13
QtがWindows趣味プログラマーのシェアをVisualStudio系から奪っていけば、自然とLinuxで使えるソフトが増えていくからとてもいいこと
692デフォルトの名無しさん:2010/11/15(月) 17:09:08
>>688
なんという俺w
693デフォルトの名無しさん:2010/11/15(月) 17:14:38
いつの間にか4.7.1出てたのね
694デフォルトの名無しさん:2010/11/15(月) 17:16:19
SDKの方上には4.7.1入ってるみたいに書いてあるけど実際は4.7.0だな
695デフォルトの名無しさん:2010/11/15(月) 17:54:53
>>691
よしWin32APIやObjective-Cコードを所々で使っとく!
696デフォルトの名無しさん:2010/11/15(月) 18:48:05
カラー選択をメニューで行いたいのですが、Diagram Scene サンプルの様に
1つのメニューアイテムに1つのカラーを割り当てると、選択できるカラー数が
限られてしまいます。
メニューに複数の色を直接選択できるダイアログの様な Widget を表示して
そこから色を選択可能にすることって可能なのでしょうか?
697デフォルトの名無しさん:2010/11/15(月) 20:14:50
QColorDialogのことかな
698デフォルトの名無しさん:2010/11/15(月) 20:20:59
カラー選択をメニューで行いたいのです
699デフォルトの名無しさん:2010/11/15(月) 20:25:31
メニューでやりたいのかWidgetを表示してやりたいのかはっきりしろ
700デフォルトの名無しさん:2010/11/15(月) 20:26:45
メニューに Widget を表示してそこから色を選択可能にすることって可能なのでしょうか?
701デフォルトの名無しさん:2010/11/15(月) 20:27:34
文盲がいるな
702デフォルトの名無しさん:2010/11/15(月) 20:43:25
QMenuやQMenuBarにQWidgetを追加することはできない
QToolBarにQWidgetを追加することはできる
703696:2010/11/15(月) 21:02:47
たくさんのお返事ありがとう
> QMenuやQMenuBarにQWidgetを追加することはできない
やはり無理なのですね。
無理やりやとうとすれば、QMenu の派生クラスを作って
そこに自分で選択可能な色一覧を表示するのかな・・・

> QToolBarにQWidgetを追加することはできる
えと、それは QToolButton に addWidget すれば
右横に ▼ が表示され、それを押すとその QWidget が表示されるって
ことでしょうか?ちょいと試してみます。
704デフォルトの名無しさん:2010/11/15(月) 21:04:57
試そうとしたら、QToolButton には addWidget できないみたいです。
705デフォルトの名無しさん:2010/11/15(月) 21:44:10
>> QToolBarにQWidgetを追加することはできる
>えと、それは QToolButton に addWidget すれば
>右横に ▼ が表示され、それを押すとその QWidget が表示されるって
>ことでしょうか?ちょいと試してみます。

次からは最初にそういう説明をしましょうね
QToolButtonの右横の▼にはQMenuしかセットできないので、単純にQWidgetを追加することはできません
実現方法としては、QToolButtonに空のQMenuをセットし、QMenuのaboutToShowシグナルが来たらQWidgetをshowします
QWidgetにQt::ToolTipやQt::FramelessWindowHintなどを設定しておけば、QWidgetをメニューの一部のように誤魔化せます
多分これが一番簡単だと思います
706デフォルトの名無しさん:2010/11/15(月) 22:45:41
Qtでシステムのアイコンって取得出来ないの?
707デフォルトの名無しさん:2010/11/15(月) 23:05:07
Qtってwebkitを統合しているけど、webkit全く使えないね
708デフォルトの名無しさん:2010/11/16(火) 00:32:57
Indyとかよりはいいけどね俺は
709デフォルトの名無しさん:2010/11/16(火) 00:44:57
>>706
QIcon icon = QCommonStyle().standardIcon(QStyle::SP_HOGE);
でいける。
710デフォルトの名無しさん:2010/11/16(火) 05:54:55
kakerukana
711デフォルトの名無しさん:2010/11/16(火) 06:15:36
yometayo
712デフォルトの名無しさん:2010/11/16(火) 14:41:20
>>707
そうか?
713デフォルトの名無しさん:2010/11/16(火) 16:54:10
>>707
WebKit のどの辺が使えないの?
714デフォルトの名無しさん:2010/11/16(火) 22:04:28
>>707がwebkitを使えないってことだと思う
715706:2010/11/16(火) 22:20:57
>>709
thx
716デフォルトの名無しさん:2010/11/17(水) 22:45:11
QtDesignerで、ウィジェットを、常にウィンドウ一杯に表示したいのですが
できないです
試しにウィジェットのsizePolicyを[Expanding,Expanding,0,0]にしてみましたが
リサイズしても、サイズはそのままになってしまいます
717デフォルトの名無しさん:2010/11/17(水) 23:28:32
>>716
QLayout系のクラスに収めてないからそうなる。
designer上では親にしたいウィジェット内に子ウィジェットを適当においてから
親ウィジェットを右クリック>レイアウト>〜〜に並べるで目的の動作をすると思うよ。
718デフォルトの名無しさん:2010/11/17(水) 23:55:11
>>717
ちゃんとリサイズされました。
ありがとうございました
719デフォルトの名無しさん:2010/11/18(木) 11:29:01
Ubuntu上で、静止画像(jpg, bmpなど)を全画面表示したいのですが、QTを使えば簡単にできるでしょうか。
幼稚な質問ですいません。
720デフォルトの名無しさん:2010/11/18(木) 11:48:18
方法はいろいろあるけど

#include <QtGui>

int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QPixmap pixmap("image.jpg");
QSplashScreen splash(pixmap);
splash.showFullScreen();
return app.exec();
}
721デフォルトの名無しさん:2010/11/18(木) 23:03:13
qtってstlと一緒に動かしても大丈夫なの?
初歩的な質問スマソ
722デフォルトの名無しさん:2010/11/19(金) 00:12:43
全然問題無いよ
723デフォルトの名無しさん:2010/11/19(金) 02:27:03
Qt(OS: Ubuntu10.10)でSDLを使用しているのですが
http://lazyfoo.net/SDL_tutorials/lesson01/index2.php
この内容のソースファイルと同じ場所に画像ファイルを置いても
実行時に画像が表示されません
"hello.bmp"を"(ファイルのある場所)/hello.bmp"としたり
実行可能ファイルと同じ場所に置くとちゃんと表示されます
こんな面倒な方法でなく何か良い案はないでしょうか?
724デフォルトの名無しさん:2010/11/19(金) 08:32:36
fancybrowser(webkit)でhttpsのアドレスが読み込めない
何か設定が必要なのか,opensslはインスコしてある
725デフォルトの名無しさん:2010/11/19(金) 08:33:29
fancybrowser(webkit)でhttpsのアドレスが読み込めない
何か設定が必要なのか,opensslはインスコしてある
726デフォルトの名無しさん:2010/11/19(金) 08:42:52
大事なことは三回言いましょう
727デフォルトの名無しさん:2010/11/19(金) 20:28:21
>>722
thx
728デフォルトの名無しさん:2010/11/20(土) 19:31:52
レイアウトしたときの余白って消せないの?
微妙にウィンドウいっぱいに広がらないけど
729デフォルトの名無しさん:2010/11/20(土) 20:11:29
っ setContentsMargins()
730デフォルトの名無しさん:2010/11/21(日) 00:13:45
>>707
能力不足で、使えこなせないんだね。
731デフォルトの名無しさん:2010/11/21(日) 00:15:25
>>716
普通能力があれば見つけられるよ。
732デフォルトの名無しさん:2010/11/21(日) 00:19:59
>>723
Qtだから面倒というのでなく、やり方を調べる努力をしないからだよ。
733デフォルトの名無しさん:2010/11/21(日) 00:22:03
>>724
読めるよ。君の能力不足。
734デフォルトの名無しさん:2010/11/21(日) 00:22:53
>>728
消せるよ。そんなのもわからないの。
735デフォルトの名無しさん:2010/11/21(日) 00:26:20
>>706
できるよ。
736デフォルトの名無しさん:2010/11/21(日) 00:30:50
>>719
できるよ。ドキュメント読めば分かる。
737デフォルトの名無しさん:2010/11/21(日) 00:32:31
>>723
できるよ、ドキュメント読めば分かる。
738デフォルトの名無しさん:2010/11/21(日) 00:34:45
>>725
Qt以前にネットワークを分かればいいよ。
739デフォルトの名無しさん:2010/11/21(日) 00:45:45
>>454
いるね。
740デフォルトの名無しさん:2010/11/21(日) 03:34:29
なにこの流れ(AAry
741デフォルトの名無しさん:2010/11/21(日) 04:30:12
>>1-1000
みんなアセンブラからやり直したほうがいいよ
742デフォルトの名無しさん:2010/11/21(日) 09:27:30
ドキュメント嫁って書きたいヤツが一人張り付いてるんだよ。
「...できますか?」った質問に「できます」としか答えないヤツ。
いつもageだし。

あきらかにドキュメント読んでないような質問は別としても、
ドキュメントから探しても見つけられないから聞いてるケースが
多いと思う。ドキュメントは逆引きしにくいからね。

もう少し親切に答えてやってもいいんじゃないか?
それが出来なくて説教たれるくらいなら、黙ってろよ。
743デフォルトの名無しさん:2010/11/21(日) 11:14:11
ドキュメントに無いようなのは国外のフォーラム探すと良いぞ!
このスレには期待できない
744デフォルトの名無しさん:2010/11/21(日) 18:52:10
困ったら何も考えずに日本語と英語でググれば良い。
745デフォルトの名無しさん:2010/11/22(月) 11:22:30
コンテクストメニューとステータスバーもuiファイルで設計できるようにならないかなぁ
そうすればソースがもっと整理出来る
746デフォルトの名無しさん:2010/11/22(月) 19:50:27
http://doc.qt.nokia.com/4.7-snapshot/qt4-7-intro.html
のnew ClassesにAudioDataOutputってのがあるけど、実際全然使えるようになってない。
ソースみたらgstreamerをバックエンドにしたものにしかまともな記述がなかったけど
macやwinでは使えないってことでいいの?
747デフォルトの名無しさん:2010/11/24(水) 22:22:40
webkitを使って簡単な2ちゃんねるブラウザを作りたいと思うんだけど
ちょっと加工して表示する場合はHTMLを使わないとダメなの?
748デフォルトの名無しさん:2010/11/25(木) 03:16:26
dat持ってきてるならWebKitなんて使う必要ないんじゃね?
俺なら QTextDocument とか QTreeView の方が楽かな。
749デフォルトの名無しさん:2010/11/25(木) 09:46:21
QGraphicsScene を印刷・印刷プレビューすると、画質が著しく悪くなるんですけど
何故なんでしょうか?

void MainWindow::printPreview()
{
QPrintPreviewDialog pvDlg;
connect(&pvDlg, SIGNAL(paintRequested ( QPrinter *)), this, SLOT(onPaintRequested(QPrinter*)));
pvDlg.exec();
}
void MainWindow::onPaintRequested(QPrinter *printer)
{
QPainter painter(printer);
painter.setRenderHint(QPainter::Antialiasing);
scenel->render(&painter);
}
750デフォルトの名無しさん:2010/11/25(木) 10:05:55
QPrinter printer(QPrinter::HighResolution);
QPrintPreviewDialog pvDlg(&printer);

でどうだろう?
751デフォルトの名無しさん:2010/11/25(木) 10:45:26
>>750
イケメンの人、ありがとうございます。

プレビューはたしかに以前とは比べ物にならないくらい綺麗になりました。
けど、それを印刷すると以前と同じでした。

印刷の方は以下のようになってるんだけど、こっちもハイレゾ指定がいるのかな?

QPainter painter(&printer);
painter.setRenderHint(QPainter::Antialiasing);

自分でも調べてみます。
752747:2010/11/25(木) 19:39:50
>>748
それも、そうだな〜

jane style、jdとかはIEコンポーネントとかを使わないで、独自で実装しているらしいんだけど
難しそうだからな〜
753デフォルトの名無しさん:2010/11/25(木) 21:36:19
guiビルダーの「格上げ先を指定」って何なんですか?
試しにやってみたのですが、変化を実感できないのですが
754デフォルトの名無しさん:2010/11/25(木) 21:48:46
>>753
例えば、QPlainTextEditを継承して作った自作エディタがあったとして、
それを格上げ先に指定すると、自作エディタを手っ取り早くQtDesignerで配置できるようになる。
プラグインをわざわざ作るよりもお手軽(当然ながら変化は自分でコーディングしなければ無い)
755デフォルトの名無しさん:2010/11/26(金) 01:52:31
こんな書き方で判ってもらえるか・・・、すみません、どう書いたらいいのか・・・。

QWidgetにQGraphicsViewを載せてそこにQGraphicsSceneを設定して
QPainter::drawRect()、QPainter::drawLines()で沢山お絵かきをした状態で初期表示します。
同一QWidgetにQCheckBoxも載せていて、ON/OFFによって色を変更したり
追加でお絵かきするプログラムです。

んで、QWidgetを表示して入力待ちにする時、QGraphicsView以外はすぐに表示されるのですが、
QGraphicsViewが完全に表示されるのに多少のタイムラグが発生しています。
この間にQCheckBoxを操作(クリック)すると、画面が固まってしまうのが悩みのタネです。

QGraphicsViewの描画の完了を待ち合わせてからQCheckBoxの入力を受けつけるように、
QGraphicsViewのViewportにイベントフィルターをインストールして
Paintイベントに対する処理の完了を待ってから、QCheckBoxをEnable状態にしてみたのですが、
このタイミングではまだ描画が完了しておらず、(QCheckBoxを操作すると)やはり、画面が固まってしまいます。

QGraphicsViewの描画の完了を待ち合わせるには、どうしたらよろしいのでしょうか?
756デフォルトの名無しさん:2010/11/26(金) 02:21:03
QPainter::drawRect()、QPainter::drawLines()で沢山お絵かきをした状態
が終わったらemition
757デフォルトの名無しさん:2010/11/26(金) 02:43:49
cairoに相当する機能ってありますか?
758デフォルトの名無しさん:2010/11/26(金) 08:29:39
>>756
ありがとうございます。
試してみます。
759デフォルトの名無しさん:2010/11/26(金) 20:03:43
Qt Creator 2.1RC出たね
760デフォルトの名無しさん:2010/11/27(土) 00:51:48
PySideのwindows使ってみたけど全然ダメだ。
特にwebkit関連の実装が全然できてねぇ。
すんげぇ無駄な時間食った・・・
おとなしくライセンス諦めてPyQT使うか、他言語のQT使うのが吉だな
761デフォルトの名無しさん:2010/11/27(土) 03:41:55
contributeすればあなたの時間は無駄ではない
みつを
762デフォルトの名無しさん:2010/11/27(土) 06:47:19
Mac版のQtCreatorを使用しているのですが、ショートカットでの補完機能が動きません。
キーはコントロール + スペースに割り当てています(デフォルト)。
Spotlightのショートカットは切ってあって、eclipseではコントロール + スペースで補完出来ています。
Mac版は何か特別な設定が必要なのでしょうか。よろしくお願い致します。
OS: Mac OS X 10.6.5
QtCreator: 2.0.1
763デフォルトの名無しさん:2010/11/27(土) 08:07:10
>>760
GJ!
thx!
PyQt使うよ
764デフォルトの名無しさん:2010/11/27(土) 09:23:23
Qtを始めたのですが入門書はどれがいいでしょうか
とりあえず調べてみたら「入門 Qt 4 プログラミング」というのがあったのですが...
高校生でCとC++は使えます
765デフォルトの名無しさん:2010/11/27(土) 09:29:59
それでいいよ
766デフォルトの名無しさん:2010/11/27(土) 09:40:06
>>765
ありがとうございます
ただAmazonにはあまり良いレビューがなかったので...
767デフォルトの名無しさん:2010/11/27(土) 10:45:21
>>764
とりあえずその本は参考にはなるけど、Qt Creator登場以前の本だから、
Qt Creatorのことは書いてない。Qt Creatorについて書いてある本は
まだ無いと思う。

Qt Creatorについては自力で英語のドキュメント読むしかない。
脅すようだけど、Qtやる以上、英語を読むことは避けて通れないと
思った方がいいよ。

若いから何でも吸収できると思うのでガンガレ。
768デフォルトの名無しさん:2010/11/27(土) 12:35:27
>>762
ことえりやATOKの「英字」だとCtrl+Spaceで補完が効かない。
「U.S.」を使えば補完できるので、英字の入力にはそちらを使えばいい。

ttp://bugreports.qt.nokia.com/browse/QTCREATORBUG-1800
769デフォルトの名無しさん:2010/11/27(土) 13:02:38
>>764
その本持ってるけど、日本語版はファーストエディションのままなんだよね
それで、Qtのヘルプにものってるけど、同じ本の英語版はPDFで無料配布されてるから、
とりあげず落としてみてどんな感じか見てみるといいと思う
770デフォルトの名無しさん:2010/11/27(土) 13:44:32
>>767
そうだね。Qt Creatorのことが書いてないのもそうだけど、
本に載ってるコードはQt Creatorの自動生成するコードと
ちょっと勝手が違うところがある。
771デフォルトの名無しさん:2010/11/27(土) 14:05:50
載ってるソースにも色々間違いがある
誤植かも知れないけど
772デフォルトの名無しさん:2010/11/27(土) 14:42:26
>>767
Qtでコードが書けてビルドができるようになれば、Qt Creatorはドキュメントを読まなくても使えるよ。

>>770
生成されるコードもひとつの書き方で、両方分かればよいのではないかな。

>>771
出版社に伝えた方がいいよ。
773766:2010/11/27(土) 14:49:15
>>767-771
ありがとうございます
英語にはそれなりに自信があるのでそのドキュメントを読んでみます
774デフォルトの名無しさん:2010/11/27(土) 15:20:20
おぉ、頼もしい。
775デフォルトの名無しさん:2010/11/27(土) 15:24:23
マニュアルの英語はわかりやすく書いてるから高校英語で充分だろ
776デフォルトの名無しさん:2010/11/27(土) 17:06:01
高校時代英語の偏差値30前後だった俺が読めるんだから並の高校生なら問題ないはず。
777デフォルトの名無しさん:2010/11/27(土) 17:26:56
wikipediaを見るとskypeがqtで作られているらしいんだけど、
windows版のskypeはqtで作られているの?
linux版だとqtに依存しているから、qt使われているな〜って実感できるんだけどね
778デフォルトの名無しさん:2010/11/27(土) 18:26:57
Linux 版だけだった気がする。
779デフォルトの名無しさん:2010/11/27(土) 18:51:59
sqliteのマネージャなんかはqtで作られてるっぽいよ。
780デフォルトの名無しさん:2010/11/28(日) 01:43:16
>>768
ありがとうございます。
補完機能が使えるようになりました。
781デフォルトの名無しさん:2010/11/30(火) 03:23:58
QObject::killTimers: timers cannot be stopped from another thread
これどういう条件で発生してるのかさっぱり分からん・・・
782デフォルトの名無しさん:2010/11/30(火) 06:12:11
>>781
http://doc.qt.nokia.com/4.7/threads-qobject.html

Event driven objects may only be used in a single thread. Specifically,
this applies to the timer mechanism and the network module. For example,
you cannot start a timer or connect a socket in a thread that is not the object's thread.
783デフォルトの名無しさん:2010/11/30(火) 09:23:34
>>782
あー、なるほどそういうことか・・・
ありがとう
Httpの定時アクセスとXMLソケットへのアクセスを同一スレッドでやってたわ
784デフォルトの名無しさん:2010/12/01(水) 22:39:18
QtTreeWidgetでツリーの一番上に表示されるカラム番号を消すにはどうすれば可能ですか?
画像をキャプチャーしてみました。図中の赤い○を付けたところです。
http://freedeai.180r.com/up/src/up2087.png
普通にエクスプローラー風に表示したいのですが…

785784:2010/12/01(水) 23:55:52
エクスプローラーにも上の部分(ヘッダーと言うらしい)が付いてますね。
削除するものではないようです。お騒がせしました。
786デフォルトの名無しさん:2010/12/02(木) 00:28:26
えっ
787デフォルトの名無しさん:2010/12/02(木) 00:50:34
788デフォルトの名無しさん:2010/12/02(木) 09:53:57
PySideの1.0ベータが出てたんでためしてみたが、
使えなかったQwebframeまわりが使えるようになってた。
これはいけそう。

再度置き換えに挑戦する
789デフォルトの名無しさん:2010/12/02(木) 10:00:26
790デフォルトの名無しさん:2010/12/02(木) 12:38:23
PySide for windowsのまとめ。

Qt Designerで作ったuiファイルはPySideのuicで問題なく使える。

PySideはQString、QStringList、QVariantが無いで少々面倒だったけど、
簡単なラッパーモジュール用意しておいたおかげで、
ラッパーモジュールの from PyQt4をfrom PySideに変えただけで済んだ。

あとはconnectとemitの挙動が若干違うくらいか。ここじゃ説明めんどいんで
要望があればソース出して解説する。

QWebView+Javascript<=>QWidgetの連携も、PyQtもPySideも公式ドキュメントとは少々
違う方法じゃないといけないけど、結構いい感じに出来る。

とりあえずこれからはPySideで作っていこうと思う。
791デフォルトの名無しさん:2010/12/02(木) 12:58:50
テキストエディタの様なものを作っているのですが、
QTextEdit などで Ctrl + 左右矢印 で単語単位移動したとき、
この文章の様に、漢字とひらがらがあるときに、漢字とひらがなの
境界を単語区切りとみなしてくれません。

なにか設定があるのでしょうか?
それともキーイベントハンドラで自分で漢字ひらがな等の判定を
行う処理をするしかないのでしょうか?
792デフォルトの名無しさん:2010/12/02(木) 13:44:17
QtTextEditって日本語使えないんですか?
textEdit->append ("こんにちは、世界")
とやると文字化けして読めません。回避方法が有ったら教えて下さい。
793デフォルトの名無しさん:2010/12/02(木) 13:46:48
>>792
QString の文字コードを設定していないからだと思う
794792:2010/12/02(木) 13:51:21
具体的にはどうすればいいのでしょうか。
795デフォルトの名無しさん:2010/12/02(木) 13:56:13
>>794
このスレの初めの方を嫁
796792:2010/12/02(木) 14:49:20
>>795 エスパー能力を発揮すると>>3は関係ありません。
というかやってダメだったから聞いたわけで。

原因は別の所でした。解決しました。
ここではなるべく具体的な方法は書かないのが流儀みたいなので解決方法は省きます。
同じような事で詰まった人がいたら苦労して下さい(笑
797デフォルトの名無しさん:2010/12/02(木) 14:53:00
クラス名もまともに書けない奴が正しく使えてる訳が無いもんな。
798デフォルトの名無しさん:2010/12/02(木) 14:54:25
やってダメだったなら最初にそう言いましょう
やったと断らなければやってないと思われるのはここに限らずどこのスレでも同じことです
799デフォルトの名無しさん:2010/12/02(木) 18:55:18
>>798
んだんだ
800デフォルトの名無しさん:2010/12/02(木) 19:15:43
>>796
どこのスレでも解決方法は省かないのが流儀ですので、その流儀に沿って省かずに書いてください
801デフォルトの名無しさん:2010/12/02(木) 19:39:40
みんな親切すぎわろうた
802デフォルトの名無しさん:2010/12/02(木) 20:52:06
>>801
キュートですからな!!
803デフォルトの名無しさん:2010/12/02(木) 23:46:50
QWebView継承してsignal作ろうとしたらコンパイルエラー
Qtがんばれ
804デフォルトの名無しさん:2010/12/02(木) 23:55:20
お前ががんばれ、いやがんばらなくていい何もかも
805デフォルトの名無しさん:2010/12/02(木) 23:56:51
とりあえずqmakeだな
経験則的に
806デフォルトの名無しさん:2010/12/03(金) 00:06:21
プロジェクトファイルの QT+=に webkit を書いてないとか?

ははははは
807デフォルトの名無しさん:2010/12/03(金) 00:12:41
Designerで
DockWidgetの中にVerticalLayoutとか入れてみても、
Layoutのサイズがずっと固定のままになるのって何で?

ウィジェットのサイズをdockWidgetのウィンドウの大きさに合わせて変えたり、
dockWidgetのウィンドウが小さくて表示しきれないときは
スクロールバー出したりしたいのだけども
808デフォルトの名無しさん:2010/12/03(金) 00:25:20
マニュアルくらい読みなさい
809デフォルトの名無しさん:2010/12/03(金) 00:28:09
何でヘルプを確認しないんだよ?
810デフォルトの名無しさん:2010/12/03(金) 00:32:19
確認はするが、その前に2ちゃんねるに書き込んでおけば
調べるよりも先に答えが出てるかもしれんじゃん。
どちらが効率的かは言うまでも無い。
811デフォルトの名無しさん:2010/12/03(金) 00:47:21
それって自分で答えを見つけられないこと前提だよね
812デフォルトの名無しさん:2010/12/03(金) 12:20:05
second opinion ってことだよ言わせんな
813デフォルトの名無しさん:2010/12/03(金) 12:27:02
second opinion も調べた方が自分で答えを見つけるより「効率的」なの?
814デフォルトの名無しさん:2010/12/03(金) 12:33:49
言うまでも無い。
815デフォルトの名無しさん:2010/12/03(金) 14:38:25
言うまでも無く「効率的」とは言わないね
816デフォルトの名無しさん:2010/12/03(金) 14:42:04
たとえば「簡潔に教えてくれ Qtってなに?」
って質問はネットで調べるより
ここで教えてくれる奴を待った方が楽だろうな
817デフォルトの名無しさん:2010/12/03(金) 14:48:01
いや、教えてくれる奴を待つより>>1読む方が楽だし効率的だな
>>1読んでも理解できませんって人には楽かもしれんけど、それでも"効率的"ではない
818デフォルトの名無しさん:2010/12/03(金) 14:54:18
ほら、そういって教えてくれるじゃん
>>1に書いてるなんて知らんかったし
819デフォルトの名無しさん:2010/12/03(金) 15:06:16
>>1読んでも理解できませんって人」には「>>1に書いてあることすら知らん人」も含まれてんだろ
つまりお前は馬鹿だから質問した方が楽だっただけで、普通の人は質問するより>>1読んだ方が楽
820デフォルトの名無しさん:2010/12/03(金) 15:14:56
どういう理屈で「馬鹿」が出て来るんだ?
むしろ>>819が馬鹿だろ
821デフォルトの名無しさん:2010/12/03(金) 15:17:33
それが分からないから馬鹿なんだろ
822デフォルトの名無しさん:2010/12/03(金) 15:24:50
>>821
オマエ、頭悪そうだなw
823デフォルトの名無しさん:2010/12/03(金) 15:30:55
顔真っ赤だぞ
824デフォルトの名無しさん:2010/12/03(金) 15:33:16
なんなの?この低レベルな展開?
825デフォルトの名無しさん:2010/12/03(金) 15:36:46
馬鹿に構うからこうなる
826デフォルトの名無しさん:2010/12/03(金) 16:04:29
そろそろ、漢字ひらがな境界を単語区切りとみなして単語単位移動する簡単な方法が
あるのかどうかを教えていただけないでしょうか?

誰も答えてくれないということは、簡単な方法は無いということでおk?
827デフォルトの名無しさん:2010/12/03(金) 16:14:02
WindowsだとMircrosft Officeとかの一部のソフトが対応してるだけで、一般的なテキストエディットにそういう機能は無い
そして残念ながらQtにはその追加機能は無いので、通常通りソフト側で対応しないとダメ
828デフォルトの名無しさん:2010/12/03(金) 18:22:54
>>826
QTextBoundaryFinder というクラスがあって、これを使って単語境界を取得することが可能。
このクラスは Unicode の定義を元に harfbuzz というライブラリを使って作成されているが、
この定義が目的に合うならばこれが使える。
ttp://doc.qt.nokia.com/4.7/qtextboundaryfinder.html

確か、連続するひらがなをまとめて単語として扱ってくれなかったので
そういうのがだめならば自前で実装する必要がある。
# 表示用と編集用で定義がひとつだから駄目なんだろうな。
# 表示で折り返し可能な場所を探すのに使っているクラスのはず…。
829デフォルトの名無しさん:2010/12/03(金) 20:25:56
しかし漢字とひらがなを単語区切りとみなすって荒っぽい方法だな。
forward wordに対応する機能として無理矢理入れたんだろうが。
とはいっても一々形態素解析をやるわけにもいかないだろうし。
830デフォルトの名無しさん:2010/12/03(金) 22:18:05
まあデフォルトの動作よりはマシじゃないかね
831デフォルトの名無しさん:2010/12/04(土) 18:38:46
qtで書かれたコードを読みたいのですが、コメントが英語ばっかりですorz
国産でqtを使ったソフトありませんか?
832デフォルトの名無しさん:2010/12/04(土) 18:53:06
>>831
ヘルプも英語なんだから、英語の勉強しろ
833デフォルトの名無しさん:2010/12/04(土) 19:44:52
二次元描画ってQcanvasとか使えばいいんだろうけど
Qt CreaterからVC++っぽく貼りつけたりとかできないの?
834デフォルトの名無しさん:2010/12/04(土) 19:57:49
できる
835デフォルトの名無しさん:2010/12/04(土) 20:11:13
どうやるのか教えてくれエロい人
836デフォルトの名無しさん:2010/12/04(土) 20:23:42
>>831
英語ならいいじゃないか。
837デフォルトの名無しさん:2010/12/04(土) 20:27:44
>>833
QCanvasはQt3のものなのでもう使われない。Graphics Viewを使えばよい。
838デフォルトの名無しさん:2010/12/04(土) 20:28:41
>>835
100万円でどうだ?
839831:2010/12/04(土) 20:35:44
>>836
英語は苦手だから、日本語のコメントを読みたい
ある程度、日本語で情報を得てから英語を読んだほうが解りやすい気がする
840デフォルトの名無しさん:2010/12/04(土) 20:41:21
例えば「qt c++」で検索してみろ
841デフォルトの名無しさん:2010/12/04(土) 20:46:27
QCanvas って QRi のことだよな
842デフォルトの名無しさん:2010/12/04(土) 20:54:03
>>839
Qtやるなら英語は避けて通れない
843デフォルトの名無しさん:2010/12/04(土) 21:15:04
SRAからサポート買えば英語避けられるんじゃないか
LGPL版なら月給一ヶ月分くらいでやってもらえるぞ
844デフォルトの名無しさん:2010/12/04(土) 21:44:44
デスクトップ版で206,850円か。
でも、わかんないところが聞けるのであって、英語回避とは違うような希ガスw
845デフォルトの名無しさん:2010/12/04(土) 22:00:42
>>839
ソフトウェアに関わるなら趣味でも英語は必須だよ。英語を覚えるために時間を使って投資をするのが手っ取り早いよ。
まあ、英語圏のやり方は、その国々の存在自体を含めて潰れて欲しいと思うけれどね。
846デフォルトの名無しさん:2010/12/04(土) 22:01:27
>>841
QRiなんてないよ。
847デフォルトの名無しさん:2010/12/04(土) 22:06:46
>>844
この時代に生まれたことを恨もう。たまたま英語を話す連中が力で世界を牛耳っているだけ。
英語なんてただの道具で品性もない下劣な言語だ。
848デフォルトの名無しさん:2010/12/04(土) 22:11:56
むしろ日本語を廃止したい
母国語から変えねば米英に対抗できない
849デフォルトの名無しさん:2010/12/04(土) 22:15:10
世の流れは完全に中国なんだが
850デフォルトの名無しさん:2010/12/04(土) 22:28:07
>>848
毛沢東が似たようなこと考えたみたいだけど
彼は馬鹿で無能だったという定説
851デフォルトの名無しさん:2010/12/04(土) 22:32:04
そうすると、志賀直哉も馬鹿で無能か
いや別に否定はしないが
852デフォルトの名無しさん:2010/12/04(土) 23:07:07
戦争直後日本でも日本語廃止は議論されていたよ
853デフォルトの名無しさん:2010/12/04(土) 23:20:59
母国語の廃止なんてしたら数世代は社会が停滞するよ
@過去の遺産にアクセスできなくなる
A世代間でコミュニケーション不全発生
Bそもそも完全ネイティブになどなれない(英語圏を見れば明白)
C学校の授業も外国語、理解できなければドロップアウト(英語で授業してる途上国見れば明白)

必要な情報の多くが翻訳されるおかげで母国語でさほど不自由しない日本は素晴らしい国だと思うよ
(とはいえ、プログラミングするなら英語必須なのはどうしようもないが)
854デフォルトの名無しさん:2010/12/04(土) 23:28:11
まあ過去の遺産なんか日本にはたいしてないけどなw
和とじの本なんか読めなくてもべつに重要なことなんか書いてない
むしろ封建時代のしがらみがなくなっていいこと尽くめ
855デフォルトの名無しさん:2010/12/04(土) 23:44:39
非国民かよ
過去の遺産は腐るほどあるだろ
856デフォルトの名無しさん:2010/12/05(日) 00:14:11
非国民w60年ぶりに聞いたな

日本に限らずどの国も暗い歴史を引きずっている
弾圧され搾取された民衆レベルでは国境は足かせ以外の何物でもなかった
日本だけがそうだとは言わないし、日本が他の文化圏より劣っているわけではないけれど
民衆レベルでは自国にそうこだわりを持っている人間はいないのさ
明日の糧をくれる者こそが神様であり、自国がそれをしてくれないなら敵にさえなるってことだ
857デフォルトの名無しさん:2010/12/05(日) 00:14:24
占領時代に旧字旧仮名廃止して常用漢字も死ぬ程削ってついでに焚書も少々した結果、
事実上現代日本人は一部インテリと好事家を除いて敗戦以前の日本から遮断されている
特に明治期の文献を読める人間なんて果たしてどれだけいるのやら

まあだからこそ、昔自分達が何を考え何をしたかも分からなくなっていて、
中韓や米帝のいうまま下僕にされてそれに疑問すら感じなくなってしまっているわけだが
858デフォルトの名無しさん:2010/12/05(日) 00:22:11
ところで、なぜQtConcurrentはQConcurrentじゃなくてQtConcurrentなの?
859デフォルトの名無しさん:2010/12/05(日) 00:39:01
ライブラリもQt〜だし、命名規則についてあんまり深く考えてない希ガス
860デフォルトの名無しさん:2010/12/05(日) 00:48:15
Namespacesだからじゃね?
861デフォルトの名無しさん:2010/12/05(日) 00:54:39
>>854
過去の遺産って別に和とじとかの大昔の話だけじゃないんだけども……
今この瞬間にまで日本語で蓄積されたもの全てが、母国語が廃止された瞬間に過去の遺産になるわけでして
862デフォルトの名無しさん:2010/12/05(日) 00:56:23
>>861
英語に翻訳すれば解決!

まあ、元ネタの英語文献がどこかにあるはずなんだけどね・・・
863デフォルトの名無しさん:2010/12/05(日) 02:44:47
日本の過去の遺産の話はスレ違いだ。よそでやれ。
864デフォルトの名無しさん:2010/12/05(日) 02:47:00
865デフォルトの名無しさん:2010/12/05(日) 04:24:18
明らかに流れを読み違えてる
866デフォルトの名無しさん:2010/12/05(日) 06:49:06
867デフォルトの名無しさん:2010/12/05(日) 09:43:53
Qt conference Tokyo と MeeGo Seminar Winter 2010 に行く奴いる?
868デフォルトの名無しさん:2010/12/05(日) 09:48:27
学生で参加したら浮くかなー
869デフォルトの名無しさん:2010/12/05(日) 09:56:44
Qt conference Tokyo 行くけど、なにか?
870デフォルトの名無しさん:2010/12/05(日) 23:37:28
関西でもセミナーやってほしいな
871デフォルトの名無しさん:2010/12/06(月) 17:21:16
ホットキーを実現したいのですが、他のアプリにフォーカスがある時にキー入力を受け取るにはどうすればいいんでしょうか
872デフォルトの名無しさん:2010/12/06(月) 20:19:57
>>871
組込みLinux用Qtならホットキー使えます。デスクトップは、ウィンドウマネージャの機能を使う必要があるんじゃないですか。
873871:2010/12/06(月) 20:42:49
すいませんWindows環境での使用を想定しています
874デフォルトの名無しさん:2010/12/06(月) 21:01:38
GlobalHook呼べば
875デフォルトの名無しさん:2010/12/06(月) 22:33:08
>>13
2chにあるソースでよくコメント行にマルシーとかcopyrightとか書いてありますがどうなるのですか
876デフォルトの名無しさん:2010/12/06(月) 23:55:07
>>853
日本は古くからいろんな国の本が翻訳されて、それがちゃんと残ってるから
研究者とか日本語できるとわりと便利らしいね。
877デフォルトの名無しさん:2010/12/07(火) 05:27:04
>>871
ググって今知ったから使ったことないんだけど。
qxtっていう拡張ライブラリがあって、
ttp://dev.libqxt.org/libqxt/wiki/Home
QxtGlobalShortcutってクラスがあるらしい。
ttp://libqxt.bitbucket.org/doc/0.6/qxtglobalshortcut.html

ただし、公式じゃないので、ライセンスとかは自分で確認してくれ。眠い。寝る。
878デフォルトの名無しさん:2010/12/07(火) 18:59:08
>>875
著作権があるので、守らなければ法的に罰せられるということです。
879デフォルトの名無しさん:2010/12/09(木) 12:37:42
画面が大きく左ウィジット、メインウィジット、右ウィジットの3つに分かれてます。
このウィジット間で通信する場合、直接ポインターを介して関数を呼ぶのが良いか、
シグナル&スロットを使うのが良いか、どちらでしょうか?
880デフォルトの名無しさん:2010/12/09(木) 14:11:49
俺だったら signal/slot で実装して、それで問題があるなら考える
881879:2010/12/09(木) 16:51:07
シグナル&スロットで書き換えてみました。
気のせいかわかりやすくなったような気がします!!
結構connectの数が多く油断すると、どのウィジットとどのウィジットがつながっているか
わからなくなりそうですが、しばらくこれでやってみます。
882デフォルトの名無しさん:2010/12/09(木) 18:01:52
signal/slot なら Qt Creator で結構簡単に繋げて
つながりは矢印で見えて便利だと思うけど
883879:2010/12/09(木) 20:08:29
男は黙ってemacs
884デフォルトの名無しさん:2010/12/09(木) 20:45:11
QObject::blockSignalsってカウンタ使ってないんだな
なんでだろ
885デフォルトの名無しさん:2010/12/09(木) 22:00:17
>>883
俺も普段 coding は emacs 使うんだけどQt 関係は QtCreator だな
よくできてる
886デフォルトの名無しさん:2010/12/09(木) 22:31:06
SIGNAL() SLOT() の補完のできの良さに乾杯。
あれだけでご飯3杯はいける。
887デフォルトの名無しさん:2010/12/09(木) 23:16:29
>>886
禿同。
888デフォルトの名無しさん:2010/12/10(金) 00:08:00
[Go to Slot]で作成されたヤツだけじゃなく、自分で書いたslot関数までヘッダーファイル
から拾って補完リストに出してくれるところが凄いな。まぁ仕組みを考えれば当たり前
なんだけど。
889879:2010/12/10(金) 00:48:36
騙されないぞ(`・ω・´)
890デフォルトの名無しさん:2010/12/10(金) 02:06:46
>>884
QWidget::setUpdateEnabledもカウンタ導入してもらいたいもんだな
891デフォルトの名無しさん:2010/12/10(金) 18:15:05
showしたときにウィンドウをアクティブにすることなく表示したいのですが、いい方法教えてください
showする前にアクティブなウィンドウを取得しておいて、showした後に再設定する方法で実装してみたのですが、
これだと一瞬アクティブになってしまうことがあるようです
まったくアクティブにすることなくshowしたいのですが・・・
892デフォルトの名無しさん:2010/12/10(金) 20:57:12
Qt Creater+VS2008でアプリづくりの勉強を始めてます。

Javascript+XMLでUI、内部演算やってるCalculatorサンプル、大変良くできてるんだけど、
Javascriptだとモジュール分けの仕組みがないからスケールアウトしないよね?

Pythonに差し替えたらどんな感じになるのか挑戦中……。
893デフォルトの名無しさん:2010/12/10(金) 23:09:58
今日、Qt Conferenceだったのに話題にもなってないのな。
Qt Quickはなかなか楽しそうやね。
894デフォルトの名無しさん:2010/12/10(金) 23:39:08
Qt Conference 行ってきたよ
Qt Quickは簡単に使え、コード量も減ってなかなかよさそうだった
プレゼンツールQMLだったみだいだ
895デフォルトの名無しさん:2010/12/11(土) 01:18:13
Qt Quickは携帯向けに小物なものを手軽に作るのにはいい。しかし、CADや制御装置などにまったく向かない。
Qt Quickを使っても下回りには、Qt/C++は常に必要で、用途によって使い分けるべきもの。
896デフォルトの名無しさん:2010/12/11(土) 01:42:00
質問です。signalで大量のQString(List)をslotに送り込むのは
普通ですか。
897デフォルトの名無しさん:2010/12/11(土) 09:10:56
普通
898デフォルトの名無しさん:2010/12/11(土) 15:26:54
PySideってNokiaが開発してるんだね
有志が立ち上げたPyQtのクローンだと思ってた

Qt Creatorを使ってpythonで開発できるようにして欲しいな
899733:2010/12/11(土) 16:06:52
Qtマニュアルの内容は出来るようになりました!!
ありがとうごさいました
900デフォルトの名無しさん:2010/12/11(土) 19:29:51
>>898
PySideは、PyQtのLGPL版を出そうとしないので、Nokiaが立ち上げたQtのPythonバインディング。
901デフォルトの名無しさん:2010/12/11(土) 19:37:46
qtでこんな事をしたいんです
ttp://www.nicovideo.jp/watch/sm5630363

windowタイトルを非表示にする、バックカラーを透明にするという点でつまずいています。
QFrame::setWindowFlags(Qt::Popup);とはやったものの、フォーカスを持って行かれます(そのまま固まる)

ヒントをください
902デフォルトの名無しさん:2010/12/11(土) 19:51:06
903デフォルトの名無しさん:2010/12/11(土) 19:55:09
Qt::WA_TransparentForMouseEventsとかでググれ
904デフォルトの名無しさん:2010/12/11(土) 20:00:29
このサンプルも読んどけ
ttp://doc.qt.nokia.com/4.7/widgets-shapedclock.html
905デフォルトの名無しさん:2010/12/11(土) 20:07:35
あとはこれ
setFocusPolicy(Qt::NoFocus)
906デフォルトの名無しさん:2010/12/11(土) 20:30:32
みんなイケメンすぎ
907901:2010/12/11(土) 20:32:14
>>902-905
お前ら感動したぞ
thx
908デフォルトの名無しさん:2010/12/11(土) 21:10:26
WindowsXPでQtを利用しています
QtはGUIにキャッシュを使用しているようですが、これを無効化するかキャッシュサイズを制限することはできますか?
QtCreatorも使い続けると必要な分の10倍以上のキャッシュを確保するので、折角の性能が無駄になってる気がします
909デフォルトの名無しさん:2010/12/11(土) 21:33:11
いつも疑問に思っていたのですが、
@#include <QtGui>
or
A#include <QMainWindow>
#include <QLabel>
・・・・
のどちらを使っていますか?
ちょっと気になりますた
910デフォルトの名無しさん:2010/12/11(土) 22:06:16
Qt Conferenceに出席して抽選会で2等が当たったよ
技術検定っぽい奴の無料受講権のようだ
今から勉強しなければ。。。

ちなみに豪華な弁当が出ました
申し込んで来なかった奴や午前中で帰った奴は次回からは気を使って欲しいね
911デフォルトの名無しさん:2010/12/11(土) 22:42:29
なんで俺が気を使ってやらなきゃならんのだ? 馬鹿か
912デフォルトの名無しさん:2010/12/11(土) 22:59:37
なんかハメられてないか?
913デフォルトの名無しさん:2010/12/12(日) 00:08:59
>>909
無駄なものインクルードするのはなんか気持ち悪いので2
914デフォルトの名無しさん:2010/12/12(日) 00:31:41
>>908
無理
915デフォルトの名無しさん:2010/12/12(日) 00:32:56
1だと使うつもりのないクラスまで補完されるからな。
ある程度設計が固まってるときは2。
いろいろ試しているときは変更が面倒なので1。
916デフォルトの名無しさん:2010/12/12(日) 00:33:23
>>909
#include <QtCore>
#include <QtApplication>
#include <QMainWindow>
#include <QLabel>
917デフォルトの名無しさん:2010/12/12(日) 00:34:51
>>910
あまったものは持って帰れよ
918デフォルトの名無しさん:2010/12/12(日) 02:06:20
>>909
プリコンパイルドヘッダーを使うときには1、そうでないときには2。
919デフォルトの名無しさん:2010/12/12(日) 08:22:37
>>911

まるで中国人のような考えだな
920デフォルトの名無しさん:2010/12/12(日) 16:04:27
>>914
無理なんですか
今後修正されるといいですね
921デフォルトの名無しさん:2010/12/12(日) 17:53:48
>>920
ただキャッシュを多めにとってるだけで速度低下になってるとはちと考えづらいな。
なにか比較できるようなサンプル作って測定したの?
922デフォルトの名無しさん:2010/12/12(日) 21:21:02
メモリ浪費による速度低下じゃなくて、単純にメモリ浪費自体を問題視してるんじゃない?
速度よりメモリ使用量を重視するって選択肢が欲しい、と
923デフォルトの名無しさん:2010/12/12(日) 23:57:20
キャッシュって、他のアプリでメモリが必要になっても開放されないの?
924デフォルトの名無しさん:2010/12/13(月) 02:19:50
全く議論についていけなくて恐縮だが、QtのGUIのキャッシュってどういうこと?
なぜそんなものが必要になってくるの?
925デフォルトの名無しさん:2010/12/13(月) 02:27:10
キャッシュですか、カードですか?と聞かれ
「キャッシュで」と言いながらキャッシュカードを出してしまった
そんな時に必要になってくる
926デフォルトの名無しさん:2010/12/13(月) 05:44:45
QtがキャッシュしてるんじゃなくてWindowsがやってるのを勘違いしてるんじゃないかな
大抵のソフトはウィンドウ最小化して元に戻すとタスクマネージャの"メモリ使用量"は減るんだけど、その話?
927デフォルトの名無しさん:2010/12/13(月) 16:19:21
QtはWidget同士のレイアウト管理がよく解らん。

QFormLayout/QVBoxLayout/QGridLayoutを組み合わせてWidget同士の親子関係は定義できたんだけど、
QMainWindow直下のレイアウトを常にFill表示する方法がよくわからない。

uiファイル中で指定する方法か、
なにかいいドキュメントはないだろうか。
928デフォルトの名無しさん:2010/12/13(月) 16:31:50
クラスリファレンスも読めないなら大人しくQt Creator使っとけ
929デフォルトの名無しさん:2010/12/13(月) 16:50:04
>>928
Qt Creater使ってるんだけど分からないのよー。
.NETのFormsはレイアウトに関しては単純か強くできてたんだけど……。

geometry
sizePlicy
minimumSize/maximamSize
sizeIncrement
baseSize

と、色々とあるが、どれを変更してもMainWindowに追随して大きさが変わってくれないように見える。
930デフォルトの名無しさん:2010/12/13(月) 17:07:37
>>929
Qt Creatorのデザイナ画面で,左の方のウィジットボックス(フォーム上に貼り付けるウィジットが並んでる
ところ)からVertical LayoutやHorizontal Layout等を持ってきてフォーム上に貼り付けてない?

実はそのやり方は必要なくて,単純にレイアウトしたい部品を複数選択して,上のツールボックスにある
レイアウト系のボタン(ツールチップヘルプを見ればわかる)を押して「レイアウトを割り当てる」操作を
するだけでいい。

で,ここからが重要なんだけど,最後にフォームの中味をレイアウトしたい時は,フォーム自体を
クリックして選択しておいて,上の「レイアウトを割り当てる」操作をすればOK。
QGorupBoxやQFrameなど,ウィジットボックス内で[Containers]のカテゴリ内に並べた部品を
レイアウトする時も同じ(QGorupBoxやQFrame自体を選択しておいてレイアウトを割り当てればいい)。

ウチの社内でも,Qt Creatorを使い始める人にはこの話をしておかないと,大抵勘違いする。
とりあえず小さなフォームにボタンを二つ縦に並べてからフォームを選択状態にしておいて,
上のツールボックスの[垂直に並べる]ボタンを押してみればわかると思う。

その状態で,Ctrl+Alt+Rでプレビューしてフォームのサイズを変えてごらん。
931デフォルトの名無しさん:2010/12/13(月) 17:08:34
たとえば GridLayout ならば GridLayout の中で並べて
さらに window 全体の中でもう一度(水平でも縦でも)レイアウトするよ

こんな答えでよいのかしら…

意外と手頃な document 無いんだよね

932デフォルトの名無しさん:2010/12/13(月) 17:09:07
× QGorupBox
○ QGroupBox

タイポスマソ
933930:2010/12/13(月) 17:20:02
言葉だけの説明だとわかりにくいと思うから,ヘルプの[Using Layouts in Qt Designer]を
見てみて。
934デフォルトの名無しさん:2010/12/13(月) 17:52:59
QMainWindow main;
QWidget *central = new QWidget;
QVBoxLayout *layout = new QVBoxLayout;
QLabel *label = new QLabel(tr("aiueo"));
layout->addWidget(label);
central->setLayout(layout);
main.setCentralWidget(central);

これだけの事なのになぜdesignerはあんなに初見殺しなのか。
935930:2010/12/13(月) 18:06:54
>>934
ひとえにウィジットボックスにレイアウト系の部品が並んでるのがいけないと思う。
あれの実体はsetLayout済のQWidgetなんだけど,何のためにあるのかな?
初期に勘違いしてた頃を除いて使ったことないんだが。

直感的には,あれをフォームの上に貼って,その中にボタンなどのウィジットを並べれば
良いと思ってしまう人が多いんじゃないかな。

あれさえなければ勘違いすることも無いと思うんだよね。
936デフォルトの名無しさん:2010/12/13(月) 18:17:07
不便なだけで出来ることに変わりはないから別に勘違いではない
とりあえずとっつき易いとこから初めて、ツールボックスやコンテキストメニューにレイアウト系の項目があることに気付いた時点で改めて考えればいい
キーボードショートカットやマウスジェスチャーは便利だが、だからと言ってメニューを廃止する訳にはいかないだろう
937デフォルトの名無しさん:2010/12/13(月) 18:49:49
QTのBOOS_FOREAChってどれ?
938デフォルトの名無しさん:2010/12/13(月) 19:09:14
>>930-935
ありがとう! なんとなく分かった気がする。

言われたとおりの操作をしばらく試してみた。
# レイアウトWidgetを先におかずに
# 通常Widgetを裸で配置してから、ウィジェットを選択せずに再配置ボタンを押す

どうやら、レイアウトWidgetを裸で入れ子にすると、意図した動作になってくれなくなるようだ。
左側に縦に並べて右側全体にコンテンツを表示する
Visual Studioっぽい配置を目指してたんだけど、
QMainWindow
 centralwidget : QWidget
  splitter : QSplitter
   frame : QFrame
    QPushButton
    QLineEdit
    QListWidget
   mainWidget : QLabel
 statusbar
 menubar

このような配置で、意図する動作(左側は縦にのみ拡大、右側は下、右に拡大)ができるようになった!
どうもありがとう!
今はmainWidget->pixmapに入れた画像をアスペクト比保存で最大化表示させようとしてうまくいってないんだけど、
サンプルソースでQLabelを使わずにQWidgetから派生してpaintEvent()を自分でやる例があったのでなんとかなりそうだ。
http://qtprogramming.s2.zmx.jp/Qt4Examples/Pixmap.html
939デフォルトの名無しさん:2010/12/13(月) 20:38:15
QtCreatorのキーワードとか型って追加できますか?
qrealとかも着色されるようにしたいのですが
940デフォルトの名無しさん:2010/12/13(月) 21:04:16
>>936
> 不便なだけで出来ることに変わりはないから別に勘違いではない

いや、トップレベルレイアウトをフォームやコンテナウィジットに適用するのは、
レイアウトウィジットを置いてもできない。>>930はそこのところを言いたいんだと
思うよ。

俺も最初はレイアウトウィジットを置いてから、その中にボタンなどを放り込んで
変だな?と思ってた。
941デフォルトの名無しさん:2010/12/13(月) 21:25:11
>>930
通りすがりですが、今まで疑問に思っていたことがわかりました。
イケメンさん、ありがとう!
942デフォルトの名無しさん:2010/12/13(月) 22:18:54
デザイナのレイアウトはわかりにくいよな。
ttp://qt-labs.jp/2010/12/04/layout-on-designer.html
も説明少ないし。
943デフォルトの名無しさん:2010/12/13(月) 22:30:15
正直sizePolicyとかbaseSizeとかsizeIncrementとかの
レイアウト関連と思われるプロパティのつながりがさっぱりわからない
944デフォルトの名無しさん:2010/12/14(火) 00:02:17
>>943
それはドキュメント読めとしか。
Layout系クラスに丸投げしないで自分でサイズ管理する時に使う物だよ。
逆に言うとLayout系クラスに丸投げして済むなら触る必要は無い。
945デフォルトの名無しさん:2010/12/14(火) 00:38:12
なんだよね

プロパティ調整をしないとダメなんじゃないかと思っちゃうところが取っつきにくいかも
自動でできるわけで、どうしてもそれに不満がある場合のみに調べれば良いんだけど
946デフォルトの名無しさん:2010/12/14(火) 10:34:50
>>943
sizePolicyはウィジェットサイズ変更のヒントをレイアウト機能に伝えて、レイアウト機能にサイズ管理してもらうためのもの。

baseSizeとsizeIncrementは、レイアウト機能には関係なく、ウィンドウマネージャへのヒント。
baseSizeはウィンドウサイズのリサイズ時のベースサイズで、sizeIncrementはリサイズステップ。
947デフォルトの名無しさん:2010/12/14(火) 12:10:40
>>942
デザイナは、コードでレイアウトが書けるようになって、さらに楽をするためのツール。
だから、説明は少ない。
948デフォルトの名無しさん:2010/12/14(火) 12:19:11
QLabelに画像を入れて適切なサイズで表示させようとしている。

最初はフルサイズになるかアスペクト比無視でウィンドウサイズ表示になるかで使いにくかったんだけど、
QScrollAreaに入れることで、フルサイズでもスクロールできるようになった。
(これまではウィンドウサイズが無理やり拡大されていた)

サイズを変更できるようにするためsizeHint(), minimumSizeHint()をオーバーライドして
画像の表示したい倍率を掛けて返すようにしたら縮小できるようになったんだけど、これであってる?

これで初期表示はできるようになったんだけど、表示後に倍率を変更したいときに
何のイベントを送ればいいのか調査中。QResizeEventでいいんだろうか。
949デフォルトの名無しさん:2010/12/14(火) 12:40:37
>>947
Qtが普及してきた理由の一つにRADツールとしてQt Creatorが登場した事があげられるだろう。
今時、手書きコードを意識してツールを使う人は少ないはず。

手書きコードは、必要になったときに調べる能力があれば充分。まぁ、ui_xxxxx.hの中味くらい
覗いておく方が良いとは思うが。

そもそも今回「説明が少ない」のはQt Creator/Designerのレイアウト操作の使い方に関する
話であって、手書きコードとは関係ない。

一言どうしても言いたかったんだろうが、的外れ。
950デフォルトの名無しさん:2010/12/14(火) 12:57:50
>>949
手書きコードが書けなれば、ちゃんとしたレイアウトはできない。
レイアウトのコードを書ければ、Qt Creator/Designerのレイアウト操作は分かる。
レイアウトの操作の説明は、Qt Creator/Designerには必要ない。
951デフォルトの名無しさん:2010/12/14(火) 13:18:52
QTreeViewを継承したクラスででアイテムのドラッグ&ドロップにをしたとき
ドロップしたアイテムが選択されるようにするにはどうするのがいいでしょうか?
どこにドロップしたかの情報をどう得るのかが分かりません

D&D開始時に選択されていたQModelIndexとか保存すればいいのかと思っていましたが、
それはQModelIndexの仕様を勘違いしていただけでそれじゃできないと分かってどうしたらいいのか分からなくなりました
952デフォルトの名無しさん:2010/12/14(火) 13:24:52
>>948

> サイズを変更できるようにするためsizeHint(), minimumSizeHint()をオーバーライドして
> 画像の表示したい倍率を掛けて返すようにしたら縮小できるようになったんだけど、これであってる?

アスペクト比は変わるけれどあっている。
イベントではなくresize()。QResizeEventは事後イベントで、リサイズ後に送られます。
953948:2010/12/14(火) 13:27:45
明示的なリサイズ指示の発行だけど、
QResizeEventを与えてみたが効果がなかった。
sizePolicyを変更することで表示倍率が切り替わることは確認したけど、リサイズが2回行われるからちと不便。
setVisible(false);setVisible(true);と2回続けて呼び出すことで解決した。

ところで、Qt CreaterでQStatusBarにウィジェットってどうやったら追加できるんだろう?
954デフォルトの名無しさん:2010/12/14(火) 13:30:03
>>952
>イベントではなくresize()
あ、すごい簡潔。それでいかせてもらいます。
955デフォルトの名無しさん:2010/12/14(火) 13:35:58
>>950
> レイアウトのコードを書ければ、Qt Creator/Designerのレイアウト操作は分かる。

わからないよ。ツールバーやコンテキストメニューからレイアウトを適用する操作が
探しにくいんだから。ウィジットボックスからレイアウトウィジットを貼って、「何か変だな」
ってなる。
956デフォルトの名無しさん:2010/12/14(火) 13:54:03
>>951
>どこにドロップしたかの情報をどう得るのかが分かりません
dropMimeData()の再実装で。
957デフォルトの名無しさん:2010/12/14(火) 13:58:06
>>953
>>ところで、Qt CreaterでQStatusBarにウィジェットってどうやったら追加できるんだろう?
addWidget()やinsertWidget()では?
958デフォルトの名無しさん:2010/12/14(火) 14:01:54
>>955
初めてデザイナ使って迷いがなかったのはコードでレイアウトが書けたからだと思う。
そして、デザイナで操作にこだわってレイアウトが分からないような人には、コードを理解させればデザイナを使えるようになった。
959デフォルトの名無しさん:2010/12/14(火) 14:21:46
> Qt CreaterでQStatusBarにウィジェットってどうやったら追加できるんだろう?
statusBar()->addWidget(widget);
ってコードを手で書いた方が簡単明瞭な気がする
960デフォルトの名無しさん:2010/12/14(火) 14:30:24
>>958
ふうん、余程勘のいい人々なんだね。それはよかった。
俺なんかコード書けてもQt Creatorのレイアウト操作はわかなかったぞ。頭悪いからw
961デフォルトの名無しさん:2010/12/14(火) 14:37:15
低脳自慢は他でやれよ。
962デフォルトの名無しさん:2010/12/14(火) 14:40:05
確かに頭悪そうな文章だ
963デフォルトの名無しさん:2010/12/14(火) 15:02:29
>>956
ありがとうございます
そのあたりを読んでみたら確かにこれならなんとかなりそうです
ヘルプを探してはいたのですが、思いっきり間違った方へ読み進んでいたようです
とても助かりました


964デフォルトの名無しさん:2010/12/14(火) 15:17:36
QStatusBarで子Widgetを右寄せにする方法がわからない……。
というか、Qt Createrでなぜデザインできんのじゃー!
965デフォルトの名無しさん:2010/12/14(火) 15:35:58
あれ、すっごく基本的な話なんだけど、
Qt + vs2008で日本語ってどうやって扱うの?
そのまま表示させたらエスケープされてしまった。
966デフォルトの名無しさん:2010/12/14(火) 15:43:28
>>965

自己レス。

int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
967デフォルトの名無しさん:2010/12/14(火) 15:45:53
>>964
試してないけど・・・
右寄せなんだから、QHBoxLayout を作って、
左にスペーサを入れたらダメ?
968デフォルトの名無しさん:2010/12/14(火) 15:54:15
>>960
わからなくて普通ですよ
969デフォルトの名無しさん:2010/12/14(火) 15:57:17
困った時は右クリックが基本の俺に死角はなかった
むしろそれを試さないマの気がしれない
970デフォルトの名無しさん:2010/12/14(火) 18:26:27
QPushButtonを大量に自動生成するときに、
押されたときのイベントハンドラを1箇所にまとめようとしています。
どのボタンが押されてボタンに関連付けられているのかが
簡単に分かるようなコーディング方法って何かありますでしょうか?

例:
QMap<QLabel*, int> indis_of_labels;
を用意しておいてハンドラに渡ってきたQLabel*から逆引きする
971デフォルトの名無しさん:2010/12/14(火) 18:29:19
俺も初めの頃はできる限りQtDesigner を駆使しようとして
色々わからんこと多くて試行錯誤したなぁ
coding の仕方は色々書いてあるしサンプル見ればわかるけど
Qt Designer の方はイマイチわかりやすくまとまったものが無い

ある程度使うとよくできていると感じるんだが…
972デフォルトの名無しさん:2010/12/14(火) 18:48:55
>>970
sender() でシグナルを発行したオブジェクトを参照するってのは?
973デフォルトの名無しさん:2010/12/14(火) 19:30:24
QtDesignerの[Form]-[view code]で生成されるC++のコードを確認しながら
作業すると、今の変更が実際にどのようなコードに置き換えられるのか参考
になるのでおすすめ。
Widget等をQtDesignerでレイアウトした後、この[view code]のソースをコピペして、
*.uiは使わずに、好きなようにソース上でカスタマイズするという手もある。
974デフォルトの名無しさん:2010/12/14(火) 19:34:01
>>970
setObjectNameして各ボタンに識別子を付ける。
スロットでシグナル受け取ったらsender()して送り主をQObject*で取得してobjectNameして判別。
975デフォルトの名無しさん:2010/12/14(火) 19:49:50
>>970
QAbstractButton派生ものなら、QButtonGroupを使って管理するのがお勧め。
QButtonGroup::addButton( QAbstractButton * button, int id ) でID付きで登録して、
押されたときは
QButtonGroup::buttonClicked ( QAbstractButton * button )
QButtonGroup::buttonClicked ( int id )
のどちらかの signal を使えばイベント拾えます。

排他処理もこいつが自動的に管理してくれるし、QtCreator でも登録・削除・グループ作成
できるのでいいですよん。
976デフォルトの名無しさん:2010/12/14(火) 20:49:03
>>939お願いします
977デフォルトの名無しさん:2010/12/14(火) 20:59:11
>>976
QRealは知らんが、ユーザー定義のWidgetは簡単に追加される。
というか普通にプロジェクト作ったら最初から追加されてる。
uiファイルをテキストエディタで開いてよく見てみよう。
978デフォルトの名無しさん:2010/12/14(火) 21:06:27
着色っつってるしQt Creatorのテキストエディタがキーワードとか型として認識する文字列を編集したいってことじゃないか
979デフォルトの名無しさん:2010/12/14(火) 21:08:14
>>977
プロジェクトに追加じゃなくて、QtCreatorがキーワードとか型とみなすようにしたいんです
要はintとqrealがQtCreator上で同じ色で表示されるようにしたいんです
980デフォルトの名無しさん:2010/12/14(火) 21:09:25
すいませんリロードしてませんでした
>>978さんのおっしゃる通りです
981デフォルトの名無しさん:2010/12/14(火) 21:27:26
ん?qrealはちゃんと着色されとるけど…。intのようなC++キーワード扱いではなく型扱いではあるが。
982981:2010/12/14(火) 21:32:37
よくわからんが、QtCreatorのツール→オプション→テキストエディタ→標準ハイライト→定義をダウンロード
を選択して、C++辺りをインストールしてみてはどうかの?
983デフォルトの名無しさん:2010/12/14(火) 21:40:09
>>982
それ、2.1からの機能。
2.1だとハイライトの定義を編集できる。
984デフォルトの名無しさん:2010/12/14(火) 21:40:11
WinXPだがうちのQtCreator(2.0.1)のテキストエディタのページに標準ハイライトなんて項目無いぜ
985981:2010/12/14(火) 21:43:30
>>983
あ、うちのは 2.1.0 beta-2 だた。

>>984
そいつはシラなんだ、すまぬ。

>>980
てことで、2.1.0 beta 入れてみてはどうかの?
986デフォルトの名無しさん:2010/12/14(火) 21:46:21
2.1RC出てるのにBetaかよw
987デフォルトの名無しさん:2010/12/14(火) 21:57:43
>>981-985
さっそく2.1を入れてみました
ユーザが定義した型も自動で追加してくれるんですね
これは便利です。ありがとうございました
988981:2010/12/14(火) 22:00:00
>>986
おぉ、サンクス。頂戴した。

>>987
着色されてない理由がたぶんわかたよ。プロジェクト→概要→Qt バージョン
が適切な設定になっているかどうか確認するよろし。qmake のパスがちゃんと
指定できていないと、qreal が着色されないお。
って解決したのかおwww


一番いい次スレを頼む。
989デフォルトの名無しさん:2010/12/14(火) 22:47:57
ちょっと早いけど、次スレです。
http://hibari.2ch.net/test/read.cgi/tech/1292334148/l50
990デフォルトの名無しさん:2010/12/15(水) 00:12:13
一番いい次スレをありがとう。

ところで、QtWebkit の Webkitバージョンってどうやって見るんでしょうか。
ヘルプには「バージョン情報は、src/3rdparty/webkit/VERSION を見ろ」って書いてあるけど、
gitリポジトリとsha1ハッシュ値しか書いてない…。
991デフォルトの名無しさん:2010/12/15(水) 14:34:45
買った本がQtをコマンドプロンプトでコンパイルする方法の本なんだけど、
Windowsの場合、絶対、MinGWというのをいれなきゃいかんのですか?

ネットで調べてみたけど、情報が錯綜しててよくわかりません。

よろしくです。
992デフォルトの名無しさん:2010/12/15(水) 14:50:09
VCでも逝けるらしいけどVC2010で上手くいった話はまだよくわからない
Qtの勉強だけが目的なら面倒のないMinGW入れた方が結果的に楽だと思う
993デフォルトの名無しさん:2010/12/15(水) 14:51:20
>>991
MinGWを入れるのはコンパイラとしてgccを使いたいとき。つーかMinGWにgccは含まれていて
MinGW=gccと考えていい。

Qtのダウンロードページにある[Qt SDK for Windows]にはMinGWも同梱されてる。

別の選択肢として,MicrosoftのVisual Studio 2008に含まれるC++コンパイラ(VC++)を使う方法も
ある。この場合はQtのダウンロードページにある[Qt libraries 4.7.1 for Windows (VS 2008)]と
[Qt Creator 2.0.1 Binary for Windows]を使えばよい。

この場合,もちろんViisual Studio 2008が必要になるけど,タダで手に入るMicrosoft Windows SDKを
使ってもOK。俺はそうやってる。

ttp://www.microsoft.com/downloads/en/details.aspx?familyid=C17BA869-9671-4330-A63E-1FD44E0E2505
994デフォルトの名無しさん:2010/12/15(水) 15:18:17
Viisual Studio 2008は必要ないんですか?それとも必要なんですか?
995デフォルトの名無しさん:2010/12/15(水) 15:21:22
必要かもしれないし、必要でないかもしれない
996993:2010/12/15(水) 15:28:04
>>994
MinGW使わないならVS2008は必要だけど,代わりにMS SDKも使えるということ。
997993:2010/12/15(水) 15:49:24
補足すると,本家MinGW(Qt SDKに同梱されているのもこれ)はコンパイル時にソースの
エンコーディングを指定してもShift_JISのソースコードは通らないはず。従って日本語を含む
場合はソースをUTF-8で書かなければならない。コメントだけだったら問題なかったと思うけど,
日本語の文字列リテラルがある場合は引っ掛かる。

1年位前の話だから今は違うかもしれない。

ちなみにTDM's MinGWならShift_JISも通せるけど,この場合はQtをソースからビルドする
必要がある。これは実際にやってみたから確実。話をややこしくしてスマソ。

結局,日本語を含むShift_JISのソースコードを通したければVS2008を使うのが良いが,
お金を払いたくなければMS SDKでもよいと言う話。UTF-8でよければMinGWを使えば
いいでしょう。
998デフォルトの名無しさん:2010/12/15(水) 15:55:16
金?
999デフォルトの名無しさん:2010/12/15(水) 15:56:36
>>994
ren4乙
1000デフォルトの名無しさん:2010/12/15(水) 15:57:27
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。