【RAD統合環境】 Qt 総合スレ 12 【Win/Mac/Linux】
1 :
ひろみちゅ :
2011/08/19(金) 13:24:49.29 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 総合スレ 11 【Win/Mac/Linux】
http://hibari.2ch.net/test/read.cgi/tech/1306071448/
2 :
ひろみちゅ :2011/08/19(金) 13:25:29.88
3 :
デフォルトの名無しさん :2011/08/19(金) 13:25:55.39
Windows ユーザー向け Tips ・プロジェクトのパスに日本語を入れちゃダメ ・日本語のソースコードは、MinGW版ならUTF-8、VC版ならSystem(Shift-JIS) プロジェクト作成後に「プロジェクト」タブの「エディタの設定」→「デフォルトの文字コード」 ・デバッグ出力などが文字化けする場合、プログラムの最初で文字コード変換設定をする QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf-8")); //ソースの文字コードを直接指定("utf-8"や"Shift-JIS") // QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale()); //システムロケールの文字コードを指定 QTextCodec::setCodecForTr(QTextCodec::codecForName("utf-8")); //翻訳用マクロ tr()の文字コード qDebug() << "うまく表示できた?"; ・MinGW版配布時は mingwm10.dll も一緒に入れる(public domain。配布上の制限はない)
4 :
ひろみちゅ :2011/08/19(金) 13:27:22.04
5 :
ひろみちゅ :2011/08/19(金) 13:28:08.90
>ごちゃごちゃ言わず、QtQuickも使ってみてください(><;) ハ,,ハ ((⊂ ヽ ( ゚ω゚ ) / ⊃)) | L | '⌒V / ヽ,_,/ ヽ_./ お断りします __,,/,, i お断りします ( _ | \\_  ̄`'\ \ ヽ ) > ) (_/´ / / ( ヽ ヽ_)
SDKってサイズでかすぎない? あんまりデカイの入れたくないから極力削りたいんだけど (HDD増設しろというのは横に置いておいて) Symbianは興味も無いから入れないとして Qt Creator上で開発するとすれば、Simulatorは入れなくて良いのかな?
でかいよね Qt Quickとか 別プロジェクトにすればいいのに
9 :
デフォルトの名無しさん :2011/08/19(金) 18:19:41.06
>>7 Simulatorも入れなくてよいですよ。
SDKのアップデータが煩わしいので、Qt CreatorとQtを入れるようにしています。
>>9 Qt CreatorとQtライブラリを個別に落としてインストールするだけで良いのかな?
11 :
デフォルトの名無しさん :2011/08/19(金) 19:54:25.55
SDKサイズうざいけど手動でごちゃごちゃやるのも面倒だから全部入れてるわ俺
その為のSDKだから間違っちゃいないよ
前スレ最後の妙に味わいのあるAAが気になる
15 :
デフォルトの名無しさん :2011/08/20(土) 14:21:48.43
SDKはDefaultは使わずに、CustomでAPIs、Qt Moblility(デスクトップ用にビルドしたものは入ってない)、Qt Simulator Documentation、Symbian Documentation、Simulator、Device Filesを外して、 Qt DesignerとQt Linguistを追加するとサイズも小さくてインストールも早くてよい。
>>3 #include <QTextCodec>
もテンプレに入れておきなよ。
それ1年以上前の記事だけど今どうなってんの?
20 :
デフォルトの名無しさん :2011/08/24(水) 13:27:46.90
Windows で、ある拡張子を Qt で作成したアプリに関連付けし、 エクスプローラで関連付けされたファイルをダブルクリックすると、 アプリが起動し、main(int argc, char *argv[]) がコールされます。 このとき argv[] に入っているファイル名の文字エンコーディングは何なのでしょうか?
21 :
デフォルトの名無しさん :2011/08/24(水) 20:08:42.89
>>20 そこ迄動いているなら、argv[]の中を見てみれば分かる。
>>20 5スレ前のログだが
#include <QtGui>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf-8")); //ソースの文字コードを指定("utf-8"や"Shift-JIS")
QTextCodec::setCodecForTr(QTextCodec::codecForName("utf-8")); //同上
QString str = argv[1]; // 添え字チェックはとりあえず無視
qDebug() << str; //NG
str = app.arguments()[1];
qDebug() << str; //OK
str = QString::fromLocal8Bit(argv[1]);
qDebug() << str; //OK
return 0;
}
Qt初心者なんですが、ぱっと触ってみた感じでは、 GUIはデザインツール使わずに、ゴリゴリ書いたほうが分りやすくないですか? みなさんはどうやって書いてます? 現在、Windows用とMac用で同一アプリ作っているんですが、 Qtだとコードが一本化されそうなんで期待大です。
>>23 俺は、QtであろうとJavaであろうと秀丸エディタ+コマンドラインコンパイル
デザイナは使いこなせないのでコード書く派です。
VisualStudioからデザイナが起動できないから 全部コードで書いてる
( ゚ω^ )b
なんやそのツラ、腹立つなあ
>>23 簡単なGUIならともかく,パーツの数がある程度増えてレイアウトも複雑に
なるのならデザインツール使ってWYSIWYGでやった方が良い。
どうせ紙にポンチ絵描くくらいなら,デザインツールで直接作ってしまった
方が手っ取り早いよ。
慣れれば楽だよ。
リダイレクト一発。修正はしない。
秀丸からVisualStudioを使うマクロがあったな
ツールバーにいろいろ追加していると右のほうにはみ出てしまうんだが多段表示にできないの? 起動後にいちいちドラッグで多段にするのめんどい
次期Microsoft OfficeのVBAはJavaScriptになるそうです。
JScriptじゃなくて?w
帳票ツールってどうしてる?
帳票こそVBAで書けよ
なるほど。
座標や幅の設定ってgeometry 使わないとできないのでしょうか? 普通に widget->x = 100; とか widget->setX(100); みたいなのができるかと思っていたのですが、 それらしい関数がわかりませんでした。 固定的な幅と高さの設定は分かったのですが。。。 この座標等を「この設定にしたい」という場合は、 現在の geometryを取得 必要な場所だけ上書きして、残りは前の設定を入力。 geometory を 再設定 という流れが通常という認識でよろしいですか?
PySideはいまだにバグだらけ。
45 :
デフォルトの名無しさん :2011/09/01(木) 11:25:05.12
Qt 4.7.4 Qt Creator 2.3
メンテナンスツールはアップデートして益々使いづらくなったような
Qtがオワコンになる日がこようとは
Qt Creatorとどう違うのかがFAQにすら書いてないね。 うーん。
アホ毛
>>47 SDKはもう少し使いやすい構成にしてメンテナンスツールをまともにしないといけない。
プロジェクトの中で使われている、フォント名を調べるには
はい
PyQtがあるから問題なし。
Qt Creatorをバージョンアップしたらいつの間にか 「Ctrl+←→」の移動範囲が単語単位から大文字区切りになったり 文字列選択中にカッコを押したら選択範囲にカッコが付けられたりと 使用変更されてね? はっきり言って使いにくいんだけど
ソースコードを読めば云々
「Ctrl+←→」は、オプションのキーボードでキーボードショートカット定義。 使いにくい方については、オープンソースなのだから文句は言わずに、オプションで切換えられるようにするパッチを作ってマージリクエストすればよい。
というか どういう理由で今まで使いやすかったのを 変更したのかね
「Ctrl+←→」はキャメルの方が使いやすいから。 カッコの方は機能追加だから。選択範囲をカッコにしたければ消してからカッコを入れればよい。
今でより使いやすくなった。
IntelがMeeGo開発から手を引くらしい。
QtはQtだしあんま関係ないよデスクトップ用途では 今まで通り進んでゆくだろうし…どっちかっていうと モバイルのほうが特殊な環境なんよ
QAbstractItemModelの実装例が載ってるサイトしりませんか?
>>64 NokiaにいるQtの開発者はNokiaの携帯が売れるから食っていけてるいる訳だ。
商用版はDigiaに売ってしまっているから、Digiaがいくばくか払ってはいるかもしれないが、直接的な収入はまったくない。
QtがNokiaの携帯に使われなくなっているのに、NokiaがQtの開発者を食わせていく価値があるのだろうか。まったくない。
NokiaからIntelに行った開発者もいるが、IntelがMeeGoから手を引けば存在価値はなくなる。
これで、今まで通りにデスクトップ用途で進めるか。進める訳がない。
NokiaにQtを売ったのがそもそもの間違いなのだ。
またいつものアスペか
>オープンなトレーニング飼料に 一瞬畜産業でもはじまったんかと思ったわw
こりゃ、Gtk+の時代・・・ あるで!
GTK+と共に廃れる時代。
GTKは糞
こりゃ、Flkの時代・・・ あるだっちゃ!
以下マイナーGUIツールキット知ってる自慢が続きます・・・
FLTKはスレ立ってないね ストラウなんとかさんの本で出てたが
Qtのソースコードってクラス設計の勉強になります?
なります
82 :
デフォルトの名無しさん :2011/09/09(金) 22:42:33.13
InterViews復活はまだか?
Qtのソースは巨大すぎて設計の勉強にならん
クラスの設計の勉強なら,ソースコードは要らないでしょ? ドキュメントだけで充分わかる。
Qt4.7のQProcess使って、stdoutを読んで、それに応じてstdinに書きたいのだけど、 readyReadStandardOutput()シグナルが出てくれなくて困ってる。 (stdoutがバッファリングされてるのかな?) 1行ごとか、stdoutがflushされるごとに発してくれたら、 あるいは、Qt側からflushさせることができたらありがたいのだけど。 いい方法ないですか? startのOpenMode引数に QIODevice::ReadWrite | QIODevice::Text や QIODevice::ReadWrite | QIODevice::Unbuffered 指定はやってみたけど、変わらなかった。 ぐぐったらQt3時代のwhile(proc->canReadLineStandardOut()){}みたいなのが出てきたから proc->setReadChannnel(QProcess::StandardOutput); while(proc->canReadLine()){}やってみたが、canReadLine()がfalse返すだけだった。 ためしにシグナルきてなくてもreadAllStandardOutput()呼び出したが、何もこなかった。 waitForReadyRead()呼び出してみたが、処理が帰ってこなくなるだけだった。
複数のQTimerクラスを使って処理を分けたいのですが timeoutが発生したQTimerが、どのQTimerなのか判別できなくて困っています。 A,B,C,Dという4つのQTimerクラスを生成して、それぞれstartを実行させると バラバラにtimeoutが呼び出されるんですが、その際にどのQTimerなのかを 判定するにはどうしたらよいでしょうか。
sender()でわからない?
>>86 4つのタイマーのスロットを分けるか、スロットを共通にするなら
>>87 の言うように
sender()で識別可能。
>>87 ,88
ありがとうございます。QTimerは動的に生成するのでスロットは共通を
考えていました。sender()の存在は知りませんでした。
timeout時のスロットをこんな感じで実装してみます。
void a::slot(){
QTimer* timer;
timer = qobject_cast<QTimer*>(QObject;;sender());
(略)
}
取得したtimerと自分で持ってるQTimerを比較して一致したら特定
とできそうです。
比較だけならqobject_castしなくてもよいですよ。
>>90 あ、そうか、アドレス比較ならキャストしなくてもいいのか。
すいません、どうもありがとうございます。
アドレス比較でもいけるんやろけど、お行儀的には QTimer::timerId() を使って比較する方が賢明な 気がしないでもない。
QTimer::timerId()は、setInterval()を呼び出すと変わってしまうからアドレス比較をしなければならない。 スレッドを跨がっていたら、ドキュメントにスレッドセーフと書かれてなくてもtimerId()ならよいけれど、 他のメソッドはスレッドセーフでないから注意。
そういうことなら、QObject::property() の方がいいかも。
アドレス比較でいいと思うけど、お行儀気にするならQSignalMapperでも使えば?
>>85 UNIXかMinGWなら内部でPIPE使ってるから、
./a.out |cat みたいにしても何も表示されないなら無理。
Windowsは知らん。
それ日本語版が出るんじゃなかった? QtWebkit、 Model/View(QTreeView、QListView、QTableView)、 QTextEdit、 QGraphicsView あたりを知りたい人向け
すみません、質問です。 MFC CDCを使って様々な図形を描画している、ソースコードを、 Qtのソースコードへと移植したいんですが、どういった方法がいいでしょうか? 自分でラッパーを書こうかと思ったのですが、大変そうなので、もっと効率的な方法があればと 思って質問させて頂きました。 (仮想マシンのWindows上で動かす以外の案でお願いします。 Qt/MFC Migration Frameworkというのもあるようですが、CDCは関係なさそうなので… 動かすだけなら、Wineというのを使ったほうがいいのでしょうか(?)) 何か的はずれなことを書いているかもしれませんが、 アドバイスのほどよろしくお願いします。
>>99 すみません、抜けてますが、移植先の環境はCentOS6を考えています。
Qt4.7.4のVS2008向けインストーラーでインスコしたら Qt Assistantの表示内容に全くスタイルシートが適用されていなくて見づらい 4.7.3のときは正常だったのに これって俺だけ? DL失敗してインストーラが壊れているのかな・・・いやまさかそんな訳が
>>101 インストーラじゃなくてソースからmsvc2008でコンパイルだけんども
俺のもソレになってるわ
原因はわがんね
Qtアップデータで4.7.4と4.8.0(mingw/msvc両方)入れてるけど、 なんかプログラムメニューからQtアシスタント消えてるような・・・ QtCreatorからヘルプ見る分には特に問題ないみたいだけど
GIMPってもっさりしてるんだけどwindows環境のgtk+って重いんですかね? ちなみにQtもMFCに比べると多少重いのでしょうか?
GTKは糞
>>104 linux でもあんま変わらん起動にかかる時間は
なんとなくメモリが1G程度あればそれなりに使えてるかんじか…
PCのスペックにもよるか…psd読めるから嫌いじゃないよ俺
GIMPは機能云々以前にUIが超絶クソ重いので即アンインストールした なんであんなに重いんだアレ
psd が読めるなら他のに移行してもいいんだが… ってスレからずれてるしここはQtのスレだってばd
Photoshop ElementsがQtだったような
>>106 へえlinuxでも変わらないのか。。。
QtでQIMPを作れよ
112 :
デフォルトの名無しさん :2011/09/14(水) 01:09:56.46
読み方なんてどうでもいいだろ 問題はQtに関連してるかどうかだ
GIMP有料だったら誰も使ってないと思う
QtのテキストボックスってWindows標準とけっこう違わない? マウスドラッグで範囲選択の挙動とか。
自前で実装しているからな
>>109 普通のPhotoshopは何でできてるの?
>>117 PEIDで調べたところ、VC6.0だね。
VC6.0って64bitコンパイル出来たっけ?
>>115 そういうのって挙動を同じにしたものを作ってもコミットされないんかな
今のがいいっていう人もいるだろうし
QtDesignerでの操作のみでコントローラを親ウィジットいっぱいに広げる事ってできますでしょうか?
あ、レイアウトのプロパティにマージンの設定ありました。失礼しました。
>>119 なぜあんな糞高いPhotoshopを持ってる。
まさか・・・。
紙の上にすらマトモに絵を書けないのにPhotoshop持ってるヤツを煽るのは楽しい。
フォトショは学生時代にアカデミックで買っておけば あとはアップグレード版で買えるから大したことは無い
PhotoShopは使わないんだけど、Macromediaの時代からFireWorksはよく使ってるな。 高くなったのでそろそろ乗り換えようかとは思ってるけど
フォトショなんて素人が何に使うんだ? GIMPで十分だろ。
>>120 個人的には、本当にテキストだけを扱うクラスがほしいな。
QPlaneTextEditだっけ、あれ超リッチじゃん。。。
プロというか、ある程度デザインとか、出来上がった絵を描ける人か。 それ以下のレベルでしか使わないなら、Pixiaレベルでもまだ十分じゃん。
スレ違いな話ではあるけどその辺はプログラム書けもしないのに VS買うヤツと似てるわな。コンパイラなんてただで手に入るのに。
ソフトを買うこと自体が楽しみだったりする人も居るんだよ・・・
昔は分厚い言語リファレンスとか付いてて重量感あったから、開発言語は高い買物したという実感があったな。 今は下手するとDVD1枚のペラケースだけだったりしてションボリするケースが多いw
解説書はPhotoShop対象のばっかりだから、かえって素人向けとも言える。
すみません、QApplicationのイベントのキューが空のときに関数をコールしたいのですが (MFCでいうOnIdleみたいな) どうしたらよいでしょうか?
138 :
デフォルトの名無しさん :2011/09/15(木) 00:53:39.43
人生一発逆転のために、
>>96 の本を買おうと思います。
それで、Qtでアプリケーションたくさん作って、フリーウェアとして公開して
たくさんシェアを伸ばして、有名メーカーに売りつけたいと思います。
俺も、画像加工とかしたことないけど PhotoShopは一度使ってみたい。 自慢じゃないけど、写生会で入賞したり、模型のコンテストで入賞したりしたことあるから、 画像加工もきっとできる。
QtからOpenGL(GLUT)使おうと思って、Qtコンソールアプリケーションを作ってウィンドウを表示させるまでは良かったのですが、 その時一緒にコンソール画面も表示されてしまいます。 このコンソール画面を消す方法はないでしょうか? QtGUIアプリケーションでQGLWidgetを使ってもよかったのですが、どうも動作が思わしくなかったのでコンソール起動に変えたのですが・・・
142 :
デフォルトの名無しさん :2011/09/15(木) 16:10:07.38
>>141 まあ、Windowsとは思うけど環境は?
>>141 すいません抜けてました。
Windows7です。
QTableViewのroleとheadersectionって何?
>>141 コンソールアプリとして作ったからコンソールが表示されて当たり前なのでは??
GUIアプリとして作って、
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
return a.exec();
}
これだけにすると、何も表示されないよ。
>>141 visualstudioなら設定-リンクのサブシステムでWINDOWSにすればできるかな?
149 :
デフォルトの名無しさん :2011/09/16(金) 22:37:02.12
貴様ら!もっとQt使わんか!日々精進しろ! 日本の一番活発なQtフォーラム(ここ)が、1日5レスしかつかんトハ、 何事だ!
wxWidgetsってどうです? それにしても人少ないですね
>>150 Qtと比べればしょぼい。
GUIデザイナに恵まれていない。
wxGladeやXRCedなどがあるが、出来が悪い。
だが、ライブラリ自体はまあ良く出来てると思う。
152 :
デフォルトの名無しさん :2011/09/16(金) 23:33:27.28
しかし、古インストールしたら8Gだぜ。
たまにはWideStudioのことも思い出してあげてください
>>141 一応apiにコンソールとの接続を切るものがあるから、api使っていいなら
出来るけど、こういうのって思わぬ不具合の元だから、QGLWidgetで解決する方法を
考えた方がいいとおもうよ。
ちなみにapiを使う方法だと一瞬コンソールは表示される。
(apiの名前はすまんが忘れた)
>>150 windowsのMFCを使っている様な感じ。
Qtを除いたら、一番いいクロス開発できる。
Qtの独特なプリプロセッサが嫌で、wx使っている人はいるみたい。
珍しく日本語も対応しているけど、大分前に使った時は、日本語入力していたら
途中で落ちたりした。
>>153 あれ、まだ開発続いているのかな?
独自のGUIコンポーネントなので、見た目が少し
浮いてしまうんだよね。手軽にボトペタで設計しながら、コード書けるのはいいんだけどね。
あとかなり前に使った時は、バグっぽい挙動が結構あった様な…
なんだかんだで、Qtはよくできていると思うよ。
>>150 俺も
>>154 同様、結構良いと思う。QtがなければwxWidgets使ってたな。
GUIデザイナは、IDEにcode::blocks使うと解決する。なかなか良くできてるよ。
仕事で使うGUIツールキットの選定のための評価で、最後まで残ったのが
QtとwxWidgetsだった。
>>155 最新版は v3.98-6 (2010-08-10)でもう1年以上音沙汰が無くなってるね。
作者に何かあったか、やる気が超絶に失せたかどっちかだな。
>154 Qtのプリプロセッサは良く出来てるから嫌じゃないけど 完成したexe実行に必要なdllが判り難いので楽な方法があるとありがたい
すみません、 QMenu menu(this); menu.addAction("hoge", this, SLOT(updateItem("aaaa"))); こんな感じでSLOTに引数渡したいんですが、一度間に挟まなきゃいけないでしょうか?
162 :
144 :2011/09/17(土) 21:39:22.42
>>146 なるほど、VisualC++に標準で付いているもの以外の
メモリリーク検出ツールを使ったほうが良さそうですね
ありがとうございます
typedef uintが他のプログラムと衝突するので宣言したくないのですが どうしたらいいでしょうか
>>165 「名前空間識別子 C++」で検索しては?
delphiがiOSまでカバーしたらしいし、 Qtもなんとか頑張ってくれんかな
prism なら最近 .net サポート打ち切ったと聞いた様な気が… 接写エンバカテロのmonotouch切りー残念せっぷく!(流行遅れ
http://edn.embarcadero.com/article/41575 >Delphi Prism could previously be used with the MonoDevelop IDE and MonoTouch from Novell
>to develop iOS applications. That functionality is also no longer supported. We recommend Delphi XE2,
>now with the new FireMonkey application platform, for building native iOS applications.
これやね…firemonkeyてので一応サポートされてるみたいだった
勘違い乙
最新版はdelphiからXcode用のソースをはくらしい。 (最終的にmacとXcodeは必要)
Delphiなんてデバッグどうすんの?
スレち こっちくんな
あいつらDelphiがクロスコンパイルできるようになって嬉しくて仕方ないんだよ。 だからこのスレまで出張して自慢してる。 同じ土俵にすら立ててないのが分かってないんだよなw
QtでiOSとかカバーできたら俺も嬉しいけど。 ま、無いものねだりです。
ていうかiPhoneでは一部動いてるんじゃなかった??
Qt4.8で正式対応じゃなかったっけ
素晴らしい
NokiaはWindows Phone採用なのに。 なぜにWPより先にiOS対応させる……
単純にqt開発者にosxユーザが多い…多かったとかか… 提携したのつい最近だししばらく時間かかるのはしゃーない
Qt関連のスクショはやたらOSXが多い気はするな
まぁWindowsだけの開発ならVS使うことが多いだろうしな。
Nokiaの経営陣じゃなくて中のひとにはもう少しがんばって欲しい
親から見て孫で発生したシグナルは子が処理するべきかな?
自動車用機器のOSがMeegoになると、Qtももう少し日の目を見るの?
>>185 用途や目的にもよると思うし、一概には言えないが、基本的にはそうすべき。
Qtの勉強会に参加してみたが、 参加者の持ち込みPCがやたらとMac Bookの方が多かったのは確か。 PCが3台でそのうち1台はLinux動かしてた。
サンプル数が少なすぎて なんとも言えんな
190 :
デフォルトの名無しさん :2011/09/24(土) 00:15:24.95
おい、WinAPIスレで↓こんなこといってるやついるぞ。 >Qtってマウス操作でボタン貼り付けたり、貼り付けたボタンダブルクリックでボタン押下時の処理が自動生成されるようなエディタあるの
他スレから上げてまで持ってくると言う精神がわからない… せめてsageで書くべき
MeeGoがTizenに、迷走しまくり。
>>194 でも、TizenはHTML5前提だから、QtのJavaScript採用とは符合するね。
WinRTが仲間だよ!
MeeGoがなくなってTizenに開発者が吸収されたと言った方が合っている。Qtの居場所が確実にまたひとつ減ったと言うことだ。
Windows PhoneがMangoだって聞いて MeeGooかと思って喜んだ10秒間
KDEもGnomeが最近はいい感じだしどうだろうな
>>197 お前?すげー期待してる
がんばってくだしい
>>197 先生、「わるいところ」が結構痛い気がします(ノ∀`)
QProcessって、変な癖とかあります? プラットフォームの違いをコマンドラインのプログラムに抑え、 GUIでそれを利用する設計で開発をしようと考えています。 QT_GUI(共通) -- write --> コマンドライン -- read --> QT_GUI(共通) というようなイメージです。 とりあえず、サンプルプログラムは期待通りの動作をし、 IOはボトルネックになっていないです。 なお、コマンドラインは変換を伴うパイプ処理みたいに動きます。 これもQT4で開発していますが、最終的に C#, Objective-Cになるかもしれません。 input(hello) -> output(HELLO) を複雑にしたものと捉えて頂いて大丈夫です。
ないよ。
世のなか結局、金やな・・ Qtほどすばらしいプログラムはないのに・・ ほとほと、いやんなるわ。
>>205 > Qtほどすばらしいプログラムはないのに・・
ないのに・・なに?
別に困ることはないと思うけど。
>>197 Ruby のデメリットにドキュメントの不足を挙げておきながら
Python Qt でもドキュメントが無いって馬鹿にしてんの?
>>206 おまえ、すばらしいものが、経済力や政治力によって、失われてしまうんだぞ。
ただ単に、権力者の都合の良いものだけが生き残るんだぞ?それをなんとも思わないのか?
まぁ、Qtの思想は生き残るだろうけど。なんとも思わんなら、人間としての価値はないわな。
どうも、TizenはUIはHTML5でプログラム部分はJavaScriptになりそうだな。
HTMLでデスクトップアプリを組む時代が到来するのか・・もう、プログラマいらねえな・・
> おまえ、すばらしいものが、経済力や政治力によって、失われてしまうんだぞ。 Qtがなくなるなんて話、どこにあるんだ?
>>208 ん?JavaScriptでも別に基本は同じだろ。
書式は違うけど。
まさか、JavaScriptをHTMLのようなものと思ってない?
あくまでプログラム言語だよ。
まあ熱心な信者ほど理想を裏切られた時になにもかも憎らしくなるのは分かる 俺もピングドラムの迷走っぷりにはどうすればいいのやら・・・
qtは政治的に成功しただろ 失敗したのはwxWidgetsやmotifあたり
デ、D言語・・・
PythonとRuby比べて、「Rubyはバージョン毎の差異が〜」ってのもなぁ、と思う。
それゆーたらPythonだって…。
>>212 motifさんはもうどうしようもないと思うけど、wxWidgetsはmaximaその他で現役だお。
>>213 なんかゲリラが地道に頑張ってるっぽいから芽がついえたわけじゃないんじゃ?
んじゃあ、Qtは当面パソコンのデスクトップだけになるわけ?(´・ω・`)
そもそも、スクリプト言語で作ったシステムなら、 Javaとかのものに比べれば寿命短そうじゃん。 アジャイル的に「サクッと作って、改良続けてくよ」なイメージ。 だから変に昔の形式にこだわるより、どんどん言語を進化させて欲しい。
D言語:そうそう、やっばり進化が大切だよな!
D言語は互換性を無視して進化だけを追い続けたから 誰も追いつけなくなってしまった でもこれで完成! って状態になれば普及の手はあると思う
普通のC++で自動変数を渡す際は、開放されないようにメモリを確保するけど、
Qtの「Qなんちゃら」クラスでもそれは同じなのかな?
たとえば、
QString getQString(){
QString output;
// do something
output.append(result);
retrun output;
}
なんて Java みたいな書き方は、やっぱしちゃダメなんだよね。
http://lists.trolltech.com/qt-interest/2002-05/msg00940.html で色々議論してて、「ポインタ返すな」みたいな主張している人がいるけど、
結局のところはどうなのでしょうか。
同じだけど、そのコードは値を返してるから問題ない リンク先のスレは参照を返してるのが論点 「ポインタ返すな」ってのはfreeしないといけないから、値返した方が安全って主張だね
多態性の恩恵を受けられんけどな
222 :
デフォルトの名無しさん :2011/10/02(日) 16:42:21.32
Qtでゲーム造れますか?
223 :
デフォルトの名無しさん :2011/10/02(日) 16:43:11.69
>>219 QString はコピーが何度も生成されないようになってるって誰か言ってた
>>221 Qt はなんちゃってキャストがあるからその辺は融通が利く
>>219 C++でも普通はそういう風にJavaみたいに(?)書きます
リンク先は戻り値がQStringじゃなくQString&になってるからNG
あ、「C++の普通」ってのは語弊があるけど、C++標準のstd::stringでもよくそうやって返すよって意味ね そういう関数で書き換え可能な参照やポインタを返す意味はちょっと思いつかないんだけど クラスメソッドの場合でメンバ変数のコピー作りたくないからconst参照返すってケースは自分は割りとあるかも
>>225 QString& func()
QString func()
え?これに違いあるの?
>>220 なるほど。意識しなくていいなら、楽ですね。
>>226 やはり、メモリの管理は組み込みとかで無い限りは、
あまりやらないほうが賢いかもですね。
間違った書き方してても、開放のタイミングでOKだったりするのが厄介。
勉強になりました。
>>227 QStringではなくクラス一般の話なら意味はある。
funcをオーバーライドした際、参照なら戻り値の型を変えられる。
Qt の場合は QString & 推奨
>>227 後者はコピーコンストラクタが呼ばれてオーバーヘッドありまくりじゃね
Qtって、なにげにリソースを実行ファイルに組み込めるのが便利ですよね。 英語の文章を"英語の発音記号 or 日本語のカナ"に書き下す コマンドプログラムを作ったのですが、 辞書を内部に組み込めたのが非常に助かりました。 ダイナミックリンク向けのライブラリなんかも、内部にいれられるらしい(?)ので楽しみです。 Mac用アプリなら簡単にパッケージ内に組み込めるのですが、 開発に慣れていないWindowsとかだと、いつも dll あたりをどうするか悩んでいたのでw
>>231 Qtのコンテナクラスはコピーでディープコピーをしないので、
オーバーヘッドはそれほど大きくはない。
なんでもかんでも static link で取り込むと GPL とかに 引っかかりそうだが…まぁうっかり取り込まないように収拾選択すればおkだ
>>230 これ戻り値にQString&推奨って意味?
ソースおしえてほしいです
>>236 初めたばかりであればプラッフォームを意識する必要はないでしょ
Mac専用のサンプルなんてデプロイ参考以外に必要ありませんし無いです
>>237 環境依存のライブラリを分離したいと考えている為です。
もともと、Win/MACで別々のコードで開発していたものを、
GUIをQt4で作り、依存部分をコマンドプログラムとし、
前者が後者を呼び出すという形で開発しようかと考えています。
その過程で、Mac用のframeworkを、Qt4のプロジェクトにとり込みたかったわけです。
その箇所だけObjective-Cで作ることも可能ですが、
文字コードあたりで引っかかりそうな気がしていて避けておりました。
>>238 プラッフォームを意識する必要はないでしょ
240 :
デフォルトの名無しさん :2011/10/03(月) 11:41:41.31
QtをEclipseで使用しようとしているが、ビルドしようとすると”makeを実行できません”のメッセージが・・ QtSDKもqt-eclipse-integratioもインストールしたしmingwのパスも通した。Eclipseでc++開発もできる。 EclipseでQtのデザインを使って貼り付けたりできるんだが、いざ実行しようとする部分で詰まっている。 どっか抜けてますか?
>>240 Qt Eclipse Integrationの設定。
242 :
デフォルトの名無しさん :2011/10/03(月) 14:47:04.37
>>241 すいませんが、Qt Eclipse Integrationの設定はどこでするんでしょうか?
243 :
240 :2011/10/03(月) 14:57:39.70
>>241 ごめん、Qt Eclipse Integrationの設定もしてあります。
EclipseでWindow > Preferences > Qtで設定するところだよね?
それだとしてあります。
オープンソースカンファレンス 2011 Hiroshimaって大盛況だったの? 写真にはSTAFFを除いたら9人しか映ってないけど
Qtを使ってWindowsのペイントみたいなお絵かきソフトを作ろうと考えています。 何か良いサンプルをご存じの方おりませんでしょうか?
GIMPはQtじゃないだろ
Qtを使ったペイントソフトなんてないし
nekopaint ossじゃないけど
>> 247
GIMP はGTKですね、確か。
>>250 何故Qtでペイントソフトが無いのでしょうか?
技術的に不可能って訳では無いと思うのですが…
>>251 ありがとうございます。
ですが参考にしたいのでコードが見たいのです。
本当にサンプル程度で良いのですが…
C++なんだから参考になるだろ
QImageかQPixmapにQPainterでどんどん書きこんでいけばいいよ
>>254 ありがとうございます!
早速試してみたところ、無事にマウスで絵が描けました。
ですが、何故かQImageを貼り付けているQWidgetの大きさが表示より小さくなってしまい、描画領域が狭くなってしまいました。
Q
tCreatorのデザインでUIを作っています。
まずQWidgetのcentralWidgetを作り、その中にQWidgetを継承した独自クラスを配置してそこに描画しています。
描画はQImageを独自クラスのコンストラクタでthis->width(),this->heightの大きさで作成し、
paintEventで独自クラスにdrawImage(0,0,buffer)で描画しています。
現在だと何故かthis->width()が100になってしまいます。
Qt Creatorで作り、実際に表示されているのは600×300の大きさで、今は左上の少しの領域にしか描画できず、他の所は無反応になります。。
実際に表示されているwidthとheightを取得したいのですが、どうすれば良いでしょうか?
それとも、コンストラクタでやるのはおかしく、一通りのQt側の初期化処理が終わってからQImageを作成するべきなのでしょうか?
何がしたいのかよくわからないが「Qt Widget レイアウト」とかでググると幸せになれるかも
あまり良くなさそうなうえGPLかよ
他人のソース見ないと造れない香具師が 「技術的に不可能では無い」(キリッ) とかwww
お前はサンプルコードとか見るなよな
>>256 上手く伝えられなくてすみません…ですが無事に解決しました。
問題を整理すると
・デザイナーでQWidgetを継承したクラスAを配置
・Aを初期化する際に、全く同じ大きさのQImageを作成して0,0に貼り付け
をやっているにもかかわらず
・貼り付けられたQImageは表示されているAの大きさより小さい。
・初期化の時にAの大きさを出力してみたが、とても小さい。
・マウスイベントでAの大きさを出力してみると、初期化の時に表示させたより大きい。
といった部分で困ってました。
どうやら初期後にリサイズをしてから表示される大きさになるようですね。
resizeEventでQImageの初期化を行うようにしたら解決しました。
>>257 すみません…paint や draw とかではググったのですが、graphicは失念していました。
早速読んでみます、ありがとうございました。
馬鹿には無理
>>261 たいていのソフトではキャンバスの大きさはユーザーが任意に入力した値だから
初期化時にWidgetと同じ大きさで作成するっていうのはあんまやらんと思うよ
あと、resizeEventでQImage初期化したらWidgetリサイズするたびに書き込んだデータ消えてしまう
Advanced Qt Programmingの日本語訳でるってスレで誰か書いてなかったけ? いつでるの?英語版買おうか日本語版待つか迷ってます。
どうせ糞翻訳だろうから英語版買っとけ
Qtって仮想スクリーンとか無い? Widgetへ描画予定の内容をビットマップに描きだしたり、 XにWidgetが割り当てられてなくても、Widgetに自作した マウスイベントやキーボードイベント送ったら反応したり。
>>266 QWidget::render()、QApplication::postEvent()、QApplication::sendEvent()
>>265 そのようなこと言う奴は大概糞翻訳しかできないだよな。
269 :
デフォルトの名無しさん :2011/10/09(日) 13:53:26.23
Mac でIMEのON・OFF(ひらがな・英数モード)を切り替える方法がわかりません。 どなたか、ヒントだけでもご教授してくれないでしょうか。
>>268 でも、糞翻訳が多いのは事実。
プログラミングをやってるのなら、英語のプログラミング本を読むのが
苦にならない程度の英語力はつけとけ。
そうでないと、この業界でやっていくには、かなり苦しい。
原文が読みやすいからクソ翻訳にはならないだろう せいぜいpickleをピクルスと訳して同業者からケチつけられるぐらい
ある程度英語ができるなら、ソースコード打ち込むだけでも何やってるかわかるから 邦訳の本買うよりはずっといい。ニュアンスがそのまま伝わってくる。
フランス語の出ないかな〜
Qtの開発支援制度とか Qtの開発に関わってる人は報酬かなんか貰えるの?
ネットでWebLioとかで調べながら(単語の意味を)強引に意訳でもいいから 読み進めていく。ソースは全世界共通だから、なんとでもなる。 英語は大西泰斗って言う人の基本的な英語のルールを解読できる本で俺は身につけた 大卒程度の英語力もないし、専門卒と同じくらいだと思う。 それでも、けっこう読める本もある。
>>271 甘いな。
分かりやすい原文がここまで分かりにくくなるか!?って
言いたくなるくらいの糞翻訳を何度見たことか…。
訳本を読んでよく分からなかったところが、原本を読んで一発でクリアに分かった、
って何度も経験をすると、訳本なんて読む気にもならない。
良い訳本も無くはないが、例外的だと思った方がいいだろう。
つーか、色々訳者も苦労してるんだろうからいいたくないけど、 まじで、システム開発関連の邦訳本はあまりにも・・といいたい。 というか、日本語がプログラムと合わないようにできてるんかね?
典型的な命令文が述語→目的語だからな オブジェクト指向言語になると多少は目的語→述語になったりするが
技術本は文学的な技量が要求されないから、翻訳業界じゃ下っ端のやる仕事扱いなんだよ だから本の内容に疎いばかりか、ろくに翻訳もできない人がやっつけ仕事で終わらせちゃう 技術本の良い訳本は物好きな技術屋がその技術を広めたくて訳したものだけだね
技術関連の訳本は、英語に加えて技術の理解があるからね MSDNとか見てみると、本当に酷いよ 物によってはまるで逆のこと書いてあるし、大切なところ端折られたり 結局最初から英語の方が効率いいってのは、この業界ではよくありそうだね
>278 >というか、日本語がプログラムと合わないようにできてるんかね? それはない。むしろ逆ポーランドはアルゴリズムと非常に相性が良い。Forthとかね。
どこかで見たけど、 オブジェクト指向は言語に「主語」を与えるものだそうな。 確かに、StringObject.Length だとSVになるし、分かりやすい。 Length (StringObject) よりも、右結合のmethod chainの方が俺は好き。 というか右結合以外だと処理の流れと文の流れが逆になったり入れ子になったりするやん…。 技術文書は英文でも読むだけならそこまで難しいのは多くない(使う単語が限られてるので)と思うけど、 疲れてる時に見ると、さっぱり頭に入って来ない。
腐った訳本なら、なおのこと、さっぱり頭に入ってこないだろ。
ブラウザでもGoogleとか必死になってJavaScriptやめたがっているのに デスクトップアプリでJavaScriptごり押しする馬鹿なQt
んにゃ人力翻訳も結構あるでよ。 C#,VB.NETの主要ライブラリとかはかなり人手入ってる。
さすがに機械翻訳だけでああはならないな。 機械訳を元に開発者ではない人が修正してるってとこじゃないかな。
すみません質問です。 読み込んだ画像を表示させて透明度をスライダーで調節したいと思っています。 対象はα値が無いpng画像で、読み込んだ後にα値に対応させてます。 一度QImageで読み込んだ後に1ピクセルずつpixelで取り、 rgb値はそのままでα値を255にしたQRgbを別のARGB32で初期化したQImageに代入しています。 ですが、代入した方のQImageを表示さると、画像が乱れて原形をとどめない画像が表示されてしまいます。 元の読み込んだままの画像を表示させると、α値を変えることは出来ないのですが問題無く表示されます。 また、元の画像も代入先の画像もサイズは同じです。 読み込んだPNG画像をconvertToFormatでARGB32に変換した場合も、同じ結果になります。 解決方法もしくはより良い方法をご存じの方がいらっしゃいましたら教えて下さい。
QPainter::compositionModeを変更して、塗りつぶしでアルファ値を書き換えるのがお勧め アルファ値が一様ならQPainter::CompositionMode_DestinationIn(Out)が使える 詳しくはリファレンスを読んで 画像が崩れる理由は分かんない そっちを解決しないことにはこの方法も使えないかもしれないけど・・・
>>290 ありがとうございます早速使わせて頂きます。
ですがやはりそれ以前に、画像の崩れが問題でした。
私はこのコードでRGBからARGBへの変換を行おうと、Macで開発を行っていたのですが
QImage img = QImage(filename, 0);
img.load(filename);
backgroundImage = QImage(QSize(img.width(), img.height()), QImage::Format_ARGB32);
for(int i=0; i<img.height(); i++){
for(int j=0; j<img.width(); j++){
QRgb color = img.pixel(i,j);
backgroundImage.setPixel(i,j,qRgba(qRed(color), qGreen(color), qBlue(color), 255));
}
}
先ほど、同じコードをWindowsで動かしたところ、画像の崩れもなく動きました。
またより単純に
QImage img = QImage(filename, 0);
img.load(filename);
backgroundImage = img.convertToFormat(QImage::Format_ARGB32);
を行ったところ、Windowsでは問題無く動きますが、Macだと画像が崩れてしまいます。
画像の崩れはMac固有の問題のようです。
どうもお騒がせしました。
>>290 また追記すると
QImage img = QImage(filename, 0);
だけ(backgroundImageには何も代入しない)場合も何故か崩れた画像が表示されます。
表示部分はbackgroundImageを、WidgetにPainterのdrawImageで描画しているので
imgが描画されることはなく、何も初期化していないbackgroundImageが描画されるはずなのですが…
>QImage img = QImage(filename, 0); この時点でfilenameがimgに読み込まれるので、 >img.load(filename); これがなくても同じ結果になる ほんとにbackgroundImageに代入も初期化もしてないならbackgroundImageはnullなイメージのはず つまり描画はスキップされるはずだから、何かしら描画されるのは正常じゃない動作だよ 描画の直前にQImage::isNullとかQImage::saveとか使ってbackgroundImageが本当にnullかどうか調べてみるといい >for(int i=0; i<img.height(); i++){ >for(int j=0; j<img.width(); j++){ あと、これheightとwidth逆
>>291 Macですけどそのコードで崩れませんけど。
>>289 >>読み込んだ画像を表示させて透明度をスライダーで調節したいと思っています。
↑これがしたいだけならスライダーのシグナルに↓のようなスロットをつなげばできますよ。
void setAlpha(int v)
{
QImage copy = QImage(src);
QImage alpha = copy.alphaChannel();
for(int y = 0; y < alpha.height(); y++)
for(int x = 0; x < alpha.width(); x++)
alpha.setPixel(x, y, v);
copy.setAlphaChannel(alpha);
imageLabel.setPixmap(QPixmap::fromImage(copy));
}
※imageLabelはQLabelクラスのインスタンスです。
※srcは読み込み時にconvertToFormatでARGB32に変換してます。
小さな画像なら良いけど、大きな画像ではQImage::pixelとQImage::setPixelは重いのでそういう使い方は避けた方が良い
代用は
>>290 の方法とか、
>>295 のfor文をQImage::fillに変えるとか、QImage::bitsが返すポインタを使い回すとか
297 :
デフォルトの名無しさん :2011/10/14(金) 11:39:24.54
あーあ。どっか、NokiaからQt買い取ってくれんかな・・ Nokiaにいたらマジでつぶれるわ・・ Googleサンあたり買い取ってくれんかしら・・
298 :
297 :2011/10/14(金) 11:40:20.98
しまった。また、下らん話題でageてしまった。どこぞのうるさい族に 上げるなっていわれる。すみませんでした。
GoogleAPIを使って住所から、緯度経度データに変換したいんですが、 Qtのクラスを使ってできますか? Webアプリって組んだことがないもんで こう言うのをWebアプリと言うかわかりませんが
できますよ
おおおお色々ありがとうございます!
>>293 backgroundImageを調べてみたところ、NULLでした。
ただ、名前からも察しがつくかと思いますが、私のプログラムではファイルから画像を読み込み
その画像の上にもう1枚レイヤーを重ねています。
調べてみたところbackgroundImageはNULLですが、その上に重ねているレイヤーの方に読み込んだデータが崩れた状態で書き込まれていました。
ですが上で貼り付けたコードだけで1つの関数になっていまして、imgが上のレイヤーを操作する所まで生きているはずはないのですが…
>>294 widthとheightを間違えたせいかと思いましたが、
convertToFormatで変換する方法だったとしても乱れたままです…
>>295 >>296 ありがとうございます!
透明度をいじる際に遅いのにちょっと違和感がありましたので、QImage::fillに直したらだいぶ高速化できました!
Signal/Slotを使い、かつWidgetみたいに表示させる必要のないクラスを作ろうと思い、 QtCreatorからウィザードでQObjectのクラスを作って、全く変更せずにコンパイルしたら """ エラー: C2248: 'QObject::operator =' : private メンバ (クラス 'QObject' で宣言されている) にアクセスできません。 """ といわれます。 QObjectを作らない状態だとフツーに動くし、作る際にはウィザードに従って継承するクラスをQObjectに設定しただけだし 特にいじってもいないので動くはずなんですが…なんででしょうか?
QtCreatorに、一括ですべての関数を折りたたむ機能ってないのかな?
Qtはじめたいんですけど Qtを問題なく使えるには、C++がどれくらい使える必要があるんでしょうか? C++の経験は学生時代に講義でいじった程度ですので、 それで不十分ならまずはC++をやってからQtに入ろうかとも考えてます
仮想関数が使える程度
むしろQtとかC++Builderとかから入った方が楽かもな ただQt固有の拡張した部分と純粋なC++の機能とSTLの機能とかを混同しちゃいそうな気はするけど趣味なら問題ないでしょ
棒グラフを表示したいんですが、何か良いライブラリ?はないでしょうか? Qwtを使ってみたのですが、レイアウト(sizePolicyとか)が効かないようで、わざわざサイズを設定しないと潰れて表示されてしまいます。
Linuxで、QwtをQtDesignerで使ってる方は居ますか? コードで書くのは面倒なのでDesignerでお絵かきしたいと思っているのですが、 導入方法がマニュアルを読んでもさっぱり判りません。
>>310 言葉が足らなかったので続き
とりあえずQt.confをqtcreatorと同じディレクトリに作って記述してみたのですが、
何を書いても(Qt.confの内容が空っぽでも)起動時にエラーが出ます。
そもそも↑のやり方が間違っているのでしょうか?
Linux上でQtDesignerでQwtを使ってる方がいたら、参考にしたいのでどんな設定をしているか教えて下さい。
>>310-311 補足というか訂正
上には大文字で書いてしまいましたが、ファイル名の”qt.conf”は全部小文字で書いています。
>>313 いやいや、QObjectを継承したクラスとか普通に使えますけど。
>>エラー: C2248: 'QObject::operator =' : private メンバ (クラス 'QObject' で宣言されている) にアクセスできません。 ソース中に = でオブジェクトコピーしようとしてるんじゃないの? QObjectはポインタも管理してるからコピーできたら不具合を起こす
>>313 の記事の冒頭にしっかりと書いてあるね
>>303 にも同じことがストレートに書いてある
もうちょっとよく読んだ方がいい
馬鹿には無理
>>315 Effective C++ にも書いてあったはずだけど、コピーされたくないクラスは
コピーコンストラクタをあえて private で定義するという一種のテクニックだよね。
>>306-308 ありがとうございます
スマポってなんだろうと思ってぐぐってしまった程度の知識ですが、
とりあえず両方から攻めていこうと思います
Qt自体はスマポの知識は無くても使えるよ 知ってて損はないけど
まじでスマポが分からん。具具って出てくるやつ?
わかった。smart Pointerを略すとは
逆に今はこんな言葉が引っかかるんだなと笑ってしまった>スマポ
ヌルポ
スマートフォンポイントという謎な物体が見つかるわけだが
ぬるぽがー ぬるぽがー ぬるぽがー ぬるぽがー ぬるぽがー ぬるぽがー
今度はSmart Pointerを自作できるレベルと Qtを使えるレベルの関連がさっぱり分からん
単に306がスマポ好きなだけで関連はない
329 :
306 :2011/10/22(土) 12:24:03.02
>>327 深い意味はない。
使うだけならそんくらい出来れば別に詰まるところも無いだろってだけ。
QtCreator 2.4のC++向け新機能がよく分からないんだけどどういうこと?
QDialogButtonBoxでデフォルトに戻すとOKとキャンセルのボタンを置いて Qt Createrのデザイン編集では日本語で表示されるのにビルドすると英語表示になる localeはjapanになってるんだが他に設定する所があるのか?
>>331 qt_ja.qmをQTranslator::load()で読込む。Qt Creatorは読込んでいるから日本語になる。
Qtで今まで普通に開発して実行、デバッグできていたものが、急にデバッグだけできなくなった・・・ 実行はできるがデバッグするとSegmentation faultになる。 何かやってしまったんだろうか・・・
334 :
333 :2011/10/22(土) 22:48:39.12
すいません自己解決 system32のファイルが一つ悪さをしてたみたい
"実践Qt4プログラミング"ってのがオライリーから出るのかな?
Advanced Qt Programmingの翻訳本だと思われ
出るのか。原著者のサイトに邦訳に関する記述が無くなってたから てっきりお蔵入りになったのかと
で?
QTableWidgetで時刻を表示させたいのですが、hh:mmで表示させることはできるのでしょうか?
343 :
341 :2011/10/25(火) 09:18:50.42
>>342 仰るとおりです。
すみません、後出しになってしまいますが、
値はQTimeで入れて、値の変更はQTimeEditを使いたいです。
この場合の表示形式は指定できますでしょうか?
今は何も指定していなくて、最初はhh:mm:ssになっていて、値を変更すると日付も含めた表示になってしまいます。
setDisplayFormatじゃ駄目なん?
345 :
341 :2011/10/25(火) 10:52:00.84
>>344 ありがとうございます。
QTimeEditの表示形式は変更できましたが、QTableWidgetで表示する形式は別のようです。
347 :
デフォルトの名無しさん :2011/10/25(火) 20:42:48.50
Windows8では、HTML5とJavaScriptでWindowsプログラミングができるそうです・・ MeeGoを併合したなんとかいうのも、たしか同じでしたね・・ もう、プログラミング言語は必要ないんでしょうか(´;ω;`)
JavaScriptもプログラミング言語ですけど(´;ω;`) でも動的型付け系の言語がデスクトップ向け開発でも主流になってしまうのは絶対に嫌です(´;ω;`) 逆にC++でWeb系書きたいです(´;ω;`)
デスクトップはガジェットとか一時流行ったけど それほど定着はしてないのだった…
あと下位互換性とかはないのでXPとかCEとかだと 動かない。Windows8の普及次第の面も
HTMLとJavaScriptでデスクトップアプリ! って、相当昔からHTAっていうまんまなものがWinにはすでに存在してるんだよな
そこでなつかしの VBScript ですよ! JScriptもあるぞ@MS謹製の Lotus 1.2.3 とかの対抗馬的にやってきました! ってそうとう前からあるな言語としても
>>351 しょっちゅうJScript使ってんのに初めて知った。
ありがとう。
>>348 頑張ってCINTをJavascriptに移植するんだ
C++をパースして構文木をJavaScriptで利用できるようにするか はたまたJavaScriptをパースしてC++で呼び出せるようにするか どちらにせよ面倒くさそうな、銀の弾はどこいった…
っ ω
_, ,_ パーン ( ‘д‘) ⊂彡☆)) ω
QtのQMLは、 Metroとほぼ同じアーキテクチャということになったな。
どこがだよ
だからどこが同じなんだよ
MacでOpenGLとかGLUTとか使おうとするとコンパイル時に -framework OpenGL -framework GLUT -framework Foundation というオプションを追加せねばならんのだが これをQt-creatorを通して指示するにはどうしたらいいの?
.proファイル開いて QT += opengl を追加 GLUTじゃなくてQGLWidget使うことをおすすめする。
>>363 アーキテクチャは別として、どちらもおもしろさも楽しさも将来性もなくなった。
QMLの現状は大言壮語の極地。とても多くのできないことや、効率がどうしようもないこと、
複雑な画面では、画面切換えが遅過ぎて役に立たないことなどがまったく出てこないのが不思議だ。
話をすりかえるな
>>365 やってみた、でも上手く行かなかった
-framework OpenGL はオプションに入っているけど -framework Foundationは見当たらないし
-framework GLUT は相変わらず-lglut となっていて、これが問題なんだよね…
無理矢理に解決する方法はいくらでもあるだろうけど、なるべくオリジナルの状態を活かしたいよ
QGL widget についてはこれから勉強してチャレンジしてみます
どうもありがとう
ちなみにproの中身はこんな感じです openglの記述を行く通りか換えてみたけどあんまり効果なかった... #------------------------------------------------- TEMPLATE = subdirs SUBDIRS = 省略 # build must be last: CONFIG += ordered CONFIG += opengl SUBDIRS += build QT += opengl
馬鹿には無理
>>369 これでどう?
QT += opengl
QMAKE_LIBS_OPENGL *= -framework GLUT -lobjc
HTMLはソースの中には入ってるみたいだから落としてみれば?
初歩的なことで申し訳ありませんが教えてください。 複数のqmlファイルを作ってページ切り替えする方法がわかりません。 サンプル等教えていただけるとありがたいです。
QtでWebページの取得を試みております。 QNetworkReply *reply reply->readAll() で取得した情報はQByteArray形式になっており、これを日本語表示させるために QString str(reply->readAll()) としているのですが、日本語が文字化けして表示されてしまいます。 対処法など、ありますでしょうか。
>>375 取得しているページの文字コードを確認し、適切な変換は行っていますか?
馬鹿には無理
QTextCodec
Qtでドラッグ&ドロップでのファイルの入出力を試しています。 入力の方は上手くいったのですが、出力の方を悩んでいたところ入力とそっくりなQMimeDataを作ればいいのかと考えました。 そこで調べたところ、エクスプローラからのD&Dのフォーマットはこのようになってました。 application/x-qt-windows-mime;value="Shell IDList Array" application/x-qt-windows-mime;value="UsingDefaultDragImage" application/x-qt-windows-mime;value="DragImageBits" application/x-qt-windows-mime;value="DragContext" application/x-qt-windows-mime;value="DragSourceHelperFlags" application/x-qt-windows-mime;value="InShellDragLoop" text/uri-list application/x-qt-windows-mime;value="FileName" application/x-qt-windows-mime;value="FileNameW" そして自分で作ったQMimeDataにtext/uri-listだけ入れたところ、問題無く動きました。 目的は達成したのですが、この他の値がなんなのかが気になります。 どうやらFileName,FileNameWはD&Dしたファイルの中のどれか1つ(選び方は不明)という事と UsingDefaultDragImage〜InShellDragLoopまでは一定 Shell IDList ArrayがD&Dするファイルの個数によって変化するということまでは解っています。 ですが実際の内容はバイナリらしく、意味がわかりません。 これらの説明が載っている場所や、Qtから扱う方法をご存じならば教えて頂けませんでしょうか?
IDListはWindows固有のIDListデータの配列だと思う この辺はQtじゃなくてWindowsのCOMとかShellを知らないとわからないかも MSDNライブラリでIShellFolderとかのインターフェイスを調べてみればわかるけど結構ディープだよ
QMainWindowベースのアプリで、画面上の孫Widgetから シグナルを送りたいんだけど、MainWindowの取得方法が分からない。 孫の階層はもっと深い可能性あり、孫Widgetは動的生成ありのため、 孫Widgetからconnectを貼りたいという条件でお願いします。
382 :
381 :2011/11/05(土) 00:47:18.10
あ、window()で取れたのでいいです。w
parentWidget()のparentWidget()じゃだめなの?
↑かぶった。スマソ。
QtってRainmeterみたいなウインドウなしの半透明なデスクトップアクセサリ作ったりできる?
はい
どうやるの? サンプルみたいなのある?
馬鹿には無理
答えないなら黙ってろ
馬鹿には無理流行ってんな
流行ってるって1人だろ
pysideの64bit版はかなり不安定だな 特にqwebview使うと落ちまくる
mousePressEventでsetCursor(Qt::IBeamCursor)しても、mouseMoveEventでデフォルトに戻っちゃうのね orz WinスタイルのHCURSORをヌルにすれば良いのだろうけど、WinAPIは使うわけには行かないし、mouseMoveEventで再設定しかないか? ちらっと、矢印カーソルが見えるような感じがするのは気のせいか?
>>394 ただのQDialogプロジェクトでやってみたけど問題ないよ
Qt4.7.4のMinGW版
>>395 あれ! QDialogは大丈夫だね。 QWidgetから継承した、グリッドウィジェットを作成中なんだけど、こちらはカーソルが戻る。
QRubberBandがクソなもんで、ラバーバンドを実装している最中。 とりあえず、WinAPIでHCURSORを設定して逃げます。
おまいらは Qt Developer Conference 2011 TOKYO に行きますか? 漏れは金曜日のみ行きます。
ぼかぁ、サンフランシスコに行きます でも、東京って上海とか香港に比べて軽く見られてるね
そうなの?開発者数が違うのかにゃ?
日本オワタ
マニュアルが英語だと使えないお
英語使えないとITドカタになるしかあるまい
質問です。 左側のリストを選択することによって、右側の表示画面が変わるGUIを作りたいんだけど、 何を使ったら実現できるのかな? 一般的には、そのままタブウィジェットを使うのが普通だと思うんだけど、 タブ部分の表示が多すぎるのであきらめた。 で、タブの部分をリストにして、そのリストを選ぶたびに右側の画面を変えることを 考えているんだけど、右側のウィジェットを何にしたら良いのか、ちょっと分からない。 タブウィジェットのタブの部分を非表示にできれば、これを使うんだけど、デザイナで確かめた感じでは、 出来ないっぽい。 みなさんだったら、どう実現しますか?
QStackedWidgetじゃ
ありがとうございます! むむ、そんなものがあるんですか。早速使って確かめてみます。
407 :
デフォルトの名無しさん :2011/11/19(土) 13:22:33.41
Unix板から来ました PCのマルチプラットフォームアプリ作ろうとしたら今のところQtがベストってことでOKなんでしょうか?
JAVAの方がいいよ
Airのこともたまには思い出してあげてください。
Linux版のAirはなんで死んでしもうたん
これからQtを使うには とっても情報が少ない気がするけどQMLでやるべき? それともC++?
>>412 これから使うならQMLはガン無視でOK
Qtに慣れたら好きにして。
うーん難しいね 4の最終版である4.8もRC版になり5からはQML方面にかなり行くみたいだし 予習しておくのもいいと思うけど
こんなので悩むほうがおかしい。 両方使えばいいんだよ
QMLとか今んとこ使い道ないし
QMLはQtのJavaバインディングみたいにそのうち放棄されそう
Qt CreatorからQML関連取り除くのどうやんの?
419 :
412 :2011/11/21(月) 23:31:17.34
なんかうたい文句では良いことずくめみたいだけど そうでもないんですかね ちょっとQMLの練習していたんですけど 切り替えようかな?
googleなんかが全力でJavascript辞めたがっているこのご時世に デスクトップアプリでJavascriptだからな 流行るわけがない
rubyやpythonでもスタンドアロンの大規模なプロジェクトで使われてるものは無いし javascriptも同じじゃね 小さいツールを作るんだったらありだろう
ランタイム配布がネックになるから 小さいツールには向いてない
とことん使いどころが分からない機能だな
PhononのVideoPlayerを使って動画再生を行っているのですが 再生速度の変更(つまりx2.0再生等)を行う方法はありますか?
Markの本は微にいった点で参考になるが、もっと振る舞いで分離したQt Usingに徹底できなかったのだろうか。 彼ははOOPには疎いのかな? てか、徹底してOOPでやると、コードも増えるし、本が分厚くなるか w
>>423 Nokiaなんかに金に目が眩んで買収されたのが運の尽き。
Nokiaのデバイスでだけ動けばよいというのが根底にあるからそうなるんだよ。
今回のNokia1万7千人のリストラは、Qtに影響するのかな?
WindowsPhoneはどうした?
QLocalSocket とか QSharedMemory とか使って Qtアプリケーションと非Qtアプリケーションで通信したいんだけど、 よい方法を教えやがれ
知らないけど お前の態度が気に食わんから 教えてやらん
Qt... RADを謳うにはちょっと敷居が高いと思うが? それでQML? 小回りが利かないんで絶望の淵に立つ奴が続出すると思うが?
そんなことはツイッターにでも書いてろと思うが?
433 :
デフォルトの名無しさん :2011/11/26(土) 19:34:38.14
逆だろ 2chにでも書いとけばいい
twitterは読みたくなければ読まなくて済むからtwitterにしてくれ
Qt... マイナーな連中がひとり悦にいってほくそえむフレームワークか.... ユーザーが増えなければ自分の首を絞めている事も知らずに...
計測器などの工業用途でも組み込み、デスクトップの両方に結構 使われてるよ。
おいおいこのスレにキチガイは二人も要らんぞ
438 :
429 :2011/11/27(日) 13:05:06.93
>>430 そんなこといって意地悪しないで教えてよ〜
pipe嫌いとかCreateFile嫌いとか言わないからさ〜
非Qtアプリケーションって具体的に何? 通信して何をするの?
440 :
429 :2011/11/27(日) 15:07:40.82
>>439 Qtで作ったアプリケーション(自作)と他のEXE(非自作)内に読み込まれたDLL(自作)
とを通信をしたいです〜
DLL側でQt使う可能性は全く無くて、通信処理だけせめて行いたいのですよ〜
DLL側からほぼ一方的、たまに反対方向へもデータをやり取りしたいのです
ソケット通信でもすれば?
クロスプラットフォームなら兎も角、Windows限定ならお前の好きにしろよって話だな まずは非Qt同士で通信するもの作ってから出直してこい
性能的に十分ならソケットでいいよ
どっちも自作なら共有メモリだな
工作員乙
月日の経過と同じスピードで発売日伸びてるよねその本w
震災の影響で紙とインクが不足しているから仕方ない
まるで高速増殖炉のような話だな
Qtをフレームワークよばわりとか・・・
デザイナでLCD Numberをおいて ui->lcddisp->display(ほにゃらら); ってやると プログラムが突然終了しました。って言われちゃうんですけど なにかまずいことしてますでしょうか? ほにゃららにはQString text = "111"とか直接"111"とか111とか やってみましたが全部同じです winXP MinGW Qt4.7.4です
452 :
451 :2011/11/29(火) 19:03:47.82
すみません。事故解決しました。 ui->setupUi(this); ui->lcddisp->display(); の順にしたら正しく表示できるようになりました。
>>445 原著購入した方がいいんでね? 平易な記述だし、どちらにしろ、Qt使いに英語は必須なんだし!
そんなの簡単に拾えたけどなw
Qt Creator上で、MainWindowのメニューバーのようにGUIでQMenuを作成する方法はありますか?
>>455 それってQt CreatorじゃなくてQt Designerでやらせることじゃね?
PySideは、Qt Addonになるらしい。 「お前Bug reportしたから、Qtのライセンスに同意しろ」というメールがNokiaから来た。
全員に聞いて回ってるのか そりゃ大変だ
Qt Creatorで開いているファイルやプロジェクトなんかを 2列にするにはどうしたらいいの?
ウィンドウ→左右に分割 ウィンドウ→上下に分割 のこと?
エディタじゃなくて クラスビューとかアウトラインとか型階層とか あるやつです
日←こんな感じのボタンが上下分割だけどそれのことかな?
そうそれ それを左右に分割したい
左右は無理だと思う ちなみに名前はサイドバーね
無理なのか 左右に分割は需要がないのかな?
Qt CreatorでToDoリストみたいなのありませんか?
いつAndroidとiPhoneで動くようになるの?
もうなりません
>>468 動いてはいるけれど、まだ実用レベルじゃあない。
Nokiaなんかに買収されなければ、とっくにまともに動いていただろう。
自演なんてじぇんじぇんしてないよ
>>470 国内メーカーなどに買収されていれば、IDEの公開すらされなかったろうがな。
Intelが買収してくれるのがベストなんだけど Intelコンパイラー+Qtで10万くらいまでなら出す。
>>472 買収前からいくつかIDEは公開されていた。
どこにも買収されていなければ、買収される前から計画されていたIDEも今と同様に公開されただろう。
買収されなかったとしても、Qt Creatorを公開しないというのはありえないな。
マルチタッチってどの環境でできますか? Windows7? Linux?
現在の日付時刻をISO 8601で文字列に変換して,最後にUTCからのオフセットも付加 したいんだけど,やり方がわからない。 QStirng sNow = QDateTime::currentDateTime().toString(Qt::ISODate); これだと,"2011-12-06T11:35:50"みたいになる。 これを,"2011-12-06T11:35:50+09:00"にしたい。 QDateTime now; now.setTimeSpec(Qt::OffsetFromUTC); QString sNow = now.:currentDateTime().toString(Qt::ISODate); ってやってみたけどダメだった。わかる方がいたら教えてください。
>>476 マルチタッチって、OSが対応してないとどうしようもないよな。
WindowsはWindows Phoneもしくは8から。
Linux/Macは知らないので別の人頼む。
479 :
477 :2011/12/06(火) 12:36:26.79
訂正。 > QDateTime now; > now.setTimeSpec(Qt::OffsetFromUTC); > QString sNow = now.:currentDateTime().toString(Qt::ISODate); QDateTime::currentDateTime()はstatic関数だから上のやり方はダメに決まってたorz で, QDateTime now; now.setTimeSpec(Qt::OffsetFromUTC); now = QDateTime::currentDateTime(); QString sNow = now.toString(Qt::ISODate); ってやってみたけどやっぱりダメ。上の2行目と3行目をひっくり返してもダメだった。
QDateTimeでそういう出力は出来ないと思う オフセットだけ別途取得して、文字列として連結すればいいんじゃないかな
482 :
477 :2011/12/06(火) 14:16:44.94
>>474 Qt Creator/Qt DesignerはNokia純正なわけだが
Mac自体はマルチタッチに対応してるけど Qtで使えるかは知らんな
そのサイトのリプライだとglibが原因となってるけど確認した?
QtのModel概念がよう使いきれん。 やはり、バカにQtは無理か?
まあMFCのDoc/ViewもJavaのMVCも知らずいきなりQtのモデル理解しろってのは少し難しいかもねそれも英語で
今度出る本に詳しく載ってるよ
>>490 MVC程度じゃバカじゃなくて根性足りないだけ。
494 :
476 :2011/12/09(金) 00:05:48.60
Windows7ってマルチタッチじゃないの? やってみた方いらっしゃらないんですね あんまり需要がないのかな?
>>490 簡単に言うと、入れ物(model)を1つ用意して、ガワ(view)と結びつければ
viewに勝手に表示してくれる。複数のviewと結びつけるのもOK。
view側からのデータの変更をmodelに反映させるのも、その逆も
用意されているクラスでは、そのへん自動でやってくれる。
このあたりを自前で作るとなると、その機構を理解していないとダメなので
難易度は高いかも。
まぁ実際わかりにくいところは、実装クラスがいくつもあって 使い分け、対応付けが分かりにくいかも。
サンプルがあるような出来合いのものだったらいいんだけどさ、 ProxyModelとかを使いこなすようになるには結構根気がいる。 サンプルにのってないようなものは、早めにあきらめるのも生き方の一つだ。 人生は短い。
馬鹿には無理
馬鹿には無理、とか、ソース読めとか、言って逃げてゆく、かわいそうな子はQtが難しくて挫折デモしたのか
JavaのMVCとかMFCのDoc/Viewとか、って必要なんか? Qtの設計は初心者にも一番わかりやすいような気がするんだけど・・
日本語学ぼうか
2ちゃんに何期待してんだ?
データと描画をModelとViewを分けるのはいいんだけど、 データの処理をItemとModelに分けるのは、 どうも無駄があるような気がしてしっくり来ない
wx の VirtualList みたいなのだと判り易いのにね
dbつないでtableviewに表示させた時のソート方法がやっとわかった QSqlQueryModelじゃなくてQSqlTableModel使わんと駄目なんだな
506 :
デフォルトの名無しさん :2011/12/10(土) 10:30:41.83
ちんたらaction作ってったら、createActionsでconnectが100個を超えてしまった。 管理不能! OOPの求めるところとはかなり異次元になった。 カテゴリー分けになんかテクニックあるの?
507 :
デフォルトの名無しさん :2011/12/10(土) 17:06:59.20
デスクトップ上にキャラクターを表示して、自由に動き回らせたいんだけど、 画面に図形や画像のみを表示するにはどうすれば良いんですか?
ウインドウのタイトルバーなどを消しつつ 背景を透過して動かすとか。
別にヤリ目とかじゃないけど、ハムスター系の女ってすぐついてくるよな。 あれ、なんだろ?
510 :
デフォルトの名無しさん :2011/12/10(土) 23:56:36.62
>>508 タイトルバーとか消せるんですね、調べてみます。
ありがとうございます。
511 :
デフォルトの名無しさん :2011/12/11(日) 12:37:42.66
札幌啓北商業の野島は八犬伝と名のり いい年なのに 某ゲームサイトでアバターとセトと戯れるが華喃の少頭劣一族は そのサイトを出会い系と勘違いして怪盗仲間が相手と思われ、粘着質の嫌がらせはマイペを手離した今、現在も続いている。
512 :
デフォルトの名無しさん :2011/12/11(日) 14:36:04.83
なんとか画像だけを表示することが出来たけど、 マウスでドラッグするとき、透過してる背景もドラッグ出来てしまうのを何とかしないと。 なかなか調べても欲しい情報が手に入り難いですね。
513 :
デフォルトの名無しさん :2011/12/11(日) 18:33:42.61
だめだ、1日調べても分からないです。 QPixmap に透過png の画像を入れて、表示は出来ましたが、 マウスでドラッグするとき、透過している部分はドラッグしたくないです。 透過していない部分かどうかを判定するにはどうすれば良いでしょうか。
Qt::WA_TranslucentBackgroundでも出来るよ
516 :
デフォルトの名無しさん :2011/12/11(日) 20:03:41.75
>>483 >Qt Creator/Qt DesignerはNokia純正なわけだが
Nokia純正ではない。
Qt Designerは、Nokia以前のTrolltechのときからある。
Qt Creatorの構想もTrolltechのときからのがNokiaになって出て来ただけで、Nokiaにならなくても出て来たもの。
517 :
デフォルトの名無しさん :2011/12/11(日) 20:05:57.75
>>499 >馬鹿には無理、とか、ソース読めとか、言って逃げてゆく、かわいそうな子はQtが難しくて挫折デモしたのか
そもそも、プログラムを作るのが無理ということだ。
518 :
デフォルトの名無しさん :2011/12/11(日) 21:37:40.53
何でもかんでも無理としか思えないやつはさっさと消えろ
519 :
デフォルトの名無しさん :2011/12/12(月) 07:58:32.91
一行だけのコマンドをアプリケーションに与えるためのウィジェットを作りたいのですが どのクラスを参照すればいいのでしょうか? できれば、過去のコマンドの履歴も利用できる形に仕上げたいです
>>519 履歴がいらないんだたら QLineEdit でよくね?
履歴機能がいるんだったら、コンボボックスにするか、QLineEdit の派生クラスを作って
自分で実装する。
馬鹿には無理
コピペ荒しか
自己紹介じゃね?
本家のQtの解説書などの文書は、英語の説明がくどくてイライラするね。 普通は代名詞にするところを同じ名詞を繰り返してたりするもんだから、読みにくくてしょうがない。 もしかしたら自分の英語力不足かな?と疑ってもみたんだが、英語がネイティブの著者が書いたQtの本は わりとすらすら読めたので、やはり本家の英語がおかしいと再認識した。 まあ、曖昧な記述になるくらいならくどいくらいが良いんだけどさ。 ってことで、同じように感じていた人には、英語のネイティブが書いた本を読むことをお勧めします。
フランス人やドイツ人の英語は聞き取りやすいから きっとフィンランド人の英語は読みやすいとおも
>ってことで、同じように感じていた人には、英語のネイティブが書いた本を読むことをお勧めします。 勝手におまいの主観を押し付けんな()
Qt Creatorの2.4が出ているのに反応がないな
>>526 おまいは日本語が不自由なのか?
俺には
>>524 が主観を押し付けてるようには全然見えないがな。
そこまで言うなら 本家の人にあんたの英語おかしいって 言ってくれば?
ここはあくまで被害担当艦だから
>>527 まだ英語のダウンロードサイトにしかないし,Qtラボジャパンにも情報がないね。
早速ダウンロードしてインストールした。これから使ってみる。サンクス。
いわゆるビジュアルプログラミング言語は 生産性を改善するという触れ込みでありながら、事実上普及していない 何でかは知らんけど、同じ大きさのモニタに表示できる情報量で テキストに負けちゃうからっていう説を聞いたことがあるような
VBやDelphi並に使いやすければいいけど、 実際には未だに勝てないんだよな
534 :
デフォルトの名無しさん :2011/12/15(木) 21:52:43.01
既に勝ってる。
|....,,__ |_::;; ~"'ヽ | //^''ヽ,,) | i⌒" | ∀`) < 誰もいない きのこるならいまのうち |⊂ | ノ _,,,......,,__ /_~ ,,...:::_::;; ~"'ヽ (,, '"ヾヽ i|i //^''ヽ,,) ^ :'⌒i i⌒" |( ´∀`) < きのこ のこーのこ げんきのこ ♪ |(ノ |つ | | ⊂ _ ノ ""U _,,,......,,__ /_~ ,,...:::_::;; ~"'ヽ (,, '"ヾヽ i|i //^''ヽ,,) ^ :'⌒i i⌒" (´∀` )| < エリンギ まいたけ ブナシメジ ♪ ⊂| (ノ | | | ヽ _ ⊃ .U"" | | ミ | ミ サッ! | ミ |
2.4出たか 相変わらずリリースのペース早いな
539 :
デフォルトの名無しさん :2011/12/16(金) 19:01:07.66
あれ?ビルド開始早々nmakeがエラー吐いてコケるんだが・・・
おれんとこもcl.exe 0x2吐いて終了しちゃうんだけど… どこで止まってるのか、ソース探しにいってもメッセージからはたどれないorz
542 :
540 :2011/12/16(金) 23:02:41.31
どうもソースに同梱されているconfigure.exeが動作不良を起こしてるっぽい 4.8.0rc1のconfigure.exeに差し替えたらコンパイルが始まった
543 :
541 :2011/12/16(金) 23:15:07.09
えー、つーかじつは4.8.0rcをビルドして失敗してたんですけどもorz Win7(64bit)+VC2010です。
544 :
デフォルトの名無しさん :2011/12/16(金) 23:22:51.13
ヽ|/ / ̄ ̄ ̄`ヽ、 / Qt ヽ / \,, ,,/ | | (●) (●)||| | | / ̄⌒ ̄ヽ U.| ・・・・・・・・ゴクリ。 | | .l~ ̄~ヽ | | |U ヽ  ̄~ ̄ ノ | |  ̄ ̄ ̄ |
545 :
540 :2011/12/16(金) 23:34:04.00
原因が判明した 4.8.0正式版(のconfigure)はPerl(Windowsの場合はActivePerl)が必須になったみたいで、 Perlがないとエラーメッセージ出して中断されるのが原因だった ActivePerlをインストールしたら正式版同梱のconfigureでもコンパイル開始まで進んだ cl.exe 0x2はrcの時にも出てた気がするんだけど、 自分に必要なライブラリはビルド出来てたので気にしてなかった もしかしたらPerl絡みだったんじゃないかな 正式版はまだビルド中なので、実際のところはまだわからないけど
546 :
540 :2011/12/16(金) 23:35:06.07
こちらの環境はWin8(64bit)+VC2008SP1, VC2010SP1
もう Nokia に期待するのは疲れたお
…ModelItemとか、…ItemModelとか、はっきり言って名前が混んがらがるんだけど。 このあたりのネーミングの悪さが、無用な混乱を招いているような気がする。
>>548 期待するって、君はなにかQtに貢献したんかね。
>>549 それは日本人だからじゃないか?
属物が先、所有物が後ろにくるのが
当然の認識だからね。
New York, America
en_us
en_uk
Curry Rice(ライスカレー)
Qtくらいの大きさのフレームワークになると、体系的に学習しないとだめなんだけどね。 必要なところだけつまみ食いしてたらいつまで経っても全体像は見えないまま。 でも学習に必要な時間は見積もりに入れられないし。 物好きが趣味でいじるだけ。 その少数の物好きが開発できる規模のものにしか採用されないよね。
>>549 ちゃんと意味があってそういう名前になってるんだろ。
そのニュアンスがわからないと混乱するわな。
>>553 分かってるのなら、その意味を教えてやれば良いのにと思うけどね
>>551 それは嘘だな。
第一、ルーがかかったカレーライスは、"curried rice"って言う。分けて出される場合は、普通"rice and curry"って言う。
米が半分以上ならカレーライス。ルーが半分以上ならライスカレー
お好きな解釈で。 Model of Item Item of Mode Model in Item Item in Mode Model at Item Item at Mode Model@Item Item@Mode
Japanese curryとCurry at Japaneseじゃ意味が違うしな。 前者は、日本式カレーで、後者は、日本にあるだけのカレー。 後者のカレーは、Curry at Indiaと書いた時のカレーと中身は変わらない。
Ilish curry in India.
at Japaneseはちょっとびっくりした
>>551 の解釈が正しいのなら、QAbstractItemModelがItemってことになるが、実際にはModelだ。
カレーライスの話に紛れていい加減なことを言うもんじゃないと思うよ。
en_usの場合は、アンダースコアがあるから話は別。頭から見て言語がすぐに分かるように、
前置詞が略されているように表現している。
ってか、QTのモデルビューのあたりの用語は分かりやすいか??
564 :
558 :2011/12/18(日) 00:51:59.13
あぁ、<<551が言ってるの反対だわ。
そもそもCurry Riceの例がおかしい インド人視点だとカレーがメインで、それと何を組み合わせるかになる。 日本人視点だと米がメインで、それと何を組み合わせるかになる。 英語圏の人間はそのどちらでもない。 そこに単にCurry Riceという表現を持ってくると、上記の背景的理由により 解釈が異なってしまう。 インド人:Curry with rice 日本人:Curry on rice 英語圏:どっちだろう?
結局のところ、ModelItemとItemModelのごく表現的な部分だけを切り出して 分かりにくいと言われたりするのが現状。 ネーミングを含め、何故そんな設計になってるのか理解するのは困難すぎる。 Qtの設計は他のと比べてもかなり良いと思うけど、どのように良いのか 説明するのは難しいな。
>>563 New York, America..
user@host.
www.example.co.jp (日本企業のexampleサイトにある、Webサーバー)
後方に向ってくくりが抽象的になるのは
英語圏の基本で嘘じゃないだろ。
QAbstractItemModelは、モデル型のアイテムを表す、そのなかでも抽象化されたものを表す。
英語なんか例外だらけだからカレーライスの例で議論するのは不毛だ 夜中に腹が減ってきたじゃないか
継承関係にばらせば、おのずだな。 class Item:Model; class Abstract:Item; class Q:Abstract; --------------------- class Model:Item; class Abstract:Model; class Q:Abstract;
>>569 所属関係に限って言えば、そんなに例外なんてあったか?
Qtとは関係ないが、興味がある。具体的な例外を教えてくれ。
>>549 がそう思うのは当然だと思うな。
QtのModel、View 関連のネーミングに統一性がないのは明らか。
例えば、
QStyledItemDelegateは、Delegateの一種 (一番最後にある名詞)
QStyleOptionViewItemは、Optionの一種 (途中にある名詞)
と、ネーミングの順序関係に統一性がない。
前者は、複合名詞タイプのネーミング。
つまり、前側にある名詞は名詞のまま形容詞的に使っている。
だから一番最後の名詞が主となる名詞だ。
後者は、前置詞省略タイプのネーミング。
つまり、前置詞のofが省略されていて、Option of View Item って感じの省略形。
だから、これは途中にあるOptionが意味をなす。
どういう場合に、複合名詞タイプか前置詞省略タイプかの
ネーミングの規則をはっきりしてればいいんだけど、
行き当たりばったりのネーミングに思える。
混乱するのは当然だと思う。
Qt関係ないんでそろそろ他所いって
そもそもQtの開発者が英語のネイティブじゃないんだから、 細かい命名規則に文句言ってもしょうがないじゃん。 Qt5への提言とするならまだ建設的だけど、 既存コードへの変更は最小限にする方針だよ。
>>573 十分関係あるじゃないか。
初学者が混乱しがちなQt特有のネーミングだし。
Qtの利用者人口が増えてほしいからな。
>>575 利用者増やして裾野広げても馬鹿が増えるだけだろ馬鹿か
マはアスペルガーが多いから、引き際とかわかんないんだよな
>>577 はぁ?本質的でないところでわかりにくい言語は廃れる。
まさかQtをやってる=高級なことをやってる
なんて思ってないよな。
純粋数学なんかとはワケが違う。
プログラミング言語やプラットフォームは多くの人に使われてナンボ。
だからこそ、Qtのコミュニティーはあちこちで普及活動をやってるんだろうが。
馬鹿はオマエだ。
命名規則から予測してクラスを探すことなんてなく やりたいことでググって探すんでどうでもいいです 自分のツイッターかブログでがんばってください
>>581 チミが、自分のツィッターかブログでがんばってください、ね。
>>581 あんた、自分のことしか考えてないだろ。
2ちゃんを自分だけの都合のいい情報入手先だと思ってないか?
他人が書いたブログとかに依存してるようなやつがずいぶん偉そうだなw
Qtのソースを見て自分で解決してるって言うならまだしも。
ほんとそうだな。 ググッてるってことは他人の情報に依存してるわけで。 自分からためになる情報を出して他人に協力しようとしない奴にかぎって 「てめえら、俺の知りたい話だけしろ」って態度に出る。 自分がしたい話があれば、そういう話を自分から持ち出せばいいだけだろうが。
ここは俺の日記帳だ
「馬鹿には無理」って言う、自己紹介の日記か?
俺の書きたいことを俺が満足するまで好きなだけ書くっていう意味の日記帳
>>572 QStyleOptionViewItemは、ViewItemのOptionの中でStyleに関するもの。
QStyledItemDelegateは、Delegateの中で、QStyledItemに対するもの。
SVOCみたいな感じで、一応統一されてる。日本人の感覚じゃ解からんだろうけど。
結局アレだ。日本人の感覚で分かりやすくしたいなら自分で作れ。 ラテン語圏で作ったものは、ラテン語圏に合わせてるんだから、 大口顧客でもないのに文句を言うなってとこかね。
そう自虐すんなよ
>>588 SVOCみたいな感じって、どこがどういうふうに?
本当に規則があるのなら、母国語が何語であっても、
ちゃんと論理的に説明されればわかりますよ。
>>592 今まで上がってる話が理解できてない以上
君は説明され手も理解できんよ
げげ、本家のドキュメントの仕様が変わってる 前は関数リストコピペして再利用しやすかったのに
>>592 結局、
>>572 の言ってること以上の規則はない。
複合名詞タイプの名称か前置詞省略タイプの名称かということだけに気をつければいい。
>>588 =593は言ってることが滅茶苦茶だから気にするな。
>>594 フォーマットが変わっただけでちゃんと関数リストはあるよ。
597 :
デフォルトの名無しさん :2011/12/18(日) 19:05:20.68
IO出版?だかから、Qtの新しい本が出てたよ。デスクトップの付箋アプリケーションを作るみたい。
QMLを使ってでしょ。
だ、大丈夫なんか??
途中で送ってしまった
著者(だよな)ってこんな事言ってる人だけど…
Qt をはじめよう! 第2回: Qt SDK のインストール ? Windows 編
http://labs.qt.nokia.co.jp/2010/03/15/install-qt-sdk-for-windows.html 津田伸秀 2010/03/18 08:52
大変素晴らしい開発環境をフリーで提供してくださり、とても感謝しております。
GUIなどのライブラリが充実していますし、signal/slot もよく考えられておりとても気に入りました。
ただ、わたしの環境で WinXP にセットアップしたところ、Qt Creator でマウスクリックが1回しか効かない(Qt Creator 以外のウィンドウをクリックすると、また1回だけ効く)という問題が発生しています。
Win7 にもセットアップしてみたましたが、そちらではこの問題は発生しませんでした。
原因・回避方法がわかりましたら、教えていただけると助かります。
よろしくお願いします。
Qtは環境依存のバグ結構あるから それを自力で治そうとしてるうちにQtのソースに詳しくなっていくんだよ
工学社は糞本多い
>>603 フォーラムでバグトラックしているうちに英語も読み書きできるようになるし、言語習得には最強の環境かも。
入門だからそれなりのことしかか書いてないだろうが 自分でググれるとっかかりになれればいいね
TableWidgetのセルにSpinBoxを設定し、その値の変化を捉えるSIGNALには何を使用すればいいでしょうか? よろしくお願いします
>>608 SpinBox の valueChanged(int) じゃダメなの?
>>595 ないがしろにするのは自由だが、理解するぐらいはしといたほうがいいぞ。
欧米人がどういう名前のつけ方をするか、ある程度予測できるようになってると、
英語しか資料がなくても検索しやすくなり、作業が捗る。
Application TableとTable Applicationでも意味は違うし、目的に合ってるのは、
どっちの順番かは理解できたほうがいい。
>>610 言っちゃ悪いけど、君の出してる誰でもわかる陳腐な例を見ても
君が英語ができる人とは思えない。どうして英語もできないのに上から目線なの?
ちゃんと自分を見つめ直したほうが良いよ。
誰でも解る例を出すのは当たり前だろ コミュ障やキモオタじゃるまいし
>>611 どう思おうがいいけど、理屈を理解しとけば楽だぞホント。
関連フォーラムにたどり着いたりもするしね。
まじでアスペくせえな
この流れをみてQtに興味をもつ人の数はまずゼロだな 布教どころか人払いだ
>>613 中学生が常識的なことを並べ立てて説教を垂れてるみたいだ。
もういいから他所でやりなさい。
>>616 レスの内容無視されてんのにガキっぽく応戦するなよ
>>616 特に否定しなきゃいけないわけじゃないんだから
ほっときゃいいのに
>>613 解ってるヤツはいちいち反応しないんだからほっとけって
かわいそうな・・・
そこまで命名規則にうるさい環境とは...。 道理で、Qtが日本で流行らないわけだ。
なんで毎回二回レスするん?なんで二回レスするん?
>>609 説明不足で申し訳ないです
QSpinBox* sb = new QSpinBox()
connect(sb, SIGNAL(valueChanged(int), ...
で出来るのは分かるのですが
QTableWidget* tw = new QTableWidget()
QSpinBox* sb = new QSpinBox(tw)
tw->setCellWidget(0, i, sb)
のように1行目の全てのセルをSpinBoxにしたとき、いずれかのSpinBoxの値の変化を捉えるためにconnect関数書き方がわかりません
slotで関数書けばできんじゃね?
Windows環境でqDebug()が32770文字とかだと何も表示されなくなった… 前は切られて表示されてた気がするんだけど
>>623 > QSpinBox* sb = new QSpinBox(tw)
> tw->setCellWidget(0, i, sb)
new するたびにコネクトすればいいんじゃね
627 :
デフォルトの名無しさん :2011/12/20(火) 15:51:06.67
C#にDataGridViewがあるし、QtにもGridコントロールがあるし、JavaにJTabelがあるし、 どれが、一番いいか困ってるんです(><;)
ちなみに、WindowsAPIにもリストビューがあるし、MFCにもFlexGridがありますs。
>>626 帰り道、ふと同じこと思いました
試してみます
みなさま、ありがとうございました
例えば、GUIでツリー構造の各ノードにチェックボタンを付けて そのデータ保存するにときは、どういうデータ構造にしてますか? そのデータを再度読み込むと、そのチェックボタン選択状態が再現してくれる、って感じで。 もちろん、すべてのツリーの状態をチェックが付いているかどうかを含めて保存しておいて それをそのまま保存すればいいんだけど、少しでもデータ量を少なくしたいので。 あまり一般的な使い方じゃないのかな?
データ量が問題ってどんだけノードあるん?
10,000くらいはある
出力ファイルをzipとかで圧縮すればいいんじゃないかな "そのまま保存"ってのがどういうのか分からないけど、データ構造変えても大差はないと思うよ
気にする必要があるノード数とは思えないけど
>>633 ツリー構造はいつも同じで、選択項目を変えたデータを保存したい、ってことです。
つまり、ツリーはGUIの表示として使うだけで、ノードの選択状態だけをデータにして
管理したいってことです。
一つしか選択してない状態でもツリー構造全体を含めたものがデータをして保存されるのは避けられないものかと。
イメージとしては、ツリー構造を持った固定化されたtodoリストがあって、 そこでチェックした項目だけをデータとしたい。 そのファイルを再度読み込むとその選択状態が再現されてる、みたいな。
選択されているノードのIDを保存すればいいよ
情報の小出しはよくない その条件だと平均と最悪のケースでどのくらいの項目が選択されるかが重要になる 一部だけが選択されるものなのか、全部が選択されることもあるのか まあ正直なところQtスレで議論する内容ではないな
普通にアルゴリズムのスレだよなあ。 データ構造としては class CNode { bool bSelected; CNode* pParentNode; } ってすればツリー構造も完全に再現できるし、 ノード当たり5byteだからいいんでね?
ノードが静的に決まるのであれば各ノードに通し番号振る 選択されているノードの番号だけ配列に保持する 保守性はどうか知らない
>>639 わざわざ、ツリーでデータを抱え込む必要はないさ。
イベントの伝達やら見た目の制御だけツリーで管理し、
実体は別に持たせといたほうがdynamic_castも要らんし、
拡張するときに親クラスの変更も必要なくて楽だ。
std::list<ImageFile> images;
std::list<DocumentFile> documents;
std::list<Directory> directorys;
Node *root;
directorys.push_back( Directorys(・・・) );
root = &directorys.back();
documents.push_back( ImageFile(・・・) );
*root += &images.back();
documents.push_back( DocumentFile(・・・) );
*root += &documents.back();
sureti
>>641 あれじゃね?
SummerfieldやらQt本にデータを持たせる例が多いから、自然とデータは持たせるものと勘違いしてんじゃ?
GroupBoxに枠線をつけることはできないのでしょうか? ひととおりプロパティ弄ってみたのですが見つけることができませんでした
setStyleは試した?
>>637 ,640
ノードが1万あるならIDは1個につき最低でも14bit
対して選択状態は1ノードにつき1bitで記録できる
選択されたIDを保存する方式だと、選択されたノード数が全体の14分の1を超えたら逆にデータサイズは増える
反対に1の数が全体の14分の1を下回るような局所性があるデータは、zipなり何なりで圧縮しやすい
つまり
>>633 でおk
1Kbyte程度のデータを圧縮する意味がわからない
このサイズのデータ構造にこだわるって事は組み込みに移植予定とか?
>>646 1bitってことはビットマップで選択状態を管理するの?
なら2バイトでおつりがきそうだ
Qtって組み込みで動いたっけ?
Linux上で動くから当然動くよ 前やった仕事ではUIにQtとGTKどちらを使うか迷った結果 使用するメモリが少なかったGTKを採用したことがあった
QtのWin版でちょっとしたツールを作ったことがある素人ですが、 今回Mac版で使ってみたものの、うまくいかないので誰か助けてください。 まず、LionのApp StoreでXcodeをダウンロードしてインストール。 次に、Qtのサイトからインストーラーをダウンロードして インストールしたのですが、ここで以下の警告が表示される。 You need a C++ compiler to be able install the Qt SDK. Please install the latest Xcode first before invoking this installer! とりあえずOKを押して進めたところ、インストール中に以下の警告が表示。 Error during installation process (com.nokia.ndk.api.qtcomponents.simulator.gcc): Can't start process install_name_tool. リトライボタンを押しても永遠に繰り返すので、無視を選択したところ、 似たような警告が何度か表示されたあとにインストール完了。 んで、デスクトップアプリを作ろうとCreatorを起動して新規作成から Qtウィジェットプロジェクト - Qt GUIアプリケーションを選んだら、 ターゲットがHarmattanってのしか選べません。 デスクトップアプリを作りたいのですが、 やっぱりXcodeのところからおかしいのでしょうか?
インストール続行するなって書いてあるのに なんでOKして続行するかな
latest Xcode とやらを先に入れろよ
MacよくしらんけどXCode3と4どっちでもいいのかな?
656 :
デフォルトの名無しさん :2011/12/23(金) 20:27:51.11
>>652 Qt 4.8とQt Creator 2.4を入れてLionで動かしています。Xcodeは4.1。
SDKを試していないけれど、Qt 4.7.4とQt Creator 2.3とダウンロードページに書かれているから、
古くてLionではうまく動いていないのかもしれません。
657 :
652 :2011/12/23(金) 22:34:29.52
>>653-656 すいません。解決しました。
Xcodeをアンインストールし、再度インストールしてから
Qtをインストールしなおしたところうまくいきいました。
App Storeのダウンロード済みアプリの中で
Xcodeのアップデートは無いと表示されていたため
最新版だと思ってたんですが、そこが間違いだったようです。
ありがとうございました。
それにしても、Xcodeのアップデートがあるのに表示されてないし、
Xcodeのアンインストールは他のアプリより面倒だし、
再インストールしようとしたらApp Storeではじかれるしで、
macにはさんざんやられました。
これはひどい
660 :
デフォルトの名無しさん :2011/12/25(日) 00:25:51.20
add inは、もうずっとまともな改良もバグ修正がされていないからそんなものだよ。もうこの先add inがよくなることは絶対にない。 Nokiaにとっては、Qt Creatorでモバイル向けの開発環境がありさえすればよいのだからね。
Qt Creatorを使ってWindows上で開発する時に困るのがデバッガ。 Visual Studioのコンパイラを使った時のデバッガの問題どうなった? まともに使えるようになってるのかな?
もう普通に使えるけど
どうやって? ツール−オプション−デバッガ で、どこの何を設定するのか分からないんだけど。
>>661 優秀なVSのデバッガにはかなわないけど、2.4.0だと以前よりはかなりまともに
なって来たよ。変数のウォッチもかろうじて使えるレベルになったし、ブレーク時に
固まってなかなか戻ってこないのも直ってるっぽい。
デバッグモードだと軌道がメチャメチャ遅いのも無くなった。
Qt Creator 1.3あたりまでは確かに使い物にならない感じだったもんね。
...って、こういうことが聞きたいんだよね?
エディタの出来は感動的だよ。俺はIDEには大抵外部エディタを設定して、
ちょこっと直すとき以外はそっちを使うんだが、Qt Creatorに関しては外部
エディタ使ってない。
もうCDBでデバッグするとOSごと固まるのは治ったのか じゃあなにも問題ないな
666 :
664 :2011/12/25(日) 11:02:56.64
>>664 × デバッグモードだと軌道が
○ デバッグモードだと起動が
スマソ
今時、Qtなんてマンドクセ〜のいらねえんじゃね? C#でいいやん。
C#がLinux上で動くならそれでもいいんだけどね…
>>664 >エディタの出来は感動的だよ。俺はIDEには大抵外部エディタを設定して、
>ちょこっと直すとき以外はそっちを使うんだが、Qt Creatorに関しては外部
>エディタ使ってない。
その通りだと思う。エディタは、今迄使って来たIDEの中で一番だな。
俺は、普通に作るときはQt Creatorで作って、 デバッグをしなけりゃいけないときには、 Qtのプラグインを入れたVisual C++を起動して使っているけどな。
>>667 MS OfficeがC#で書き直されたら考える
Visual C++使ってまで デバッグするって どんなことやってるの?
ひさびさにQtCreator起動してみたら、なんかスタートアップ画面に色々増えてるな 解析タブがなにげに便利そうValgrindよさげじゃないか
>>645 setStyleに適当なスタイルをしてみたところ、枠線が現れました
ありがとうございました
4.7.4と4.8.0ってどっちを落とせばいいんだろうか… とりあえず4.7.4落としとけばいいんかな?
>>675 何をするのかにもよるけど、4.7.x 系が必須でなければ 4.8.0 を推奨。
QGraphicsSceneについて書かれた日本語のwhitepaper読んで、 40万個のオブジェクト突っ込んで動かせるならとQtいじりはじめたんだけど、 該当するサンプルをようやく見つけて(chipってやつ)動かしてみたら、4万個だった…。 試しに40万個で回してみたら、scene->addItemするのに凄い時間が掛かる。 リリースビルドなら許容範囲で動くんだけど、デバッグビルドだとウィンドウが表示されるまで待ってられない これ、デバッグビルドでもなんとか動かせるように出来ないもんですかね?
設計を見直せ
679 :
デフォルトの名無しさん :2011/12/27(火) 10:59:05.78
>>675 とは別人ですが便乗して教えてください。
4.7.4がすでに入っている環境(Windows MinGW)に4.8.0を
入れるとき、どこに入れるのがいいの?
4.7.4の隣に4.8.0フォルダ作って入れたとして
MinGWはどうするんだろ?
Desktopと並びにmingwがあるけど
4.7.4フォルダにもmingwフォルダあるし・・・
>>679 どこに入れてもPATHを設定すれば切り替えて使えます。
681 :
デフォルトの名無しさん :2011/12/27(火) 20:49:55.16
Qt Projectは、MeeGoの二の舞できっと失敗するだろう。
649 デフォルトの名無しさん [sage] 2011/12/29(木) 14:50:37.28 ID: Be:
学生プログラマ日本一決定戦(予選は社会人も参加可)
ttp://codevs.jp/howto.html 現在予選開催中
応募締切 2012.1.6 12:00
おもしろいことやっているじゃん。誰か今から参加しろよ。
>>682 pdfの時点で読む気せんし
スレ違いだよボケ
凄い名前だな…
フィンランドは姓+名の順に名を書くんだけど マウリが姓か?
>>684 それ元記事は3年前の話だぞ
その人は半年くらいで辞めちゃった
釣られたな
どっかで聞いたことある名前だと思ったらそういうことか
最近「頭悪い質問で釣ってみた」の投稿多いな。
691 :
デフォルトの名無しさん :2011/12/30(金) 20:06:41.23
Nokiaに、創業者とファンドが金だけのために身売りした時点で、Trolltechは「頭悪い」だ。結局NokiaがQtを潰した。
お前は「質悪い」だけどな
作業してる人たちを叩くより作業に参加しよう 2ちゃんで言ってもしょうがないかも知れないけど
作業に参加できるだけの知能も知識もやる気もないから、 いちゃもんつけてるだけなんだよ
695 :
デフォルトの名無しさん :2011/12/31(土) 08:44:58.18
IEのURL入力窓のように、あるボタンをクリックすると一定の数(←ココ重要)の履歴や その他がベロンと出てくるようなコンボボックスを作るのは、属性をいじるだけで可能ですか? それともちゃんと子クラスを作ってスロットを実装する必要がありますか?
Qt Creator+Qt VS2008版で、 デバッガがまともに使えた試しがないんだけど。 何かコツあるん?
>>696 Qt Creatorのバージョンは新しいんだよね?
windowsでQt4.8ビルドするとエラーが出る 64bitもビルド済みのライブラリ配ってほしい
Microsoft Debugging Tools入れた?
Windows版QtCreator2.4にするとGDBでエラー出てデバッグできないな
702 :
デフォルトの名無しさん :2012/01/01(日) 22:53:28.69
左上でウィンドウサイズを変更した際のresizeEventでposを取得しても リサイズ前から変化が無いのですが、 こんなもんなんですか?
その時点ではまだリサイズされてないとか
どれだけリサイズしても変わんないです。 リサイズ終了しても。 リサイズ終了後にmoveEventが飛んでくるわけでもないですね。
リサイズ後のposは変わってないと変
もう少し詳しく話すと、メインウィンドウに void MainWindow::moveEvent(QMoveEvent *); void MainWindow::resizeEvent(QResizeEvent *); の2つを定義して、その中で別のウィンドウの位置を メインウィンドウの右上にくっつくように補正するという事をやっています すると、moveと右のresizeではきちんと動作しますが、 左か上のresizeではposが変化しないため正常に動作しません (sizeは変化します) resizeEvent内でposをダンプしてみたものの、posは全く変化しませんでした 別ウィンドウの操作をコメントアウトしても同様です
>>706 4.8 MinGWでは普通にpos変わってるよ
4.8.0 RC Mac (Lion) です RC なのがダメなんでしょうかね・・・ ちょっと Release を落として試してみます
Macがだめなんじゃない?
その可能性もあります Release で駄目ならそうかもしれません Lion は駄目で Snow Leopard なら大丈夫とかもあるかも
あ、そもそも Snow Leopard までは右下でしか ウィンドウサイズ変更できなかったんですよね それが Lion で Windows みたいにどの辺・頂点でも サイズ変更できるようになったのを Qt が考慮してない可能性もありますね
Qt Desginerの「Item views」と「Item widgets」カテゴリの違いって何ですか?
widgetsはviewsを継承して作られてるクラス とりあえず違いが分からんうちはitem widgets使っておけばおk
ありがとうございます
工学社の本買ったけどQMLは使ってない模様
QMLはおもちゃ向けだからな
Qt5で本格始動だから、少なくとも現時点で詳しく取り上げる本は出ないんじゃないかな
AndroidとiPhoneで使えなきゃ相手にされないよ しかもJavascriptで作らなきゃならないし
C++のほうで使えればいい。 QMLいらん。
スマホでもHTML5+Javascriptはあまり好まれない
スマホのWebViewかなり操作しにくいからな
Androidもやっぱ一番新しい機能使うにはJNIでJavaと両刀使いじゃないと厳しいからJavascriptもやっといて損はないって
QMLの使用を強制されるのは気に食わん 5.0がまともなものでありますように まあ、QML自体は悪くないと思うよ QMLとjavascriptだけで作るだけなら
QMLなんて作る暇あるなら、AndroidとiOSに対応させるべきだろ
>>724 両方とも動きはするけれど、実用に使えるほどには、全然なっていない。
Nokiaに買収されなければ、とっくに使えるものになっていただろう。
726 :
652 :2012/01/03(火) 12:01:47.24
工学社の本の紹介では >「Android/iOS」用のアプリケーションに移植できる ってなってて、嘘とは言わないが現時点ではムリがあるわな。
あ、名前欄が無駄に残ったままだった。
>>726 > 工学社の本の紹介では
> >「Android/iOS」用のアプリケーションに移植できる
> ってなってて、嘘とは言わないが現時点ではムリがあるわな。
ウソではないが玉虫色の表現ってやつだな
iOSで、表示はそこそこ速いけれど、できないことや問題が数多くある。 その中でも、マルチタッチが使えないというのは、移植ができたとは言えない。
>>693 、694
Qtを使うのが目的で、購入して使っている。
それで、Qtを開発する作業に参加するのはおかしいだろう。
確かYoutubeで、AndroidでQtを使う方法が紹介されていたのを見たことがある。 やりたい人はググッてみれば?
iPhoneとAndroidで使えて あと縦書きさえ出来ればな
QtCreatorでuiファイルをいじった後にビルド→デバッグ実行しても変わってないんだけども リビルド以外に変更を適用する方法あります? Qt Creator4.8, MinGW, シャドウビルド, Qt初心者です
あ、uiファイルと同じなまえのcppファイルをタッチしたらできた
QtCreatorなんかファイルの更新チェックが甘いよな
そうかな?今までそんな現象になったことは一度もない。 根本的に使い方を間違ってるんじゃあるまいか?
いや稀になるよ Q_OBJECT削除したときのバグといい、更新チェックが足りてないのは事実
プログラムがクラッシュするのが リビルドしたら直ったなんてのが たまによくある
たまによくある
>>735 ,737
読み込むヘッダーファイルがプロジェクトのフォルダと別の場所にある場合は,.proファイルの
中でそのフォルダをINCLUDEPATHで指定するだけでなく,DEPENDPATHで依存関係をチェック
するパスとしても指定しておかないと,ヘッダーファイルが更新されても認識しない。
あと,Q_OBJECTを削除/追加するとリンカーエラーが出る問題は,Q_OBJECTを書いた
ヘッダーファイルをプロジェクトに加えておくと(つまり.proのHEADERSのところに追加して
おくと)大丈夫なようだよ。
どっちもちゃんとやってても認識されないことが稀にあるんだよ 再現性がないから報告のしようがないけれど
>>732 >あと縦書きさえ出来ればな
見込みはない。HTML5ででもない。
HTML5については、QtのHTML5は、他の実装に比べて速度が遅く、描画品質も悪く、動かない機能も多いので、
しっかり動くかどうかを確認してから使わないと危ない。
>>735 >QtCreatorなんかファイルの更新チェックが甘いよな
甘すぎ。リビルドすると通ることがよくあって、がっかりする。
DEPENDPATH設定すれば直るのかな?
>>742 QtWebkitはQPainter使って描画しているから
QPainterが縦書きに対応しないと無理ぽ
>>740 何かもしかして最近直ったのかな?
以前はDEPANDPATHに追加しておいてもダメだった記憶があるんだが、
4.8.0でやってみたら大丈夫だった。
なんだかんだいってQt Creatorは好きだから よくなっていって欲しいな
748 :
746 :2012/01/04(水) 22:43:18.14
×DEPANDPATH ○DEPENDPATH ハズカシ
>>739 たぶん推敲しないでかいたんだろうけど、
光学のバンチングを思い出した。
2chでたまによくあるネタでしょうに
でも実際のところ稀によくあるバグではないよね
ファイル形式の判定でイデオムというか Qtとして定型的なやりかたってある? 出来れば拡張子より、MIME的な内部情報で 判定したいんだけど。
>>752 Qtで実装されてるKDEのようなものにはあっても、Qt自体には定型的な方法はありません。
了解
755 :
デフォルトの名無しさん :2012/01/09(月) 01:37:36.57
QtやるにはやっぱりC++は必須?
必須
Javascriptだけでできるお
>>757 MayaやQCadのようなものは、JavaScriptだけでは作れない。
そうでなくてもC++作ってJavaScriptで使えるようにしなければならないことが沢山あるので、C++は必須。
JavaScriptだけでできるのは、小さなおもちゃプログラムだけです。
Qtやる=MayaやQCadの人がいるのか そこまで程度高くないから
QThreadを継承したクラスを作り、別スレッドを走らせています。 もし、スレッドが走っている間にそのオブジェクトを破棄した場合、デストラクタはちゃんと呼ばれますか? 一度試してみると、まだスレッドが走っている間にオブジェクトが破棄されました!と言われたので気になりました。
Qt...か ふ〜 名前はかわいいんだが。 とんでもねぇじゃじゃ馬だ!
>>760 デストラクタが呼ばれてもスレッドは止まらないので、
ちゃんとスレッドを止めてからオブジェクトを破棄しないとダメだよ
C#みたいにAbortした際にThreadAbortExceptionが発生して比較的穏やかに終了するわけじゃないし スレッドを強制終了するわけにもいかないからねえ
>>759 そこまで程度高くなくても、C++は必須。
>>762 ありがとうございます。
スレッドはデストラクタが呼ばれても走り続けるということは、強制的にdeleteした場合は
メモリリークが発生するということでしょうか?
>>765 どこでリークすると思っているのかさっぱり判らないのはオレの方が頭が悪いのか?
ヘルプのQThreadのデストラクタの説明見ればわかるよ ・QThreadオブジェクトの破棄はスレッドを止めない ・スレッド実行中にQThreadオブジェクトを破棄するとプログラムがクラッシュする事がある ・スレッドの終了をwait()を使って待つことができる と書いてある
>>761 Qtをキュートって読んでる奴がどれくらいいるのかw
なんだNokia病の人か
でも言っていることは正しいな。
いやそもそも言ってること矛盾してんじゃん ファビョりながら書いた感が半端ないわw
776 :
デフォルトの名無しさん :2012/01/11(水) 20:30:18.00
Qtの中にc++コードを書いてもかまわないの?
>>773 矛盾していると言うことが、まるっきり間違っているとしか思えない。
>>774 ひとつの例だけあげてもな。
>>770 の統計の方は、多数の集計結果で信頼性がある。
>>775 このサンプルは、おもちゃプログラム。
Qtで、Web系のまともなアプリケーションを作るならばC++必須だよ。
確かにこれはもう病気だな
日本語が不自由なだけで病気とは酷いじゃないか
もうなんだかんだで、1年はおんなじようなネガキャンやってるだろ その負の熱意が病的
JavaScriptだけでできるというのは病的だな。
783 :
デフォルトの名無しさん :2012/01/12(木) 20:44:41.74
んで、あの延々延期になってる本でたの?
そういえば注文してたのに届いてないな
785 :
デフォルトの名無しさん :2012/01/13(金) 20:25:18.83
ウンコマーンアホは、プロダクト・プログラム・マネージャーだったんだろ 今後もQtに携わる事はないんかね。ウンコマーンアホさえ協力してくれれば、 アンドロイド開発にもQtが使えてウマウマできるだろうに。 ウンコマンアホの近況知ってる人誰かいない?
788 :
デフォルトの名無しさん :2012/01/13(金) 21:07:11.08
いや。俺のウンコマンに対する期待は本物だ
ウコンマーンアホ馬鹿にすんじゃねぇ それにウンコじゃなくウコンだボケ
Qtはこれからどうなるんだ
じみーに更新が滞って、じみーに消えそう
KDEにも使われてるから、そこ関連も地味にメンテナンスされる気がする。
じみー変動りっくす
Qtに代わるものあるの?
GTK+ぐらい?代わりというか似たものとしては
GTKで簡単にマルチできるの?
簡単の定義がわからんし 望んでるプラットホームがわからんからなんともいえない部分もあるけど 少なくともWindowsはQtよりは面倒だと思った
マルチでも動作がおかしかったりして いいのなかなかないよ
GUIがjavaのswingで、 ロジックがC/C++ってのも本末転倒だよな。
#include <gcj/cni.h> #include <javax/swing/JFrame.h> int main(int argc, char *argv) { using java::swing::JFrame; JvCreateJavaVM(NULL); JvAttachCurrentThread(NULL, NULL); JvInitClass(&JFrame.class$); JFrame top( JvNewStringLatin1( "Swing for C++" ) ); top.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); top.setVisible( true ): top.wait(); JvDetachCurrentThread(); }
そもそもマルチにする必要があんのかって気もする
書き換えなしで動く必要はないが、 別環境でも同じライブラリを使って書きたいってのはある。 いちいちWTLだのGtkだの変えたくない。
いちいちラップしたくないし互換テストしたくないし
ぶっちゃけWin以外のGUIアプリなんて、市場規模は無いといっていいレベルだし マルチ対応しても自分すら使わないよな
そんなことないだろ。Ubuntuなんか実用レベルだし。 最初からマルチのライブラリなら新しいプラットフォームでも期待できるし。 まあQtはAndroidすら対応できないけど。。。
WindowsとAndroid対応してくれれば自分的には満足
スマホ対応の有無は今後の普及に影響はあるだろね
スマホ対応よりQML推し
Androidへの正式対応は何時なされるんだろう 今年中になったらいいなぁ
オープンソースなのもでかいよね。
ライセンスはGPL系はやめて欲しいなあ
商用したけりゃ大人しく金払えよ
Androidの場合はapkでまとまるから、LGPLだとまずいんだよ
LGPLよくわからん
すごい噛み砕いちゃうと、動的リンクだとソース公開しなくていいんだっけ? やったことないけどapkを解凍してばらせれば問題ないのかな 詳しい人いたら誰か教えて
apkってパッケージファイルだろ。実行時にapkのまま動く訳じゃないし 静的リンクしてるって言えるのか?
例外条項で静的リンクできるようにすればいいのに
>>818 AndEngineの作者はOKと言ってるけど、しょっちゅうForumで揉めてたな。
解釈がわかれるっぽい
少なくとも粘着ユーザに暴れられる可能性は高いってことだな
QtCreatorは同時に複数立ち上げると、デバッグ情報が出力されなくなるね。 だったら、複数立ち上がらないようにしてほしい、と思うんだが。
>>822 ビルド時にデバッグ情報が出力されなくなるんじゃなくて,デバッガが複数同時に動かせないだけ
だと思うよ。実際,複数のQt Creatorを起動しておいてDebugビルドしても何の問題もない。
複数同時に立ち上げて使うソフトだってあるんだから、そこはユーザに任せるべきでしょ オプションとして追加するのはともかく、デフォルトの動作は今のままでいい
そういうのは大抵コマンドラインでの立ち上げオプションがあるもんだ。 --help でみると、 -client オプションでできる。
>>823 言ってることを理解してない?
問題ありありでしょ。
(1) プログラムAをQtCreatorで立ち上げる。
(2) プログラムBを別途QtCreatorを立ち上げる。
(プログラムBの中では、qDebug()を使ってデバッグライトを出力するように書いている)
(3) プログラムBをQtCreatorの実行アイコンを押して(またはCntrl+Rで)で実行する。
(4) すると、QtCreatorの「アプリケーション出力」のエリアのところに、
「デバッグ出力を取得できません。」
と表示されて、プログラムBで出力するように書いていたデバッグライト出力が
表示されなくなってしまう。
ちなみに、最初立ち上げたプログラムAのほうのQtCreatorでは、プログラムAの
qDebug()の出力は表示される。
QtCreatorを立ちあげてるのに気づかず、再度QtCreatorを起動してしまう、っていうのはよくありがち。
例えば、Windowsで使ってる人は、*.proをダブルクリックしてQtCreatorを起動するように
設定している人は多いと思うけど、すでにQtCreatorを立ちあげてるのを忘れて、
別の*.proファイルをダブルクリックして別途立ちあげてしまう、とかね。
馬鹿には無理
>QtCreatorを立ちあげてるのに気づかず、再度QtCreatorを起動してしまう、っていうのはよくありがち。 ない。 >別の*.proファイルをダブルクリックして別途立ちあげてしまう、とかね。 Windowsでなければ、別に立ち上がらない。Windows使うのを止めればよい。
>QtCreatorを立ちあげてるのに気づかず、再度QtCreatorを起動してしまう、っていうのはよくありがち。 いや、ないからw
うん?あるだろ。 まさか、一度に作るプログラムが1つだけなんていう 趣味レベルのプログラマじゃないよね?
セッション使えばいいだろ
>>826 やっぱりQtCreatorはまだまだ詰めが甘いな。普通の製品じゃこんなことはありえない。
つーか、もしかしたらそれ、qDebugのバグだったりしてな。
まあ多重起動してもqDebugがちゃんと動作するってのが理想的なんだけど、 動作しないなら多重起動自体を禁止しろってのはちょっと頂けないなぁ
もうQtCreatorが起動されている場合には、そっちにプロジェクトが追加されれば、 それでも良いと思うんだけどね。
それは一般的に多重起動を禁止しているソフトウェアの動作だよね 多重起動を許可しているのに多重起動を避ける動作をされたら多重起動できる意味がないでしょ ついでに言うとQtCreatorのメニューから開くとか、.proをD&Dした場合はそのQtCreatorにちゃんと追加されるようになってる ということは、特に指定もなく.proを開けと言われたら多重起動するのが一番スマートな選択だよ
まぁ変な動作だけど困ってる人が少ないんだろうな 報告したらそのうち治るんじゃない?
必要なひとは、ショートカットなり関連付けなり、デフォルトに--clientを設定すればいいような。 まあ、windowsならインストーラーから指定できればスマートなんだろうが。
>>826 「デバッグ情報」って書くから、デバッグビルド時に埋め込まれるシンボルテーブルの
ことと勘違いしてるのかと思った。スマソ。
> QtCreatorを立ちあげてるのに気づかず、再度QtCreatorを起動してしまう、っていうのはよくありがち。
何人かの人が書いてるけど、俺もそれは無いな。
作業が終わったらとっとと閉じてしまうタチなので。
まぁ、人によるよね。
QtじゃなくてVisual Studioみたいな製品だって *.slnファイルをダブルクリックして、複数立ち上げることはあるんじゃないの。 つい、他のプログラムではどう実装していたのか確認したくなる時があるので。
多重起動は別にいいだろ デバッグ出力を取得できないのが良くない
必要もないのに常時デバッガ立ち上げておくとか 正気の沙汰とは思えない
>>839 そういう話じゃない。
複数起動して用が済んだ後、そのままにしておくかどうか。
>>801 SnowLeopard/iOS/XP/Ubuntu用にビルドしてサンプルアプリが動いた。
(VC2008はOKでVC2010はNG。Androidは試してない)
日本語の扱いがいまいちなのを除けばなかなかいけそうな感じがするんだけど、
去年の9月以降、開発が止まってしまっているみたいなのが残念だね。
どうでもいい話にこだわるなぁw
重要なのは意図的に多重起動することもあるってこと 故に 1. 多重起動を禁止すべきではない 2. 多重起動してもqDebugは正しく動作すべき qDebugが動かないのが問題であって、間違えて多重起動するかどうかはどうでもいい そもそも.proや.slnをダブルクリックで起動とか、そんなレベルの話なら自分でランチャーソフト作れよ
846 :
デフォルトの名無しさん :2012/01/19(木) 19:03:07.58
エディタのバインドをvimスタイルに出来んかねぇ むしろvimに差し替えられないか
FakeVimって設定なかったっけ? Vim使わないんでどの程度同じなのか知らないけど
すげぇ解りやすいところに有ったわ こりゃ便利
FakeVimは何か微妙な所があったような
Vimってエスケープキーが遠くて使うの挫折するわ
Ctrl+[ か xmodmap でなんとかできるんじゃないか Windowsは知らない
Ctrl+[はどうだろ Escよりはましか
LINUXの時にemacs使いだった俺にとっては、 むしろemacsのキーバインドがほしい、、、、、 けど、もともとのQtCreatorのキーバインドとバッティングするから無理だな。。。。
>>853 Emacsキーバインドのプラグインがあるよ。最近は更新されていない。
855つづき 特にスタンドアロン型の場合にイベントで処理していた部分を サーバークライアント型にしたときにどうするべきなのかがわかりません。
857 :
デフォルトの名無しさん :2012/01/25(水) 08:47:12.72
QtCreatorって名前空間の指定が無いよね。 みんなどうやってんの。
?
859 :
855 :2012/01/25(水) 10:30:32.50
あ… サンプルってインストールするときに入れることできたんですね… サンプルのdiagramsceneということでお願いします
実践 Qt 4プログラミング の出版また延びたね。 出版される頃にはQT5がリリースされたりして。
Qt5はまだ文字もまともに表示できない段階だよ
Qt5.2かQt5.3になれば使い物になるんじゃないかな。
Qt4が出た後のKDEって、Qt3からのバージョンアップが全然進まないせいで 全体的にグダグダになってGNOMEに負けた記憶があるんだけど 今は落ち着いたのかな
QtWebKitを使おうとしたんだけど、 CSSのfont-familyで複数のフォントを指定しても、 最初の1つ目のフォントしか見てくれないという致命的なバグがあるみたい... クソ。
高機能でよく使われてるエディタコンポーネントってありますか?
超簡単なら修正してコミットしようか あ、無理ですか
無理もなにも、一般ピープルはコミット権ないじゃん。 パッチはすぐに上がったのに、それが適用されるのに半年掛ったというお話だよ。
Nokiaのほうはバグレポ書くといつも1営業日(?)で修正してくれるけど、 QtWebKitは別プロジェクトだからな。
riverbank = GPL
>>870 ありがとうございます。
失礼しました、テキストエディタです。
DelphiだったらTEditorみたいに割とポピュラーに使われてるのがあるので
開発者の間でよく利用されてるコンポーネントがあるのか知りたかったんです。
かなりのことが出来るものがあるんですね。
帯に短かし襷に長し
QtWebkitで画像ファイルはロードしないように出来ますか というかスクレイピング目的で使うのは間違ってる?
QtCreatorのエディタを標準のWidgetにすればいいアピールになると思うんだけどな せっかく作ったんだし
>QtWebkitで画像ファイルはロードしないように出来ますか QWebSettings::setAttribute >というかスクレイピング目的で使うのは間違ってる? ご自由に
>>877 ありがとうございました。
できました。
>>872 >riverbank = GPL
商用版もあるから問題ない。
スクレイピングならスクレイプ用のライブラリを使ったほうが楽だと思うけどね。
881 :
デフォルトの名無しさん :2012/01/27(金) 08:10:54.24
>>871 >Nokiaのほうはバグレポ書くといつも1営業日(?)で修正してくれるけど、
もしかして、Symbian、Maemo、MeeGoとかだけは修正が早かったのかな。
商用版を使っていて、バグレポートしてもNokiaは修正されない方が多い。
何ヶ月か一年以上待たされ、修正されればまだよいけど、
もうこの機能は改善するのを止めたとか古いのでクローズというのが何度あったか。
Digiaに商用版が移ってからは、Nokiaよりはよくなった気がする。
882 :
デフォルトの名無しさん :2012/01/27(金) 08:23:44.60
>>858 指定した名前空間にWidgetクラスとか配置してくれないでしょ。
生成されたコード書き換えて自分で名前空間に入れるしかない。
Phononとか独自ネームスペースだった気がするけどよくわからん ソース見れば何かわかるのかも
>>882 インストール時に指定すれば配置される。
885 :
デフォルトの名無しさん :2012/01/29(日) 12:34:02.58
普通はGUIなんだけど、起動時のオプションでCUIにしたいんだけど int main(int argc, char *argv[]) { if (起動時オプションに "-CUI" がある場合) { cout << "CUI mode" << endl; return 0; } QApplication app(argc, argv); ... } と書いても、out に出力した文字列がコンソールに表示されません。 どうしたらいいのでしょうか?
ifの条件でミスってるんじゃない?
Windowsならサブシステムをコンソールに
>>886 > ifの条件でミスってるんじゃない?
それだったら、GUIが立ち上がるはずだけど、何も表示されず
すぐに終了するんだ
とりあえず、環境とコンパイラを書けよ
>>889 Qt 4.7.4 (32bit)
VS2008 アドイン を使用してる
>>887 > Windowsならサブシステムをコンソールに
もっと詳しくご教授してください。
892 :
デフォルトの名無しさん :2012/01/29(日) 18:31:33.30
GUIを表示するコンソール付きexeを、 コンソール無しexeから起動すりゃいいんとちゃうん
QtCoreのソースの中で コンソール用ビルドとそれ以外では デバッグ出力用のコードを変えてる
>>891 サブシステムの指定をconsoleにすると、ウインドウで起動する時もコンソールの画面が出るようになるよ。
Qtを使うなら、Qtで処理した方がいいんじゃないか
ちょっとみたら、qApp->argv()で引数取れるようなこと書いてあるし
windows限定なら、apiでコマンドラインを取得することはできるけどね
exeのアイコンに適当なファイルをドラッグ、 ドラッグしたファイルを読み込みたいんですけど、 ドラッグしたファイルのパスを取得する方法って 何か良い方法ありますか。
QDropEvent->mimeData()->urls() でQList<QUrl>が拾える
>896 起動しているダイアログに対してファイルをドラッグ&ドロップするのなら拾えると思うのですが、 exeファイルへのドラッグ&ドロップに対しては拾えないと思うんですが。 何か、exeにファイルをドラッグ&ドロップして、アプリ起動と同時にドラッグ&ドロップの イベントを拾う方法があるのでしょうか。 今、試しているのはargvでドラッグしたファイルのパスが取得できるようなので、 それからパスを取得しようと考えてます。 他に良い方法があれば、教えて頂けないでしょうか。
いまだにキューティーって読んでる。
900 :
デフォルトの名無しさん :2012/01/30(月) 08:45:45.46
プログラムアイコンへのドロップは情報はパスしか含まれていないからそれでいい
>>901 ありがとうございます。
最初はQtで簡単に取得できるかと思ってたんですが、
argc、argvを使って実装使用炉思います。
pathに空白文字とか含まれてると面倒
Qt Creatorでboost使うのはどうすればいいんだろ いまはプロジェクト毎にINCLUDEPATH設定しているけど まとめて設定する方法がわからない
>>902 QCoreApplication::arguments()
ウィジットが作られたときのイベントって無いのでしょうか?createwindowみたいな
>>906 コンストラクタじゃダメ?
QEventなら「作られた」じゃなく「表示された」でもよければQEvent::Showが、
親オブジェクトに、子オブジェクトが追加されたことを通知するイベントとしてQEvent::ChildAddedがある。
>>904 もうひとつ、環境変数QMAKEFLAGSを使う
ちょっとQTextEditについて教えてください。 QTextEdit内に文字をずらずらと追加しようと思ってるんだけど、いい方法が見つからずに つまんないところで苦労してます。 append関数で文字を追加するといちいち改行されてしまう。 だから、insertPlainText関数を使おうと思ってるんだけど、この関数では出力の最中に マウスでテキスト部分をクリックしてしまうと、そこに文字が挿入されるようになってしまう。 もちろん、Qt::TextInteractionFlagでQt::NoTextInteractionを指定してしまえば、 そもそもマウスでテキストを選択することができなくなるから、 途中で挿入位置を変えられることなく、次々に文字を追加してくれるようにはなるんだけど、 マウスでのテキスト選択はしたいんですよね。 マウスの位置にかかわらず、QTextEditの最後のほうにテキストがどんどん追加する方法が あればいいんだけど、そういう方法ってありますか? ネットでちょっと検索してみたんだけど、いまいちいい方法がない。 皆さんはどう対処してますか?
あ、訂正。 マウスの位置って言ったのは、正しくは、カーソルの位置ね。
QTextCursor cursor = edit->textCursor(); edit->moveCursor(QTextCursor::End); edit->insertPlainText("hoge"); edit->setTextCursor(cursor);
QPlainTextEditのほうが高性能で融通が効く
>>913 ああ、なるほど、サンクス。
でも、これって、やっぱりカーソルの位置を変えるってことなんですよね?
元のカーソルの位置を覚えておいて、最後に持っていって文字を加えて、
また元の位置にカーソルを戻す、と。
処理している関数内で、これをやってうまくいくのかな。
やってみます。
>>914 そういうのもあったのか、、、
QtCreatorにもちゃんとありますね。
不勉強ですみません。
QPlainTextEditでの関数は、、、っと。
QTextEditの関数とあまり変わらないような。
Helpを読むと、append関数もやっぱりparagraph単位で文字が追加されるみたいだし、
これって、
>>911 で問題にしたようなことをスマートに処理できる方法あるのかな?
まあ、ちょっといろいろ試してみます。
>>913 この方法でだいたいうまくいきました。
だいたい、って言ったのは、少し微妙な動きがあるからです。
(許容範囲と言うか、本来そういうものなのかもしれないですが)
QTextEditではカーソル位置が常に画面上見えなければならないため(?)、
表示範囲を越えてずらずらと文字が追加されていった場合、
スクロール表示されて、追加部分が見えなくなってしまう。
カーソルの位置が何処にあろうが、文字が追加されていく場所が表示されていてほしいような。
こういうことを実現しようとすること自体が、ちょっと間違ってるのかな。
setTextCursorが最後に実行されてるからそのカーソル位置にスクロールするのが本来の動作 気に入らないならsetTextCursorの後で自分で好きな場所にスクロールしてやればいい
QTextCursor c(edit->document()); c.movePosition(QTextCursor::End); c.insertText("nyan");
921 :
デフォルトの名無しさん :2012/02/03(金) 00:46:49.54
QTcreatorで、QTと関係ないdllをダイナミックリンクしたいのですが、ビルド時のオプションはどこで指定すればよいのでしょうか。探しても見つかりませんでした。 教えて頂けますと嬉しいです
>>910 > text: qsTr("Hello") + rootItem.emptyString
> ってやれば切り替えできるのですが
こんな酷い方法しかないとしたら困ります。
924 :
910 :2012/02/05(日) 00:04:49.60
画像編集ツールにJavascriptとか話にならんわ
グラフィック関連のフロントエンドはスクリプトで弄るのが常識じゃないの?
スクリプトは ちょっとした定型処理をユーザが書く時だけでしょ
是非論いらないっつったのに エフェクトはQMLのアピール用機能なのかもだが、せっかく作ったんならC++APIも用意して欲しいかなあ まあどのみちGLSLだからちゃんとした編集には向かないだろうけど面白そうだし
>>929 エフェクトは、C++APIにもあります。バグ修正と機能改善はしないそうです。
>>924 qsTr()がlanguageChangedで呼び出されて、プロパティバインディングされるようにQMLを拡張する。
>>925 この人の写真はなんとかならんのかな。
見ると妙な緊張感が走る。
933 :
デフォルトの名無しさん :2012/02/05(日) 14:14:34.01
>>921 ありがとうございますーうまくリンクできました!
誰も使わないQMLのエフェクトを作っている暇があるのなら C++11対応とか縦書きとか勧めて欲しいわ
936 :
910 :2012/02/06(月) 00:24:06.03
>>931 すみません。もう少し詳しく教えていただけないでしょうか?
QFileでwrite()した時、失敗することってありますか? 公式ではwrite()で失敗すると-1が返るとあるんですが、 どんな時に-1が返るんでしょうか。
write()で失敗した時だろ
>>938 いや、どんな時write()が失敗するんだろうと思って
>>937 自分のプログラムで考慮が足りないというのが原因の可能性が100%。
システムコールトレースをするとほとんど原因が分かるでしょう。
そして、QIODevice::write()のコードも読んでみる。
>>940 何か上から目線の書き込みだねぇ。
>>937 は実際にwrite()に失敗して
困ってるわけじゃないと思うぞ。
だな プログラム初心者でwrite()が失敗するはずねーじゃんとか思ってるんだろ ロックかかったりして失敗することはあるんだけどね
>>941 >>942 その通りです。write()に失敗しているわけではないです。
ただ、openの時にQIODevice::WriteOnlyを指定して書き込みした場合、
どんなケースでエラーがでるのかと思って質問しました。
エラーがでるケースが解らないから、エラー時の処理を
書くことができなくて。
例えば、テキストでファイルをオープンして、書き込みしたファイルに対して
自分で作ったプログラムからそのファイルに書き込みしてもエラーが出ない。
と、試してみたけど、write()は-1を返さない。
じゃあ、どのタイミングで失敗するんだ?って感じになってて
↑ ごめんなさい。 日本語になってませんね。
>>941 上から目線という奴は、大概できない奴だよ。
>>943 >ただ、openの時にQIODevice::WriteOnlyを指定して書き込みした場合、
>どんなケースでエラーがでるのかと思って質問しました。
なぜ、システムコールトレースもせず、ソースコードも読まないのですか。
それすらしないなら原因は分かりませんよ。
>>943 ディスクが満杯のときのwriteや
ファイルサイズの上限を超えるwriteは-1が返るかもしれない
なんにせよOSやファイルシステムにべったりの話だと思う
>>946 システムコールトレースしない自分も悪いのですが、
>ただ、openの時にQIODevice::WriteOnlyを指定して書き込みした場合、
というのは、エラーを出さないのは当然といえば当然だと思うんですよ。
ファイルさえオープンできれば、
書き込みでエラーなんか出さないんじゃないですか?
例えばメモ帳を2窓で1つのファイルを開いて、お互いに書き込んでも
エラーメッセージを出しませんよね?
これと同じことだと思うんですよ。
段々と、質問の本筋とは離れてきているような気がしますが。
>>947 そうですね。ディスクが満杯の時は書き込めないから、
エラーが返ってきそうですね。
ありがとうございます。
ファイルのロックは外部から外せるから ファイルが存在しないことだってありえる HDDの容量が足りていても2TBより大きいサイズ書きこんだらダメかも知れないし メモ帳は同時に開いていてもファイルロックしないから、ただメモリ上にデータを保持してるだけ とにかくソースを見る癖をつけるといい
すまん質問。 QSplitter *sp = new QSplitter(Qt::Horizontal); QTreeView *tree = new QTreeView(sp); QVBoxLayout *vl = new QVBoxLayout(sp); vl->addWidget(hoge); vl->addWidget(fuga); vl->addWidget(foo); setLayout(vl); とすると、QVBoxLayoutで縦に並べたはずのhoge,fuga,fooが 全部横に並んでしまうんだが、 なんか根本的に間違ってる?
Layout != Widgetなのね。 スレ汚しすまん
953 :
デフォルトの名無しさん :2012/02/08(水) 15:59:30.83
Win7のタブレットPCを使っていて、キー入力が必要なところにフォーカスが移動するとスクリーンキーボードが起動します。 しかし、Qtで作成した自作のツールではスクリーンキーボードが起動しません。 例えば、QTextEditの場合、設定しなければならない属性があったりするのでしょうか? ググるとQtではありませんが、マウスクリックなどのイベントでosk.exeを起動しろというものが見付かりますが、入力ウィジェットごとにそういったコードを書かなければならないのでしょうか?
>>953 バグです。一年半以上前から分かっていて、P2 ImportantなのにSome future release。
QTBUG-11748
Text input fields do not trigger input panel (on screen keyboard, handwriting panel)
On Windows 7, every text input field (such as the Explorer URL bar) shows
a "keyboard input" tool tip to open the input panel on suitable hardware, such as Tablet PCs.
But this does not work with Qt widgets, because Qt does not tell the system which widgets accept text input.
> 入力ウィジェットごとにそういったコードを書かなければならないのでしょうか?
イベントフィルターという手もありそう。
QML作るのに忙しくて そんなん直してる暇ないんだろ
QSettings::IniFormatで、設定ファイルをiniファイルとして管理しているんだけど、 それ以外に、共通データを管理するファイルを作ろうと思っています。 っていうのは、結構大きなファイルになりそうなので、iniファイルとは別にしたいんです。 そのファイルを何処に置くかって言うと、やっぱり、iniファイルを置いておくフォルダにするべきだと 思うんだけど、それに関する定番のやり方って、何処かに参考例として存在しないのかな?
Qt 5のリリースもまた延びたようで忙しいのだろう。 日本語入力もできないくらいだから、リリースは早くて年末か。
win7でも、QDesktopServicesはiniとは微妙に違うパスが帰ってくるから 俺が前に同じ事をやった時も、気持ち悪いと思いながら QFileInfo([QSettings].fileName()).absoluteDir().absolutePath(); で置き場所を得た
960 :
953 :2012/02/10(金) 09:17:31.32
>>954 レス有難うございます。バグなんですか。
何回か試してみると出る場合もあって良く分からない状態でした。
数値を入力する場所はQSpinBoxに変えたらスクリーンキーボードが出るようになりましたが、QLineEditを使っているところはやはりダメですね。
Nokiaになんか買収されるからだよ。 旨い汁を吸ったのは、創業者とベンチャキャピタルだけ。今頃、ゴルフ三昧。 創業者は、技術者の恥さらし。
QSplitterで並べたウェジットm_rightとm_leftがあったとして m_left(つまり左側のウィジェット)の幅を極端に狭くできないもんだろうか。 QSplitter::setSizesはどういうわけかまともに動かん。 protectedなメソッドmoveSplitterを子クラスで無理やりpublicで使えるようにしてやると 真ん中らへんでだけは調整できるがはじの方に行くと効かない。 (マウスで動かす時のひっかかってべこん!と閉まるあの感じといっしょ) 左右ウェジットのSizePoicyをIgnoredにするとマウスでべこん!はなくなるわけだが 今度はmoveSplitterが全く効かなくなる。 どなたかヒントだけでも…
>>963 中のウィジェットに対してaddWidget前にsetMinimumWidth
べこんを止めるのはQSplitter::setCollapsible
>>959 なるほど、ありがとうございます。あらかじめ、
QSettings::setDefaultFormat(QSettings::IniFormat);
と設定した上で、
QSettings st;
QString dn = QFileInfo(st.fileName()).absoluteDir().absolutePath();
とやれば、あのフォルダの場所が取れるというわけですね。
Qt Everywhereって前から言っているのだから、沢山使われるはずのiOSとAndroidを進めればよいのになあ。
そういやQt Jambiって黒歴史化して終了したと思ってたけど、いつの間にか蘇ったの? あれが黒歴史になってないなら、Androidはなんとかなりそうだけど。
QDockWidgetのタイトルバーウィジェットのタイトルをドックウィジェットのタイトルとは別にしたいんだけど titleBarWidgetってのがconstだから変更できないのですけれど 自分でタイトルバーをカスタムするしかないですか? そういう場合デフォルトのタイトルバーのようなレイアウトにするにはどうすればいいでしょうか
windowTitle のこと? だったら setWindowTitle でいけるよね。
971 :
デフォルトの名無しさん :2012/02/12(日) 22:37:05.80
WinXPで QtCreator2.4を使ってます。 インデントの設定をtabにしたいんだけど 起動するたびデフォルト?のスペースに戻ってしまいます。 なにか回避策ありませんか?
>>974 まったく同じ環境だけど,問題ないよ(Qt Creator 2.4.0)。
オプションの[テキストエディタ]→[動作]の設定は以下の通り。
タブ ポリシー:タブのみ
タブサイズ:4
インデントサイズ:4
連続行の整形方法:通常のインデント方法で整形
タイピング→自動インデントの有効化:ON
Backspaceインデント:なし
タブキーで自動インデントを行う:実行しない
976 :
974 :2012/02/13(月) 13:58:22.31
>>975 ありがとうございます。
すみません。説明不足でした。
そこではなくて、オプションの「C++」と「Qt Quick」のところです。
コードスタイルのところでコピーを作らないとだめといわれるので
コピーを作ってQt(コピー)の設定を変えているのですが
毎回ビルトインに戻ってしまいます。
ところでテキストエディタのところの設定はどこに効いてくるのでしょうか?
設定は
>>975 さんと、同じ設定にしていますが、コードの編集では「C++」「Qt Quick」の設定が
効いてくるようなのですが。
977 :
975 :2012/02/14(火) 08:07:20.79
>>976 そこの設定は意識したことないし,いじってません。
C++のコードスタイルは,「古いCreator」になってます。
Qt Quickは使わないので...
プレビューに表示されてるのとは異なるコーディングスタイルで書いてますが,
普通に使ってる限りは勝手に変えられたりはしませんね。
多分整形機能があるんだと思うんだけど,使ってないのでわかりません。
済みません。
978 :
974 :2012/02/16(木) 15:39:03.87
>>977 いえいえどうもありがとうございます。
なんかうまくいかないので
今度再インストールしてみようと思います。
Qtの話じゃない気がひしひしとするんだけどしつもん。 QMap<QString, HogeClass*> Classes; という宣言を、関数内でするとちゃんと通るのに クラス定義のメンバ変数のところでやると field 'Classes' has incomplete type と怒られてしまうのはどういう理屈なんでしょう。
次スレのテンプレまとめ頼む
前スレのURLだけ直せば今のままでいいんでないかな Qt5とかQtQuickみたいな新しい話題はもうちょっと固まってからでいい気がする
>>980 有難う。#includeの調節とtypedefで行けました。
>>982 >Qt5とかQtQuickみたいな新しい話題はもうちょっと固まってからでいい気がする
日本語入力もできないようでは、2、3年後だな。
Qtが死につつある現状が悲しい
iPhoneで動く?
対応してないはず Objective-Cって調べてみたけどC++と混在可能らしいんだが もしかして簡単に対応できるんじゃね? どこか難しい部分ってあるのかな
Objective-C++で動いてるでそ
QMLの重要さに比べたら iPhoneなんてどうでもいい
>>987 動きます。Qtに入っているのものは、まだアプリをまともに作れません。
商用で出るQt for iOS方がよくできているので、そちらに期待しています。
>>990 現時点では、iPhone/iPad >>> QMLでしょう。
WindowsPhoneがC++使えるようになったから iPhone、Androidが対応するのはその後だろうな
>>993 > WindowsPhoneがC++使えるようになったから
ってことは WindowsPhone で Qt が使えるの?
使えるとしてもこれから移植するんだろ iPhoneとAndroidはその後だな
へ?
QtCreator使いやすすぎワラタw vim, netbeans, eclipseの三つ触ってみて、 どれも自分にはQtプロジェクトの管理を上手くできそうになく、 しょげてたけれどこれはいいものを知った。 もっと早くスレを「エディタ」で検索するべきだった。
スレタイにRAD統合環境って……いや何も言うまい
Qt流行らなかったのなんでだろう メモリ意外と喰うから?
QtCreator程度のエディタはいくらでもあるし、 VS2008ビルドだとデバッガもまともに動かないのでどうでもいい。 個人的にはVS2008/2010 にQtサポートを追加して開発するのが楽。
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。