【RAD統合環境】 Qt 総合スレ 9 【Win/Mac/Linux】
1 :
デフォルトの名無しさん :
2010/12/14(火) 22:42:28 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 総合スレ 8 【Win/Mac/Linux】
http://hibari.2ch.net/test/read.cgi/tech/1280950209
2 :
デフォルトの名無しさん :2010/12/14(火) 22:43:28
3 :
デフォルトの名無しさん :2010/12/14(火) 22:44:18
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/12/14(火) 22:46:23
QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale()); QTextCodec::setCodecForTr(QTextCodec::codecForName("utf-8")); //ソースの文字コードを指定("utf-8"や"Shift-JIS")
このスレッドは天才チンパンジー「アイちゃん」が 言語訓練のために立てたものです。 アイと研究員とのやり取りに利用するスレッドなので、 関係者以外は書きこまないで下さい。 京都大学霊長類研究所
>>2 誤解無いように言っとくとLGPLの静的リンクでもソース公開は必須では無いよ
1Z
>>8 静的リンクをstatic linkingとする(要するにexeの中に入れる)なら、
LGPLのライブラリの使用であっても
プログラム全体のソースコードの公開が必要になるよ。
DLLとlibファイルを介してexeに結合させること場合は必要ない、
というのがGPLに比べたときの劣化(Lesser)具合。
Qt自体を改変したときは、Qt部分のソースコードの公開が必要。
しかしプログラム本体には波及しない。
>>10 現実的にはそうなるが
オブジェクトコードでもいいことになってるだろ一応
前スレの991=994?の人、もしかしてQtにはC++コンパイラが含まれてないので別途必要 ってことがわかってないんじゃない?
>>8 動的リンクの時は公開の必要ないとしか書いてないんだからあってるだろ
静的リンクのときは説明長くなるから最後の二行の通りでいいじゃん
>MinGW使わないならVS2008は必要だけど,代わりにMS SDKも使えるということ。 つまりMinGW使わない場合でもMS SDKを使えばVS2008は必要ではないということだろ
>>12 make時の *.o(windowsなら*.obj)だけを公開すればいいから十分現実的だと思うがね。
デメリットは実行ファイルのみに比べて、多少リバースエンジニアリングが楽になるくらい。
vs2008で開発しています。 uiファイルベースでQMainWindowからGUIアプリを作ってるんですが、 メインウィンドウへのアイコンの指定方法がよくわかりません。 リソースファイル(*.rc)をいじって用意したアイコンを登録して、 プログラムのアイコンには設定できたのですが、 メインウィンドウのアイコンには設定されません。
QIcon ico = QIcon(APP_ICON); setWindowIcon(ico);
>>18 まず、APP_ICONが定義されてない。
app.qrcに<file>app.ico</file>の行を追加してもロードに失敗してなぜだろうと思ってたんだけど、
<qresource prefix="/visualchanger">
「prefix="/visualchanger"」を省いたらいけたよ!
あとは*.uiファイルに書いてしまえると便利なんだけどなぁ。
ひとまず動くようになりました。
QMenuを使ってボタンを押したら ドロップダウンメニューが出るようにしたんだけど、 各メニュー項目にサブ項目の矢印が出る。 当然サブ項目なんて設定してない。 これって、こんなものなの?
つ addAction()
>>21 なるほど……。
各メニュー項目はQActionで、QMenuはその入れ物なのか。
ありがとうございます。
たったあれだけのヒントで全てを理解する
>>20 は、きっとすごいイケメン
Qtプログラマがイケメンじゃないわけがない
25 :
デフォルトの名無しさん :2010/12/17(金) 16:53:06
みなさんグラフとか使ってないすか? QWTてのあるけど今一使い方が分からんす
QDomDocument〜QDomElementがめっさ使いにくい。 XMLを読み書きするの、何か他のライブラリを使ったほうがいいのかな。
俺もそう思ってTinyXMLとか調べてみたけど、どのライブラリでも大体似たような 感じだよ。
28 :
26 :2010/12/17(金) 17:53:51
自己レス。 こういう関数を用意しておくと、foreachでループを回せるようになる。 (↑Qt特有? C++0x?) QList<QDomElement> getElementsByTagName(QDomElement elem, QString tagName) { QList<QDomElement> result; QDomNodeList childLst = elem.elementsByTagName(tagName); for (int i = 0; i < childLst.length(); i++) { QDomNode n = childLst.at(i); if(n.isNull()) continue; QDomElement child = n.toElement(); result.append(child); } return result; } ループ: QDomNodeList layersetLst = root.elementsByTagName("LayerSet"); QDomNode n = layersetLst.at(0); if(n.isNull()) return 1; QDomElement layerset = n.toElement(); foreach(QDomElement layer, getElementsByTagName(layerset, "Layer")) { printf(" Layer: %s\n", layer.attribute("name").toStdString().c_str()); foreach(QDomElement item, getElementsByTagName(layer, "Item")) { printf(" Item: %s\n", item.attribute("name").toStdString().c_str()); } }
>>25 基本は QwtPlotCurve に setData でデータ詰めて、QwtPlot Widget の
showCurve で表示。
QwtPlotCurve をカスタマイズすれば、いろいろなグラフが作れるので、
重宝してる。
31 :
デフォルトの名無しさん :2010/12/18(土) 02:32:53
昨日からQtを始めたて、サンプルを手本に作ってるんだが・・・。 QtGuid4.dllは正しいwindowsイメージではありません。 と言われる。 C:Qt/qt/binからコピーしてきたdllを、debug内に突っ込んだだけなんだが。 Cored4は読み込んでくれる、どう回避したらいい?
質問いいでしょうか? コマンドプロンプトで使うつもりで作ったプロジェクトをstaticライブラリとして読み込み、 QtのDockWidgetに出力させたいのですが、coutやcerrの出力先をDockWidgetに向けるには どうしたら良いでしょうか? 一応自分でもググったりしたのですが、わからず…。 どうかご助力お願い致します。
34 :
デフォルトの名無しさん :2010/12/18(土) 03:03:53
ファイル名にdが入ってるやつと入っていないやつの2種類があるはず
31だが QtGui4のデバッグ用がQtGuid4ってことでいいんだよな? で、そのQtGuid4が正しくないと言われるんだが これはQtを再インストールするしかないか?
コピーじゃなくてPATHを通せ
>>32 Qtは標準入出力をハンドリングしてなさそうだから、OS固有の仕組み使うしか
ないんじゃないかなー。Windowsだったら ::GetStdHandle() 使うとか。
>>36 debug用のruntimeは入れてあるよね?
>>38 ,40
ありがとうございます!
解決、あるいはわからないことがあればまた書き込むと思うので
厚かましいようではありますが、その時はどうかよろしくお願いします。
>>31 ビルドされたexeを
Dependency Walkerに読ませて、
何のDLLを呼び出しているか調べてご覧。
Qt+vs2008だと何のDLLを利用するのかがわりと暗黙的に
行われるので、配布する前にチェックが必要。
幸い、静的にリンク解決してるのでDependency Walkerで調べられる。
>>42 それだと、ファイル名はわかるけど、どのバージョンの(≒どこにある)DLLが必要なのかが
わからないのよ。
Qtは複数バージョンを入れることもままあるので、典型的なDLL地獄だねw
DLL地獄なんて昔の話で、今の Windows には無いなんて聞いてたけどまだあるのか…
>>43 exeがdllを探す順序がわかってないだけなんじゃないの?
>>43 Dependency WalkerはカレントディレクトリにないDLLを
ロードする時にはそのPATHも教えてくれるよ。
>>45-46 そうじゃなくて、
>>31 の問題には Dependency Walker は役に立たない、ってことですわ。
実行ファイルがどのファイル名のDLLを要求してるのはわかるが、どのバージョンを
要求しているのか(例えば Mingw版なのかVS版なのか、4.7.0なのか4.7.1なのか)は
やってみなくちゃわからない、ってこと。
ちゅーか、おまいらは困ってないの?
>>42-47 リリース版では問題なく起動できる。
デバック版のdllだけ不調。
Mingwで、4.7.0でやってる。
debug buildを実行しようという人間が、自分がmakeした環境を知らないとか 有り得るのか? release build なら(必要な関数が揃っているなら)多少のversion違いでも、 動作するし。
debug buildは人に配布するものではないから 自分の環境で動けば十分なんじゃね? MingWはC標準ライブラリがVS2008と全く互換性がないから、 ビルドした実行プログラム(exe/dll)を絶対に混ぜちゃダメ。 Qtはなまじクロスプラットフォームだからその辺の表現が曖昧になってるけど、 WindowsでQtアプリを開発するならどちらで開発するのかはっきりさせたほうがいいよ。
(続き) まっとうなWindowsアプリとしてバリバリ書いて、 一般に配布されてるクローズドソースなDLLも使っていく、ということなら 素直にvs2008版を使えばいい。 そうじゃなくてWindowsでも動くクロスプラットフォームなアプリを なるべくUnix互換として作っていきたいなら文句なくMingWになるだろう。 Unix系のオープンソースライブラリを自前でビルドして、自由に組み合わせて使えばいい。
>>47 何を困ってるのか全然わからん。
>>49 の言うとおり、自分でビルドしたんだから
MinGWなのかVSなのかはもちろん、4.7.0なのか4.7.1なのかも当然自分が知ってる
はずだろ?
>>50 デバッグビルドされたアプリを配布目的以外で別の環境で動かしたい、ってのはあるぞえ。
Windowsであれば、2000/XP/Vista/7で動くかどうかの検証したい、とか。
>>52 Qt Creator 上でデバッグビルドして、デバッグする場合、どこにあるDLLを使っているのかが
わからない、ってこと。Dependency Walker は、すでに実行中のプログラム(=Qt Creatorが
実行しているデバッグアプリ)に対しては解析できないでしょ?
Qt Creator でのデバッグ時、どこのDLLを使っているのかがわかればいいだけの話です。
…と書いてQt Creator立ち上げたらわかった。
デバッグ時に ウィンドウ→表示→モジュール を選択してモジュールリストを出したら、
フルパスで読み込まれたDLLのリストが出た。これでOKじゃんw
>>48 てことで、数行上に書いた方法でパスを洗い出してDLLを置いてみそ。
54 :
デフォルトの名無しさん :2010/12/19(日) 01:10:54
Qtいいなあ C#、Java、WinAPI、MFCのどれよりもいいわ おれ、これから、これをメインにするわ
VB6を髣髴とさせるGUI構築ライブラリや。
>>54 Qtで4日かかってサンプルアプリ作って、
.NETに対する優位性を布教しようと思ったら、
.NETと大してアプリの速度は変わらず、
開発にかかる時間は.NETのほうがずっと短いので
布教にならなかったでござるの巻。
もうちょっと大きな規模じゃないとダメか……。
大きなアプリじゃ余計比較は難しいと思うが
>>56 少なくとも初回起動速度は.NETよりずっと速いんじゃないか?
Qtが.NETに対して明らかに優位だと思うのは、レイアウトの柔軟さと
国際化(多言語)対応の容易さかな。
実行時にUIの言語を動的に切り替えるなんて、Qtじゃなければ簡単
にはできないと思う。
> 開発にかかる時間は.NETのほうがずっと短いので
そうか?Qtだって慣れると早く組めると思うけど。
もう少し修行してから布教した方が良いのではw
>>58 >起動速度
そうなんだけど、これはアプリがある程度大きくならないと分からないよね。
>レイアウト、多国語対応
UIのデザインがXMLで組めて実行時に組み立ててくれる仕組みがあるのはいいね!
ただ普通に作る場合はuiファイルをmoc.exeが読み込んでh/cppのソースコードを自動生成するようだ。
言語の切り替えはテキストリソースをDLLにビルドして
起動時に切り替えられることは確認してるけど、実行時中に変更する方法は分からないなあ、確かに。
>開発時間
たしかに経験値の差はまだ(自分の中で)大きい。
作ったサンプルだと、.NET版は2〜3時間でできてしまった。
.NET版というと・・・FORMSか。 WPFとの比較ではないよね?
> 作ったサンプルだと、.NET版は2〜3時間でできてしまった。 いったい、どんなサンプルを作ったんだ? このスレに常駐しているイケメンだったら1〜2時間で作っちゃうかもしれないぞ
62 :
54 :2010/12/19(日) 16:12:01
>>56 小生はそういうことをいっているんじゃないんだよ。
プログラム作業がおもしろいよ。
C#って部品並べて、コーディングをちょろっとやるだけじゃん。
難しいのをドーパミンだしながら、1000行くらい打つのをやりたいんだよ。
63 :
54 :2010/12/19(日) 16:14:01
ああ、プログラム初心者のころに、C言語でBWカーニ半のプログラム作法のサンプルをやったころのようなときめきを感じたい。 WebはPerl、GUIはQtだよ。
>>61 レイヤーとして切り出された透過pngを、
短冊状に並べられた切り替えボタンで表示/非表示を切り替えて
必要な組み合わせを手早く合成するためのツール。
Qt側は得られた知見もそれなりにあるから、
見たい人がいるならソースコードを公開してもいいですよ。
その内容で製作期間4日ってちょっと考えられない Qtを使い始めて4日って意味かな?
>>62 Qt も結構「部品並べて、コーディングをちょろっとやるだけ」の場合も多いんだが…
>>59 >起動時に切り替えられることは確認してるけど、実行時中に変更する方法は分からないなあ、確かに。
それはお前があほだからだろ
>>65 サンプル改造以外のスクラッチからはこれが初めて。
最初にUIのデザインを構築する段階で何度もつまずいた。
これだけで1日2日かかったな。
引っかかったところは前回のスレ通り。
他、スロットの定義とconnectのやり方とか
qSortのやり方とか
foreach構文の使い方とか(Qtになって初めてC++で使えるのを知った)
QPixmapでの画像処理のいろはとか
QStatubarのクセとか
Widgetを動的に作るときに適切にスタイルを与えたい時に何が必要かとか
QFileDialogの使い方とか
お前にはまだ早いでFA
>>68 4日もかかったのは、Qt の生産性うんぬんより
Qt に慣れてなかったからだと思う。
熟練度が同じ状態で生産性を比べないとだめ。
またはゼロから学習した場合の難易度を比べる
>>56 主にWindowsで動かすことしか考えてないライブラリと比べて
マルチプラットフォームなライブラリがオーバーヘッドが同程度なら、それは割といいんじゃないか。
それよりも、
>>64 の意味がいまいちわからないのだが、組み合わせを探すアルゴリズムが遅いんじゃないの?
>>71 そういうQtと.NETのGUIアプリが同程度といっているのではなくて、
作ったサンプルでは負荷が小さすぎて体感差が出なかっただけのことで。
64の話だけど、レイヤーの切り替えはマニュアル操作だよ。
切り替えると、合成済みの表示画像を
破棄してまた最初からレイヤーの合成処理をやり直す。
大体5-8レイヤーくらいあるんだけど、
1600x1200クラスになると.NETの方が遅いね。
1024x1024くらいならほとんど問題にならない。
で、対象となるデータはだいたいこんなサイズなので。
以下の順番で構成しているとき コンストラクタの親は何を入れればいい? ↑親 MainWindow QTabWidge QWidget QHLayout QLineEdit ↓子 QLineEditの親は QHLayout 、 MainWindow 、 NULL ? いちいち設定するの面倒なので今はNULL設定しているが、今のところ問題が起きてない。 親を設定するとどんな効果があるの?親設定しないとちゃんとメモリ解放されないのか
>>73 layout->addWidget()を呼び出した段階で
登録したWidgetの親を設定してくれるようになってるよ。
だからコンストラクタ時には不要っちゃ不要だな。
具体的には
void QLayout::addChildWidget(QWidget *w)
Qtはアプリケーションの色変え(スキン処理)は楽ちんだろ。stylesheet 書けば できるんやから。その辺もアピールポイントとしてよろしく。
>>74 MainWindow::setCentralWidgetも同様に自動で親設定してくれる?
set***やadd***系は自動登録って認識でおっかな
>>76 ソース確認したら自動で親設定してたよ。QLayoutのparentWidget()をね。
>>72 > 1600x1200クラスになると.NETの方が遅いね。
> 1024x1024くらいならほとんど問題にならない。
Qtの方が速いのか。そりゃすごい。
>>78 ちょっと.NET Frameworkに突っ込んだ話になるけど、
pngをメモリに読み込んで合成処理してコントロールに渡すという処理の場合、
一旦マネージドメモリに移してから再度アンマネージドメモリに転送するという
ことをやってるのでどうしても余計な時間を掛かっちゃうんだよ。
でも.NETのコードが動いている部分が少ないのでこれでもまだマシな方。
例えば各ピクセル処理を.NETのコードで書いてたら
そのたびにペナルティーが発生してQt版と速度差が出るだろうな
メモリのコピーにそんなに時間かかるかな?
>foreach構文の使い方とか(Qtになって初めてC++で使えるのを知った) なにこれ笑うところ? それとも釣り?
だから > C++で使えるのを知った ここが笑いどころなんでしょ
俺も初めて見た時はC++の言語が知らん間に拡張されたのかと思った。
VC++ の for each (int x in ArrayList) とか C++0x の for (int &x: array) とか、あるにはあるけどね。 Qtの foreach は遥かに強力でエレガントだ。 # 内部では、かなり強引な方法で展開してるみたいだけど。
C++0xとQt組み合わすことってできんの?
BOOST_FOREACHみたいなもんか
間にmoc入ってるし、Qtは素のC++とは言えないよな
でも、g++ や VC++ などの 素の C++ コンパイラが使える
90 :
デフォルトの名無しさん :2010/12/20(月) 21:07:02
>>14 LGPL_EXCEPTION.txtの制約に反するならば、動的リンクでも公開が必要。
91 :
デフォルトの名無しさん :2010/12/20(月) 21:21:10
>>75 stylesheetはQtの汚点、なくした方がよい。これからstylesheetを使おうと思うなら止めた方がよい。
少し慣れて、ここも手を入れたいと思うようになると、できないことがぞろぞろ出てくる。
そういったできないことへの対応は、最近まったくされない。
QtのStyleのWhitepaperに書かれているように五千行以上でパフォーマンスが劣化する。
こんな程度では大きいアプリケーションにstylesheetを使えない。
マクロでいいんだったらCでもforeachは使える
>>92 Cだと配列の数が必要なので、面倒。
動的確保じゃなければsizeof使えばいいけど。
connect関数と同名の他ライブラリ関数との競合で困っています。 Qt 4.6 for visual studioとperlライブラリ(perl510.lib )をVC++2008exp上で使ってます。 perlライブラリを使った関数をインクルードした状態でQtのconnect関数を使うと (例) connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept())) error C2660: 'win32_connect' : function does not take 4 arguments とエラーが出ます。ぐぐるとwin32_connectはQt関係ではなくperlのソケット関係の 名前のようです。 QObject::connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept())) とすると error C2039: 'win32_connect' : is not a member of 'QObject' とエラーを返されます。。。 ちなみにperlライブラリを使った関数のを除くと正常に作動します。。。。 どうすればQtのconncectとして認めさせることが出来るでしょうか?
perlのconnectを使っていないならperl関係のincludeの後に #undef connect
>>94 perlを使うソースコードとQtを使うソースコードを分ければいいんじゃね?
97 :
94 :2010/12/21(火) 10:56:23
>>95 ギャー!! 出来た! 動いた!
マジ感謝です。ひょっとしたらQtあんまり関係なかったかもだけど
即効で的確なアドバイスありがとうございました!!
はぁ、これでこのクリスマス休暇はゆったりとQtで自作アプリ作りに励める。。。
neet裏山C
>>91 ふーん、そういうものなんですか。
んじゃ、使いどころを考えればそれなりに使えるって事ですね、stylesheet。
こんな仕組み、自前での実装は大変でござるよニンニン。
100 :
デフォルトの名無しさん :2010/12/21(火) 22:12:04
stylesheetは使うと後悔する。QWindowsStyleなどを継承するか、QProxyStyleを使うかするのがよい。
コストラクタで引数に参照を渡すことがよくあると思います。 変数をコンストラクタに渡した後は削除しても問題ないのでしょうか? そこら辺qtで統一されていますか
>>100 なにゅ、そういうものですか。ちと勉強して出直してきます。
Windows XPで時々見かける「流れるプログレスバー」をQtで作る方法があったら教えてください。 「xx%」みたいな進捗表示ではなくて「今やってます」みたいなアニメーション的な表示をするヤツです。 ヘルプを探したんですが,QProgressBarのメンバーにそれらしいものはないし,stylesheetでも できないようです。
exsampleにあるだろヴぉけ
105 :
ヴぉけ :2010/12/22(水) 11:16:08
107 :
105 :2010/12/22(水) 11:34:02
> 単なるQProgressBarだよな?
違います。
>>105 にリンクを貼ったページをよく見てください。
プログレスバーの開始点が左端に張り付いておらず,2〜3ブロックだけが見えて
いるでしょう?この見えているブロックが左から右に流れていくのです。
Windows XP以降で使われるようになったものです。
>>107 QProgressBarのminimumとmaximumを両方ゼロにしてみろ
>If minimum and maximum both are set to 0, the bar shows a busy indicator instead of a percentage of steps. 違うというなら当然これは試したんだろうな。
そろそろ自分のレスの解釈の間違いに気が付いたら?
111 :
105 :2010/12/22(水) 11:57:31
>>108 ,
>>109 できました! 確かにヘルプのQProgressBarの[Detailed Description]のところに書いてありました。
ありがとうございました。
口は悪いがイケメンの人
アホでイケメンのひとなら知ってるよ
Qt使いのイケメンがアホなわけがない
class SystemTray : public QSystemTrayIcon { Q_OBJECT public: SystemTray(QObject *parent = 0); ~SystemTray() {}; }; SystemTray::SystemTray(QObject *parent) :QSystemTrayIcon(QIcon(":SystemTrayIcon.ico"), parent) { setVisible(true); QMenu *menu = contextMenu(); menu->addAction("hellow"); ←←ここで落ちる } これをmainで呼び出しているだけなのに何で落ちるんですか?
setしていないなら、menuは、nullじゃね。
118 :
115 :2010/12/23(木) 12:03:35
dropdragは継承してサブクラス作るしかできないの? デフォルトでSIGNALとか飛ばしてくれないかな
EventFilter 作るのはダメ?
>>120 マウスの位置やクリックを監視して自分で作るってこと?
そりゃ、俺の能力では無理やな。おとなしく継承するわ
122 :
デフォルトの名無しさん :2010/12/23(木) 20:00:59
>>122 つまり、コンストラクタで渡した変数を速攻で削除しても問題ないって事でおk?
implicit sharingである限りは大丈夫だね。
125 :
デフォルトの名無しさん :2010/12/23(木) 21:11:55
>>123 そう、例えばQStringやQPixmapなどはintと同じように扱って問題ない。
126 :
123 :2010/12/23(木) 22:15:45
>>121 そんなのしなくてもQEvent::DragEnter, QEvent::DragMove, QEvent::DragLeave, QEvent::Drop発行されなかったっけ?
ドロップされたtext/uri-listを取得したら2種類の文字列を取得できた QList<QUrl> urlList = mimeData->urls(); urlList.at(i).toString → "file:///C:/boot.ini" urlList.at(i).path → "/C:/boot.ini" "C:/boot.ini"←の文字列がほしいのだが 最初についているゴミ("/"や"file///")は自分で削除しないといけないのか?
>>121 ,127
手元にファイルのドロップを受け付ける自作アプリのソースコードあるけど、
ドロップを受け付けるQLabelにdragEnterEvent()その他を定義するだけで勝手に呼ばれてるな。
そこでchangedイベントに変換して、親で改めてイベントハンドラで受け取る仕組みになっている。
もちろん、そのQLabelには setAcceptDrops(true) が必要。
Win32APIのサブクラス化というならいざしらず、
QtのUI上のウィジェットの継承は別に普通にやってもいいんじゃね?
質問レスじゃなく、愚痴みたいなものだけど。 QDirって、ディレクトリじゃなくてファイルを扱わせると直感的じゃない動きをするよな。 QDir fullpath = QDir(path); QString name = fullpath.dirName(); QDir dir = fullpath.absolutePath().left(fullpath.absolutePath().length()-name.length()); 例えばこんなふうに書かないといけない。
>>132 馬一鹿
質問じゃないから、答える必要な無いぞ、皆の者。
それより、 >馬一鹿 ってなんて読むの? 脳内変換しろって事? 答えろよ、屑
>>133 じゃあ、どういうふうに書けるものなんでしょうか。
これは、質問。
イミフだが、ストレートに"うま・いち・しか”って読むんじゃね?w
QFileInfoを使えって話じゃないの?
馬一鹿の読みの話だろ
「バーカ」に決まってんじゃん。すぐ読めたぞ。想像力ないやつばっかだな。
>>137 なるほど。
ドロップされたファイルを対象に
そのファイルがあるディレクトリを走査する流れなんだけど、
この用途だとQFileInfo越しに情報をもらうのが楽そうですね。
今度からはそうします。
QDirと違ってQFileInfoは実ファイルシステムにアクセスするペナルティーがあるけど、
どうせ直後にアクセス始めるから関係ないし、
そもそもアクセスのペナルティーが問題になる用途でも無し。
>>132 >例えばこんなふうに書かないといけない。
薄知様、ご高説をありがとう
>>133 何が"皆の者。"だよww
書いてて恥ずかしくないんか?w
ーを一に誤変換しちゃう日本語入力ソフトなんてあんの?
そんなネタのコピペがあったよな
もうそろそろいいんじゃないか?
147 :
デフォルトの名無しさん :2010/12/24(金) 15:11:34
Qt 4.7.1 の qt/bin/qtdemo.exe を起動し、 Graphics View > Diagram Scene を起動し、 ツールバーの直線を選んで、マウスでクリック&ドラッグすると 画面に直線が描かれますが、マウスボタンを離すと直線が消えてしまいます。 これはサンプルのバグでしょうか?
>>147 このサンプルはダイアグラムを表現するサンプルで、
君の選んだのは直線ツールじゃなくてダイアグラム同士を結びつけるツール。
勘違いですな。
なるほど、単に直線を描くツールかと思ってたけど、そうじゃなかったのね サンクス>イケメンの148
StandardItemModelのアイテムの追加・削除のシグナルは自分で作らないとだめなの? itemChangedはアイテムの"変更"だしなぁ。 QAbstractItemModelに追加・削除のシグナルあったので QAbstractItemModelにダウンキャストしてコネクションしてみようと思ったが QAbstractItemModel *a = qobject_cast<QAbstractItemModel *>(model); connect(a,SIGNAL(rowsInserted ( const QModelIndex & parent, int start, int end )),SLOT(updateDirTree())); ↑実行しても”No such signal StandardItemModel::rowsInserted”と表示されうまく動かなかった。 追加・変更の関数オーバーライトしてemit changed追加するしか方法はないのか?
自作ソフトをタスクバーから消したいのですが、方法を教えてください
>>150 なんでダウンキャストする必要があるのさw
普通に connect(model,SIGNAL(rowInserted... でいいんでねーの?試してないけど。
>>152 いや、無理だったからダウンも試してみたってことだよ
connect(test, SIGNAL(シグナル1()), this, SLOT(シグナル2())); ってできなかったけ?
>>153 ,155
あーそゆことね。bool QAbstractItemModel::insertRows() が virtual で何もしてないそうだから、
オーバーライトしないとだめそうね。
QWidgetを再描写する関数ってないの?
>>157 QWidget::update() じゃないの?
159 :
157 :2010/12/25(土) 12:56:42
160 :
デフォルトの名無しさん :2010/12/25(土) 14:01:20
ねぇ、MDIのWebブラウザつくるのってむずかしい?
>>160 MDIのサンプルもWebkitを使ったブラウザのサンプルもあるから、
組み合わせるだけで作れるわけで、作るだけなら難しくないさ。
163 :
160 :2010/12/25(土) 14:25:45
>>161-162 ありがとう><; 細かいことはいいません。
MDIのサンプルもブラウザのサンプルもあるんですね><;
C#でつくろうとしたら、新しいドキュメントを開くときに
IEが開いてしまい。。
Qtってすごい使いやすいですね。C#やMFCよりずっといいです。
元C#つかいでQt歴2週間です。
これから、頑張って作ります><;
>>164 Linux使いを名乗るなら、人に聞く前にソースコードをgrepする習慣をつけよう。
src/3rdparty/webkit/WebKit/qt/Api/qwebview.h
にそのままずばりのヘッダファイルがあるじゃないか。
Webkitの一部のようだな。
それから、4.7.0と4.70は全然違う。
4.70というのはパッチバージョンが70ということになる。
166 :
デフォルトの名無しさん :2010/12/25(土) 15:43:02
>>150 >StandardItemModelのアイテムの追加・削除のシグナルは自分で作らないとだめなの?
rowsInsertedなどのシグナルがそのまま使えます。
>connect(a,SIGNAL(rowsInserted ( const QModelIndex & parent, int start, int end )),SLOT(updateDirTree()));
connectの書き方が正しくありません。こうすれば行を追加するとスロットが呼出されます。
connect(a, SIGNAL(rowsInserted(const QModelIndex&, int, int)), SLOT(updateDirTree()));
このようにしてもconnectできて、スロットが呼出されます。
connect(a, SIGNAL(rowsInserted(QModelIndex, int, int)), SLOT(updateDirTree()));
connect(a, SIGNAL(rowsInserted(const QModelIndex, int, int)), SLOT(updateDirTree()));
rowsInsertedはそのままじゃ呼び出されないって言ってんだろ
168 :
デフォルトの名無しさん :2010/12/25(土) 15:47:57
>>167 QStandarItemModelだから呼出されるよ。やってみな。
169 :
デフォルトの名無しさん :2010/12/25(土) 15:51:13
>>167 モデルなんだから行の追加で、rowsInsertedが呼出されないというのはありえないよ。
171 :
デフォルトの名無しさん :2010/12/25(土) 15:55:00
>>171 Note: Components connected to this signal use it to adapt to
changes in the model's dimensions.
It can only be emitted by the QAbstractItemModel implementation,
and cannot be explicitly emitted in subclass code.
俺様的超訳
注意:このシグナルに接続されたコンポーネントは、モデルの次元の変化
に適合するために使われる。
QAbstractItemModel の実装によってのみ emit され、派生クラスのコード
にて明確に emit されることはない。
Qt Assistant を見ればこう書いてあるんだけど、このドキュメント文が間違ってるの?
派生クラスのコードにて明確に emit されることはないけど、QAbstractItemModel の実装によって emit され
途中送信しちまった 派生クラスのコードにて明確に emit されることはないけど、QAbstractItemModel の実装によって emit されるので rowsInsertedシグナルはemitされる
176 :
デフォルトの名無しさん :2010/12/25(土) 16:50:12
Qtでユーティリティクラスをつくって、dllやjarみたいにまとめたいんですが、 どうやれば・・・
177 :
デフォルトの名無しさん :2010/12/25(土) 16:58:03
qmakeの.proでTEMPLATE=libとすることと Q_DECL_EXPORTとQ_DECL_IMPORTでシンボルを外部から扱えるようにすること この2つでできます。詳しくは、qmakeと*DECL*のドキュメント。
178 :
デフォルトの名無しさん :2010/12/25(土) 16:59:01
Qtのコンポーネント同士で継承関係にあるときは、 余程のことがない限りは派生クラスで派生元のメソッドやスロットは普通に呼び出せるよ。 なので >155,156 は誤り。 >166 の指摘通りだと思うよ。 QStandardItemModelか……。こんな便利なクラスがあったんだな。 うっかり自分でモデルクラスを一式定義しちゃったよ。 slot使ってないからview側と相互参照しちゃって非常によくない設計w QStandardItemModel → QStandardItemはQVariantが入るんだけど、 ここにユーザー定義クラスは入れられるのかな? それならQStandardItemModel仕様に自作のアプリをそっくり書き換えちゃうんだけど。
180 :
デフォルトの名無しさん :2010/12/25(土) 17:37:55
>>172 合っている。QStandardItemModelもこの記述を守っている。
beginInsertRows()を呼び出し、endInsertRows()を呼出しているから、
endInsertRows()の呼び出しによってQAbstractItemModelのrowsInserted()シグナルがemitされる。
181 :
デフォルトの名無しさん :2010/12/25(土) 18:03:17
>>179 >QStandardItemModelか……。こんな便利なクラスがあったんだな。
本格的にモデルを作る前に試すのにはよいです。
しかし、データを全部抱え込んでしまうので、モデルを作る方が効率を考えた拡張ができる余地を残せます。
>QStandardItemModel → QStandardItemはQVariantが入るんだけど、
>ここにユーザー定義クラスは入れられるのかな?
setData()? QVariantはユーザー定義クラスも拡張して追加できます。
細かい話なんですが、 qmakeで*.proファイルに QT += script CONFIG += uitools と記述すると、[QT]に関しては共有ライブラリへのリンク、 CONFIGに関してはスタティックライブラリのリンク、 そしてinclude PATHの追加解決が行われるようです。 qt-4.7.1 + vs2008 の場合、[QT]に関する設定はプロジェクト初期設定時にできるけど、 CONFIGに関する設定は全部手動なのかしら? *.libの追加はともかく、include PATHの追加が面倒。 qmakeとの互換性は今のところ気にしてないけど……うーん。
CONFIGに関する設定は全部手動
184 :
デフォルトの名無しさん :2010/12/25(土) 19:49:55
そのレスは要らないと思うよ
まぁ2ちゃんだし、好きにしたらいいと思うよ。
>>165 ありがとうございます。プログラミングについていまいち理解していないようで申し訳ないです。
言いたかったのは、その解説ページの流れ通りにやっていたところQtCreatorのデザインの左のところに
QWebViewが表示されていなかったため、どうすればいいのかわからなくなったということです。
一応外部からエディタつかって編集することでQWebView使うことが出来ました。
この記事が書かれた時からのアップデートで表示内容が変わったということなんですかね
メモ。 メンバ関数の登録の仕方→直接はできない なので、staticメンバ関数を用意して、自分自身のインスタンスを問い合せて 改めてメンバ関数を呼び出す形になる。 class ByteArrayClass : public QObject, public QScriptClass{ public: ByteArrayClass(QScriptEngine *engine); QScriptValue newInstance(int size = 0); private: static QScriptValue construct(QScriptContext *ctx, QScriptEngine *eng); }; ByteArrayClass::ByteArrayClass(QScriptEngine *engine) : QObject(engine), QScriptClass(engine) { // ... ctor = engine->newFunction(construct, proto); ctor.setData(qScriptValueFromValue(engine, this)); } QScriptValue ByteArrayClass::construct(QScriptContext *ctx, QScriptEngine *) { ByteArrayClass *cls = qscriptvalue_cast<ByteArrayClass*>(ctx->callee().data()); // ... return cls->newInstance(size); }
>>189 Ubuntuです。ありがとうございました。
191 :
150 :2010/12/25(土) 22:30:23
タスクバーを消したい!!!!!!! MFCだとタスクバー 非表示あたりで、検索できるのにorz
>>193 OS標準の動きから外れるようなことは……別に不可能じゃないだろうけど。
Jane Styleみたいに、元がタスクバー無しのアプリに
後から無理やりタスクバーの部分を表示するような
間抜けな仕様になることもあるけどねw
>>193 こういうこと?
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent,Qt::Tool),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindowのコンストラクタにて、QMainWindowに渡す引数の2つめに
「Qt::Tool」を追加する。
196 :
193 :2010/12/26(日) 01:05:33
197 :
193 :2010/12/26(日) 01:16:20
pysideいいな 他のOSで動かす場合も、環境が整っていればソースコードのコピーだけで済むし
あ、トレイに入れてもタスクバーは消えないのか うーん?
setWindowFlags(Qt::Tool); でタスクバーから消えた
203 :
193 :2010/12/26(日) 12:09:26
>>202 そうそう、タスクバーからは消えるんだよね
ミクはちゃんと表示されているんだけど、コメントを書くwidgetがちゃんと表示されない
コメントを書くwidgetは表示されるんだけど、かなり遅れて表示されるorz
204 :
デフォルトの名無しさん :2010/12/26(日) 12:51:26
>>203 Ubuntu 10.10で試すと、コメントを書くwidgetがすぐ表示されました。
>>197 WindowsXP SP3でビルドしてみたけどどっちのWidgetもすぐ表示されたよ
ところで随分楽しそうな卒研だね
206 :
193 :2010/12/26(日) 18:32:22
あれ、それじゃうちの環境(Gentoo Linux)だけですかね
ありがとうございます
>>205 友達が卒研作っているらしいので、なんとなく一緒にプログラミングしてます
でも、自分は職業プログラマ(.net/vb6)です
QMainWindowのコンストラクタでQWidget呼ぶとQMainWindow内部にQWidgetが表示される QMainWindowから独立したQWidgetを表示するにはどうすればおk? コンストラクタの引数を消せば別ウィンドウになったけど setWindowModality(Qt::WindowModal); モーダルが有効にならない。
馬鹿には無理
209 :
デフォルトの名無しさん :2010/12/26(日) 19:19:29
>>207 オライリーのQt 4プログラミング入門を最初からじっくりと読んで勉強した方がよいですよ。
なにがしたいのかはっきり書かない輩が多いなぁ。質問の基本ができてねぇ。
世の中エスパーはそんなにいないぞ。
>>207 QWidget *w = new QWidget(this,Qt::FramelessWindowHint)
こういうこと?
211 :
210 :2010/12/26(日) 20:02:01
あーごめん。this じゃなくて 0 にしといて。
>>207 モーダルならQDialogじゃねぇの?
213 :
207 :2010/12/26(日) 20:51:44
setWindowModalityの説明に解決方法が書いてあった
Qtのオライリー本って最高につまらないよなwww
もう時代にマッチしてないわな 誰か書けば小銭になるのになQt本
ソフバンから出てなかったっけ 内容はしらないけど
qtcreatorまでサポートした入門書があればー SRA作ってくれー
「Qtで簡単GUIプログラミング」って本があるんだなww 2009年に発売したみたいだから、qt4が対象なんだろうと思うけど Qtは簡単じゃないだろwwww
>>218 その本、VSアドインのことしか載ってないからQt Creatorのことはわからいんだよね。
「Qtで簡単GUIプログラミング」は糞本だぜ 「Qt4プログラミング入門」よりもひどい
結局公式ドキュメントが一番いいってことだろう。 読みきれないほどの分量というわけでもないし。
読まない輩が多いのが問題だけどなw
223 :
デフォルトの名無しさん :2010/12/26(日) 23:40:05
何も読まないのが一番ひどい
公式ドキュメントも Creator については弱いと思うけどな
「Qt4プログラミング入門」はCreatorに触れているので良かった
Qt本は当たったこと無いが、現状のヘルプだけでもほぼ十分だな。 ヘルプ中で引っかかるサンプルプログラムと Qt Createrで呼び出せるサンプルとの関連が非常に分かりにくい点を除けば。
227 :
198 :2010/12/27(月) 04:25:43
calculatorサンプルからJavascript(QtScript)の依存部分を除いて、 Qt + ui + PySideで電卓アプリが作れることを確認したよ。 QtScriptの場合と違ってメソッドの呼び方の流儀が違うところでちょっと引っかかったくらい。 # 例えばlineEdit.text = "abc" と書けたのが # lineEdit.setText("abc") と書く形になるとか。 # PySideの方がQt本来の記述法に近いか。 Portable-PythonにPySideを入れて持ち歩けば、 スクリプトだけでさくさくGUIアプリが作れるエコシステムができてしまうな。 従来のPython/Tkよりよほどナウい(死語)んじゃね?w
wxPythonおすすめ
>>228 Pythonだけで作るならそっちの方がいいかもだけど、
C++で作る部分も少なからずでてくるので、やっぱりQtがいいかなと。
なまじPythonだけで作れてしまうからどこからをC++にするかは迷いどころだけどね。
PyQtでもPySideでもいいけど、 C++で書いたクラスをPythonで使えるようにしたり、 Pythonで書いたクラスをC++で使えるようにする簡単な方法ってあるの?
231 :
デフォルトの名無しさん :2010/12/27(月) 13:51:48
あるの?
あるよ
在る夜
>>230 Pythonは決まった形式のC関数しか読まない仕組みなので、
C++で書いたライブラリ自身がネイティブで対応する場合以外は
C/C++によるラッパーが必要。
準備を整えたC++ライブラリをPythonで使うのは非常に簡単。
import imp
example = imp.load_dynamic("example", "example.dll")
Pythonで実装したクラスをC++で扱えるようにするのは
不可能ではないけど非常に面倒なのでやらないほうが無難。
スレ違いなのでこの限りにしておきます。
Boost C++ Librariesの中に C++とPythonの中を仲介してくれるいいライブラリがあったよな。 Boost.Python だ。
Boost.Pythonはソースコード単独だと使えないから微妙に不便だけどな。
ひょほっ! swig使ったら、*.iのインターフェイス定義(≒C++)だけ書いたら、 あとはsetup.pyをコピペででっちあげてpythonから実行したら、 ラッパー全部作ってくれたwww これは楽www スレ違いスマソ
ひゃっはーっ!
いろんなアプローチがあることは大事で、Python勢にも頑張ってほしいんだが Nokia公式には、その役割を果すのはQMLではないかと
もはやPythonはNokia準公式だろ
それがどうかしたか?
準公式と呼べるのはJava(Jambi)くらいじゃないか?
243 :
デフォルトの名無しさん :2010/12/28(火) 00:51:00
QMLはモバイル向け。
>>243 ちょっと触ってみた。
JavaScriptとPythonを融合したような構文になっていて、
ソースコードがモジュール化できる。
単独では起動できなくてQML Viewerというツールの中で動作する。
なんだかSilverlightっぽい感じ。モバイル向けだそうで、用途も似通ってるわな。
一番左が起動時 真ん中が、ウィンドウサイズを変えると縦まで伸びてしまう 右が、理想
maximumHeight, minimumHeight を設定したらダメじゃろか?
それでいい。 setFixedHeight() で一気に指定してもいい。
ちなみに 上のラベル3つの追加するときストレッチを1にして プログレスバーとボタンのストレッチを10にしても変わらず
ウィンドウ自体も縦固定にするか、ウィンドウのレイアウトにQSpacerItemを挿入する
252 :
デフォルトの名無しさん :2010/12/28(火) 18:26:19
>>215 >もう時代にマッチしてないわな
追加された機能については書かれいてないが、書かれていることはQtを使う上で必要なことばかりだよ。
253 :
デフォルトの名無しさん :2010/12/28(火) 18:28:32
>>242 >準公式と呼べるのはJava(Jambi)くらいじゃないか?
売れなくて、手間がかかるから切り離してフリーにしただけのJambi。ずっとサポートすると言っていたのに切り捨てたんだよね。
254 :
デフォルトの名無しさん :2010/12/28(火) 18:32:49
>>249 訊く前に、レイアウトのドキュメントを一度は全部読んで試せ。
>>253 そもそも、なんでJambiなんて作ったのかよくわからんよな
Javaには標準でGUI機能が付いているんだから、ポータビリティ性の低いJambiなんて
誰も使わないだろ
257 :
245 :2010/12/29(水) 13:22:36
事故レス乙
259 :
デフォルトの名無しさん :2010/12/29(水) 17:44:35
>>255 JavaのGUIはどれも作りが悪く使い難い、でもJavaな人はJavaで作られているというだけで、
そんなものでもいいと思っているから、他によいものがあってもそれがC++で作られていると
いうだけで毛嫌いして使おうとしない。まあ、Javaなんてもう死んでる言語だからどうでもよい。
Java と C++ 両方使ってるけど Java 最近人気無いのかな? 個人的にはC++の方が使い勝手良いけど Java にはマルチプラットフォームという利点あるけど Qtが最近使いやすいからそういう利点もあまり感じない
なんだかんだいってもJavaに取って代われそうな言語はなさそうだけどね
262 :
デフォルトの名無しさん :2010/12/30(木) 01:48:55
Javaは昔のCOBOLと同じ。
Javaグラマは向上心がないよね
他言語のアンチ活動は他でやれ。
QSpinBoxで分数表示するには、自分で改造する必要があるの?デフォじゃ無理?
↑解決した
そっか
Qt デザイナに自作ウィジェットを登録する方法教えて 今はソースから追加しているけど非効率のような気がしてきた
>>268 widget右クリックからの「格上げ先を指定」のことかな?
Qt Createrがウンコすぎ netbeansの方がよほどマシ c++のメリットて何よ
272 :
デフォルトの名無しさん :2010/12/31(金) 02:05:46
>>271 英語のドキュメントが読めなくて使いこなせなかったからといって、
八つ当たりするのはイくないw
以前はソースコードのなかにconnect仕込んでたけど、Qt Creatorを 使うようになってからは、大抵Creatorまかせになった。 コードの書き方も変わった。やたらファイル分割するようになったw
275 :
デフォルトの名無しさん :2010/12/31(金) 12:59:12
テンプレートで雛形が作られるので、ファイル分割がしやすくなった。 スロットへ移動でconnectしてくれるのは便利だけれど、メソッド名で何をするかが分からなくって、 ソースコードの可読性が落ちるので、connectを使っている。
>>274 です。
自分の場合、Creatorで配置したObject間をつなげたいから
ソースコードの中ではconnectしづらいって事情もある。
同じprojectのなかのobjectなのに通信手段がconnectしかない。
それなりに対応してやってますが。
277 :
デフォルトの名無しさん :2010/12/31(金) 13:33:05
>>276 postEvent()やsendEvent()での通信もできます。invokeMethod()というのもあります。
あけおめ ことよろ
あけおめー!
あけおめ。 ここは数少ないQtの日本語情報源だから、おまいら今年もよろしくな。
>>282 creatorはrc版か?
2.01なら普通にできた、rcだと同じことになった
rcでどうやったら動かせるかは知らない
むしろ俺が教えて欲しい
284 :
【豚】 :2011/01/01(土) 11:25:38
おまいら、あけおめことよろ。
今年もさまよえる子羊達を導くとするかの。
>>282 オプション→Qt4→Qtバージョンにて使いたいバージョンを選択。
「デバッグヘルパ」が緑のチェックになっておるかの?なってなければ、
リビルドを押してしばし待たれよ。
>>285 なんとかしたいのなら、最初からちゃんと情報開示してくれよ。後出し勘弁。出すだけマシだけどさ。
・Debugging Tools for x86 はちゃんとインストールした?(自動検出させた?)
・メモ: この設定を有効にするには Qt Creator を再起動する必要があります。
のいいつけはちゃんと守った?
すくなくとも、うちではちゃんと動いている。VS2008およびMingw版両方。
デバッグはMingw版の方がなにかとやりやすかったりするけどな。VS2008版は
起動するまでが遅すぎるし。
>>282 つい先日、俺の斜め前の席の人がQt Creatorを1.3系から2.0.1にバージョンアップ
したら同じ症状になってどうにもこうにも解決できなくなってた。
QtやQt Creator、MS SDK(VSの代わりに使ってる:cdb込)を再インストールしても
直らなかったみたい。Qt Creator 1.3の時は何の問題もなく動いてたのに。
全く謎の現象。俺は幸いそんな目にはあっていない。
結局、OSをWindows XPからWindows 7ににして新しい環境を作って
1からインストールして解決するしかなかったようだ。
288 :
デフォルトの名無しさん :2011/01/01(土) 16:06:42
Qt Creatorのバージョンアップでは、Windowsだったらレジストリなどへの設定情報を削除した方がよさそう。 余りに落ちまくるので設定情報を削除したら、まとも動くようになったことが何度かある。
ネラーは息を吐くように嘘を吐く
>>286 >・Debugging Tools for x86 はちゃんとインストールした?(自動検出させた?)
282に書いてあるよう、すでにインストールにしています(PATH確認も含め自動)
>・メモ: この設定を有効にするには Qt Creator を再起動する必要があります。
PCの再起動までしてある
>>287 同じ現象の人がいるとは自分のミスではなさそう
>>288 結局、Qt関係まるまる再インストールしか方法はないのか
291 :
デフォルトの名無しさん :2011/01/01(土) 17:19:43
>>289 事実を信じられない可哀想な奴。こういうのはまったく見込みがない。
292 :
デフォルトの名無しさん :2011/01/01(土) 17:39:39
>>285 Qt Creator 2.01とVC2008でデバッグできているよ。
pyQtで半透明のウィンドウを作りたいんですけどQt Designerで出来ますか? Paletteのwindowのアルファチャンネルをいじっても特に変わらないんですがいじるとこ間違えてるのでしょうか
294 :
287 :2011/01/01(土) 23:40:04
>>288 ,
>>290 それがねぇ、その人はregeditでレジストリからQt関連と思わしきエントリーを
全部削除してQtとQt Creatorを再インストールしてもダメだったんだ。
もちろんcdbがコマンドラインで起動できることも確認してた。
俺の方は同じバージョンのQtとQt Creatorの組み合わせで何ともない。
>>285 と同じ。
もう、何が何だか全然わからない状況。
そもそも、そういう状況になったら Qt bug tracker に報告入れるとかしないのかね? 例によって(L)GPLただ乗り?
普通はバグなのかある程度調べてから報告するわな いきなり報告とかゆとりだけ
>>268-269 1スレに1回はこの話題が出るよね
翻訳の問題では無いけど
「カスタムWidgetへ昇格」
「ベースWidgetへ降格」
とした方が判りやすいと思うのだがどうだろう?> NOKIA Japanの人
たしかによく出るな テンプレにくっつけたほうがいいかも
BYTEがないぞ #include <windows.h>でいいのか?
301 :
294 :2011/01/02(日) 01:45:09
>>295 Bug Trackerに報告するなら、ある程度現象が再現する条件を絞り込まないと
しにくいでしょ。
その人のマシンと俺のマシンは同一機種だし、OSも同じ。QtもQt Creatorも
MS SDKも同じバージョンのものなのに、片やデバッガーが動かず、片や
問題なし。他にも何人か同じ環境で動かしてるけど、デバッガー動かないのは
一人だけ。
このままじゃ報告された方も再現できなくて放置されそう。
過去に数件報告したけど、PriorityがP2でVoteが3件あるのに8ヶ月経っても
放置されてるのがある。
302 :
290 :2011/01/02(日) 02:16:03
OS再インスコは面倒なので、当分の間はVSでデバックします Qt Creator使いやすかったのにな VSのインテリセンスは馬鹿すぎる
Qt Creator + CDB + Windowsの組み合わせって、デバッグすると頻繁にOSごとフリーズする仕様があったよな あれも何なんだろうな。環境によっては出なかったりするらしいし。
なんか盛り上がってるけど Linux で QtCreator 使ってるほどつまらんほど問題起きない その方が本来の内容に集中できて良いけど
>>304 ときどきエディタが固まってくれるので,QtCreaterを再起動してます
306 :
デフォルトの名無しさん :2011/01/02(日) 04:12:46
>>305 キーボードショートカットを追加すると、しばらく使っている内に追加したのが効かなくなるので、再起動しています。
307 :
デフォルトの名無しさん :2011/01/02(日) 04:14:22
308 :
デフォルトの名無しさん :2011/01/02(日) 09:08:29
>>301 Bug Trackerを見るとSymbianを優先しているのが明らか。
だから他のプラットフォームでは、優先度が高くてもバグが放置される。
In Progress
1 Platform: Embedded Linux
2 Platform: Mac OS X
13 Platform: Symbian
0 Platform: Unix
0 Platform: Windows
0 Platform: X11
Closed
62% Platform: Embedded Linux
48% Platform: Mac OS X
78% Platform: Symbian
63% Platform: Unix
65% Platform: Windows
65% Platform: X11
309 :
デフォルトの名無しさん :2011/01/02(日) 09:15:56
Bug TrackerのLabelsのHeatmapもSymbianとMeeGoの文字が大きく目立っている。 他のプラットフォームは後回しなんだな。
ただ乗り指摘に対して必死のいいわけ、みっともないねー。
>>300 プラットフォーム依存な場合を除いて、qint8とかquint8のようなQtの型表現に
統一した方が良いと思う。
BYTE は uchar じゃないのか?
確かに、BYTE は unsigned char の方がいいかもしれない。 1byte ≠ 8bit の場合もあるし。 Qtがサポートするプラットフォームでは意識する必要は無いが。
315 :
デフォルトの名無しさん :2011/01/02(日) 11:27:23
>>310 ただ乗り指摘されたのと別人です。QtはNokiaのSymbianとMeeGoが最優先なのだから諦めるしかないんだよ。
そもそもタダ乗りしてほしいからLGPLにしたんだろ? それが嫌なら有償のままにしとけばいい。共産主義なんてアカの幻想だ
>>310 オマエがBug Trackerに上げたバグ報告晒してみろよ
>>311 これから作るモノで、かつQt依存で作るモノであれば、禿同。
何がしたいかによるよね。
>>315 英語での報告が苦手だから諦める、そもそも報告スキルが不足している、なら
わかるけど、最優先じゃないから報告を諦めるってのは意味がわからない。
>>316 LGPLに関しては省略するが、GPLに関しては、ライブラリにおける一般論だけど、
使ってもらうパイを増やして、知名度向上とバグだしとサポートを必要とする層の
拡大が目的です。実に資本主義。
319 :
デフォルトの名無しさん :2011/01/02(日) 14:34:17
>>293 ウィンドウの半透明は、PaletteではなくwindowOpacityで指定します。
320 :
デフォルトの名無しさん :2011/01/02(日) 14:41:10
>>318 SymbianとMeeGoが優先されるから、Windowsだけでの問題などは、
報告しても早く直るのを期待するのは諦めようということです。
321 :
デフォルトの名無しさん :2011/01/02(日) 14:44:58
>>318 オープンソースがGPLだけの頃に、オープンソースはテストしてもらうためと言ってました。
まーそこら辺は時間とともに変わるもんでねーの? 今じゃMSがLinux配布してるようになってるし
monoで万事が解決するお
QtのC#バインディングって進行してるっけ? なんかちょっと前に調べた時はプロジェクト死んでる感じだったけど…。 アクティブに活動してるとこある? C#バインディング、あったらすごーく、すごーく使いたいのだけれど。
325 :
デフォルトの名無しさん :2011/01/02(日) 19:29:56
久
名 屋
古 大
_屋__通___
/:○: : : ○ : : : :ヽ
 ̄ 今池フ ○ : /
/: : : :/
御器所/: :○: :/
/: : : : : /
,': : : : : :/ 鳴 相 神 徳
新瑞橋: ○ : { 野 子 生
{: : : : : :丶並__北_山_沢_重
'.: : : : : : : : : : : : : : : : : : : : : : : : ヽ
\: : : : :○: :□: : :□: : □: : :□ )
\ : : : : : : : : : : : : : : : : : : : :イ こ、これは
>>1 乙じゃなくて桜通線なんだから変な勘違いしないでよね!
俺んち徳重から徒歩3分だぜ
へ?徳重までの線、開通したの?
Qt Creator 2.1 rc1 ってデバッガ出力に日本語できないっぽい? Qt4.7.1VC + shift-jisでQt Creator 2.0.1だと表示できるのが 2.1 rc1だと文字化けする システムが出す「デバッグ開始」ってのは日本語で表示されるのに・・・あとなんか赤い字が太いw
331 :
330 :2011/01/06(木) 04:18:07
調べたらQDirはQObjectを継承してないらしい Qtクラスなら全部継承してくれYO
基本的に、データだけを表してるコンテナとかストリーム系だとかモデル系はQObjectを継承してないよ
Objective-Cかもしれない
335 :
デフォルトの名無しさん :2011/01/06(木) 10:07:00
>>331 QObjectを継承する必要がないからです。
QObjectを取込みたいならば、QObjectとQDirをこの順で多重継承すればよいです。
C++の欠点のひとつに全Object共通の祖先が無いことがあるけど QObjectがそれを解決してくれてるような気がして期待しちゃうんだよね
>>336 C++はそういうのも勝手にやって下さいってスタンス。
欠点ではあるが、同時に誰も考えないような発想の物が出てくる可能性もある長所。
339 :
デフォルトの名無しさん :2011/01/06(木) 14:40:59
Smalltalkのようなオブジェクト指向が理想だという迷信。
WindowsでQt Creator + MinGWを使おうとしています。 MinGWは元々入っていたのでQt Creatorインストール時にはインストールしませんでした。 Qt Creatorのオプション→Qt4でqmakeのパス、MinGWのディレクトリは指定しました。 現状でプロジェクトを作ってアプリをビルド、実行できるのですが、プロジェクト作成時の必須モジュールの選択画面が表示されません。 これは何か設定が足りないのでしょうか? それともWin版では表示されないのでしょうか?
Qt C++ プロジェクトの項目は全部でないんじゃない? 他のプロジェクトの項目では出てきたけど。 そうだとしても、.proファイルのQT += coreに追加したいモジュール(network等)を入れていけばいいと思う。
342 :
340 :2011/01/06(木) 17:31:24
>>341 さんありがとう。
出ないものなんですね。
Qt 4.6.3とQt Creator 2.0.1の組合せでバージョン情報でQt 4.7.0を使用と合ったので、バージョンの不整合かと思ってCreatorを1.3.1に落したら出るようになりました。
組合せの問題か2.0.1に上がって出さなくなったのか分かりませんが、1.3.1を使おうと思います。
プロジェクト作成時のモジュールを選択するダイアログは Qt Creator 2.0 からは無くなりました。 pro ファイルの書き方覚えて 2.X になれるのがいいと思う。
モジュール増えたら収拾つかなくなるからな。 ただ、マニュアルのクラスの説明にはインクルードファイルだけじゃなくて、追加するモジュールも書いといてもらいたいもんです。
345 :
デフォルトの名無しさん :2011/01/06(木) 23:22:31
>>344 マニュアルのクラスの説明の先頭にHome>Modules>QtNetwork>QFtpと書かれています。
それじゃ不十分だろ。 Home > Modules > QtScript > QScriptEngine と書かれているけど、proファイルに書くのは script だし
347 :
デフォルトの名無しさん :2011/01/07(金) 00:09:21
充分、全く問題なし。
348 :
デフォルトの名無しさん :2011/01/07(金) 01:07:14
クラスの説明に.proの書き方迄書くのは、ドキュメトとして記述レベルがおかしい。 モジュールが分かれば、qmakeのマニュアルを調べればよい。
○○○.exe 実行ファイルの名前変更どうするの? デフォだとプロジェクト名になっている
>>349 つ qmake Variable Reference
やってみてないけど、多分.proファイルで TARGET=hoge とすれば hoge.exe が
出来るはず。
351 :
デフォルトの名無しさん :2011/01/07(金) 21:33:07
できた、ども
エクスプローラでF2でできますよ
qt creatorのvimがvimperator並に使いやすかったら、世界は変わっていたのに
356 :
デフォルトの名無しさん :2011/01/09(日) 00:52:42
それドザしかつかえないし
358 :
デフォルトの名無しさん :2011/01/09(日) 14:09:02
使えるようにすればいいじゃないか。
DOSer
ごめんよくわかんないんだけど、自分でビルドすれば使えるはずだけど・・・ それともVS2008 でビルドしたバイナリを配布して欲しいってことなの? あと、飽きちゃったので 1.3 しか対応してないけど、 需要がある&ビジネスとしてペイするのであれば 2.x にも対応するんだけどねぇ
>>361 作者様かな。
もうとっくに主流はQt Creater 2.0.1以降に移ってるので、
使ってもらおうとしたら対応はしたほうがいいんじゃないかな。
別に商品じゃないならやりたくなければやらきゃいいけど。
そのまま廃れるだけ。
しかし、Qt Creater 1.3のキャプチャがあったけど、
意外に2系列とデザイン変わってないのなー。
MacやLinuxで使えないって意味じゃない? ViVi自体がWindowsアプリだから・・・ でも対応OSにMacとかLinux書いてあるよね
>>362 最初、QtCreator に vi モードがあったので感激して使い始めたんだけど、
細かい仕様が気に入らなくてプラグイン作り始めたんだけど、
外部エディタ起動してエディットした方が楽なのと、
最近は VS でビルドするようになったので、自分ではまったく需要が無くなったので完全に放置してる。
どこからか予算が降ってこないかぎり、継続することはないし、
廃れてもいっこうに気にしない。
>>363 Windows でしかビルドしてないけど、Mac でも Linux でもビルドすれば動くはず
もし動かなければ自分で対処してくれい
>>364 なぜフリーソフトに予算という概念があるのか不明だ。
どっかからスポンサーでも付いたのかい?
>>366 スポンサーがつくとかでも無い限り、あれ以上に時間を費やす気は無い
って言ってるんじゃよ。
368 :
デフォルトの名無しさん :2011/01/09(日) 17:05:52
エディタのキー操作もFake VIMがとても使いにくかったので、 Qt Creatorを使う気になれなかったけれど、 Emacs風にショートカットが定義できるようになって、補完もよくなってきてからは、 Qt Creatorを使うようになった。
>>359 ドザってのはWindowsユーザーを馬鹿にして呼ぶときの言い方。
主にMacユーザーが使う。
なるほど、
>>357 はMac使いで、QtCreator を自分でビルドする力が無いということがわかった。
371 :
デフォルトの名無しさん :2011/01/09(日) 17:59:39
static const char * static const QByteArray static const QString 英数字の文字列定数扱いたいんだけどどれが一番スマート? メモり消費量とか実行速度とか
>>372 QtCreator を自分でビルドする力が無い、の方は否定しないんだな
>>371 メモリ消費量なら圧倒的にcharの配列が少ない。
速度的には、後で QString として使うつもりならQStringかな。
375 :
デフォルトの名無しさん :2011/01/09(日) 18:38:56
メモリ管理では、QStringとQBytArrayはimplicit sharedなので、 deleteをせずに使え、メモリーリークの心配がない。しかし、char*はそうではない。 QByteArrayのメモリ使用量はchar*とほんの僅かしか違いがない。
376 :
デフォルトの名無しさん :2011/01/09(日) 18:43:19
英数字だけの定数ならQLatin1Stringというのがあります。
377 :
デフォルトの名無しさん :2011/01/09(日) 18:58:22
QStaticTextというのもあります。
>>373 パッケージ管理システムに任せているから、そんなの気にしないし
わざわざコンパイルするくらいなら、macでqt creator使うし
結局マカーかよ
380 :
371 :2011/01/09(日) 19:17:14
ソースコード見た感じメモリの消費量は QString > QByteArray > QLatin1String == char* ですけど, QLatin1StringからQStringとかへの変換が面倒なので ひとまずchar*使っておきます QStaticTextは4.7からなのでしらん
QByteArrayでFA
まあマカーはカルトだから仕方ないな
ドザの方がカルトだろ・・・ マカーは必要に応じてwindowsも使う
>>384 そうだよな〜
windowsユーザはwindowsしか使ったことがないくせに、偉そうにしているからな
散々CUIのことを馬鹿にして来たくせに、MacOSXが出たときにUNIX板にしれっと スレを建てる、それがマカー。
マカーっていうのは、一度火がつくと自称集団ストーカー被害者並みに暴れ続けるから あんまり刺激すんな
しかしQt Creatorでプラグイン使えるって知らなかったわ Eclipseみたい。TODOプラグインとか入れようかな
windowsでQtCreatorのバージョン管理ソフトとの連携機能を試してみたけど、 svn,git,hgのうち、きちんと使えたのはhgだけだった
ほう
>>388 ToDoプラグインはそのうち作ろうと思ってたんだけど、既にあるの?
あるのなら、どこにあるのか教えてください
393 :
デフォルトの名無しさん :2011/01/10(月) 11:16:27
>>389 具体的にはどのように使えないのか。
gitについては、Qtのリポジトリがgitだから、きちんと扱えないとは思えない。
395 :
デフォルトの名無しさん :2011/01/10(月) 13:07:08
git.exe側の問題じゃないのか。
>>392 ありがとん。
ソースも公開されてるし、しかもライセンスがL?GPLじゃなくてBSD!
素晴らしい
TortoiseGitではきちんと動いているんだから、QtCreator側の問題じゃないかな
なんかいつの間にかQtSDKについてくるMinGWのgccが BOM付きUTF通すようになってた あとはQt Creatorが保存時にBOM消さない修正が入ればVCとソース共有できるようになるなあ
>>398 自分で修正してパッチをノキアに送ってあげれば?
それが出来るならこんなとこに書く訳ないだろ そんなことも分からないの?
401 :
デフォルトの名無しさん :2011/01/10(月) 14:40:02
Bug Trackerに機能追加要求ぐらいはできるよね。
シーッ!!日本語しかできないオポンチにそんなこと要求するのは酷ですよw
そんなことが出来るなんて思ってるはずないだろ 嫌味で書いたんだよ ソースの改良も出来ないどころか、そんなことも分からないの?
嫌味で書かれた内容に嫌味で返すとかアホなの?
>>403 ありがと。知ってた
別に不満を言ったつもりじゃなかったんだけど、なんか荒れたみたいでゴメン
407 :
デフォルトの名無しさん :2011/01/10(月) 15:40:19
>>406 便乗質問スマソ。
VCはBOM付UTF-8のソース問題なく扱えるの?
409 :
408 :2011/01/10(月) 15:51:32
>>398 で言ってるUTFって、UTF-8? UTF-16?
連投スマソ
MSVCはBOM付きしかUTF-8(UTF-16)と認識しない。 gccは4.4からBOM付きUTF-8が扱えるようになった。
>>409 UTF-8の話でした
>>410 どもです、本家gccのバージョンアップだったのか。これは正直かなり助かる・・・
ついでにUTF-16BOMも通るようになったみたいですね
ごめん嘘だったUTF-16BOMは駄目みたい;; まあ使わないけど
413 :
408 :2011/01/10(月) 21:45:34
Qtのincludeってどうしてる? 分かり易いからモジュールのディレクトリまで書いてるけど労力のムダかな? #include <QtNetwork/QNetworkReply> #include <QtCore/QHash>
415 :
デフォルトの名無しさん :2011/01/11(火) 01:41:38
モジュールは書いていません。
QGLWidgetをQScrollAreaに入れてスクロールできるようにしたいんだが、 QScrollAreaの中にセットしたQGLWidgetの画面の大きさが QScrollAreaの大きさになってしまってスクロールしても画面が変わらない setWidget(QWidget *widget)だけじゃアウトなの?
>>414 その辺は後々人に使ってもらえるよう、
Qt Createrが吐くソースコードに合わせてるよ。
418 :
デフォルトの名無しさん :2011/01/11(火) 21:58:11
他の人に使ってもらうということを考えると、uicが吐くのは触ることがないのでそのまま、 on_は、他の人に使ってもらうにはとっても汚いので、goto slotは使わない。 Qt Creatorのテンプレートで吐かれるソースコードは、使ってもらうには合わないので書き換えている。
もれもわかりやすさから、Qtxxxx/Qfoo って書くな。 わかりやすいことが目的なんだから、別に無駄扱いにせんでもよかろw
421 :
デフォルトの名無しさん :2011/01/12(水) 10:01:24
分かりやすいかな。
もともとの分類がわかりにくいから いくらわかりやすく書いてもわかりにくい
分かってるやつはヘッダ名だけでも見れば分かるし、分からなくてもassistでヘッダ名で検索すれば大半はすぐ調べられる。 丁寧にパスを書くことで調べやすくはなるだろうけど、あまり気を使う話でもないよね。
付けてもいいとは思うけど、それがQtGuiだと分かったところで、一体何になるんだ?
425 :
デフォルトの名無しさん :2011/01/13(木) 12:48:37
入力しづらくなる。読みづらくなる。自己満足になる。
Creator 2.0.1 Qt 4.7.0, 4.7.1 VC++ 64bit, mingw などで作ってるんだが、できた物を実行させようとするとSymantec endpoint protectionが Suspicious.ADを見つけたと言って阻止してくれるんだけどガイシュツ? プロジェクトフォルダを除外すればいいんだろうけど、できた物を他人に渡せないじゃんこれじゃ・・・
> VC++ 64bit, mingw どっちの場合の話?それとも両方? おいらは VS2008 Win7 x64 使ってるけど、そんなエラーは出ないぞ
>>426 ,427
>VC++ 64bit, mingw
そりゃ、Cランタイムのレベルから互換性がないんだから一緒には語れないよな。
併用したいなら両方を手元でビルドしとかないといけないし。
>>426 MinGWをCreatorとは別に入れてて新しいのに上げたら同じ現象が起きた。
よくわからんけどmingwrt-3.17なら検出されない。
どういうこと?
バージョン違いで変なアドレスを参照していてバッファオーバーラン攻撃と判断したと推測
バイナリ上で何か問題を起こしたんだろ レジスタの使い方がおかしいとかそういう問題を
432 :
426 :2011/01/13(木) 21:35:09
>>427 両方
つーか、creatorについてきた4.7.0(MinGW), VC++ 64bitでリビルドした4.7.1、mingw用4.7.1を三つつかってる。
>>429 俺もCreatorとは別のmingwを使ってる。
こんなんでエラー出されても困るっペ。
100%なるわけじゃなくて、デフォルトのプロジェクトでは起きなくて、メニューにExitとかつくってMainWindowのcloseスロットと結びつけると動かなくなったり、さらにつくり進めるとひっかからなくなったり良くわからん。
MinGWでビルドすると止まるがVC++だと止まらなとか、その逆もあったりでほんとわけわかめ。
対応するべきはSymantecなんじゃないか?
お前らはどこのDLLにリンクされてるか確認したりはしないの? 多分CRTとQtのバージョン関係がむちゃくちゃになってるわその環境 おそろしや・・・
>>434 だね。せっかくのオープンソースなんだから、
多少手間であってもソース一式を手元のコンパイラでビルドすべき。
>>435 つかWindowsだとDLLでC++がまともにサポートされてないので他人の吐いたQtバイナリは腐ってると思ってる
MS謹製のC++使用ライブラリはCOMでお茶を濁してるけど、Qtはそんな仕組み持ってないんで・・・
437 :
426 :2011/01/14(金) 00:19:31
別にQtやMinGWにPATHなんて通してないからQtCreatorからビルド/実行するときは オプションのQt4で設定しているQtやMinGWにプロジェクトのビルド時の環境変数としてPATH, QTDIRが設定されるからビルドと異なるバージョンのDLLが呼ばれることはないよ。 ビルドに使うQt、コンパイラを代えたら環境変数も自動で変わるし。
PathとかLibとかコンパイル・リンク環境を
VC++とmingwで混ぜてるんだろうな
>>434 の言う通りだろう
ご愁傷様
Qt Creator (qt-sdk-win-opensource-2010.05.exe) からデバッグ実行しようとして、 「プログラム、オペレーティング_システムからのシグナルを受信した為、停止しました。 シグナル名: ? シグナルの意味: Unknown signal」 とかいうダイアログが表示されてしまい、一切デバッグできなくなった方はいますか? ウィルス対策ソフトの Avira をアンインストールしたら デバッグ実行できるようになりました。 なんでやねん! と思いつつ報告。
440 :
デフォルトの名無しさん :2011/01/14(金) 15:56:14
Aviraに報告すべきではないですか。
441 :
439 :2011/01/14(金) 18:00:01
>>440 海外のフォーラムではCOMODO Firewallとの相性問題による報告例は
見かけますが、Aviraの場合は見られないため、
自分の環境が壊れているだけという可能性が捨て切れません。
このスレに同様の現象に遭った方がいるようでしたら考えてみます。
>>438 そんなんだったらビルドできんだろ。アホが。
質問させていただきます. Qtを使ってみようと思い, インストールを試みました. しかし, qt-sdk-linux-x86-opensource-2010.05.1.binをインストールしていると, 最後にエラーが出てしまいました. エラー内容は [ GLIBCXX_3.4.9 not found ] でした. 調べてみたところ, libstdc++.so.6 のバージョンがあっていないようです. 解決方法であげられていたlibstdc++.so.6自体を削除するなどの方法も試しましたが エラーは発生しました. OSはCentOSです. QtSDKインストール方法を教えていただけないでしょうか. よろしくお願いします.
>>443 CentOSならQtはyumから普通に入れられるんじゃね?
QtのSDKなんて別に大したソースコード量じゃないから、
ソースコードででに入れて自前でビルドしてもいいかもね。
445 :
デフォルトの名無しさん :2011/01/15(土) 09:11:50
>>443 SDKなんか使わずに、QtとCreatorをソースコードからコンパイルしてインストールするのがよいですよ。
>>443 QtSDKをビルドした環境よりもOSのバージョンが古いんでしょ。
libstdc++を削除したとか大胆すぎです><
448 :
443 :2011/01/15(土) 13:05:58
みなさん, レスありがとうございます.
助言通り, ソースから自前でコンパイルしようと思います
>>447 海外サイトで解決法として書かれてましたが, 削除しますと, やはりというかFireFox
すら起動しなくなりすぐに戻しましたw
テキストエディットの日本語入力バグってるのいつになったら直るの?
バグってるのか
やたらと遅くなる件なら直ってるがそれのこと?
プログラミング初心者がこれから始めるのは厳しい? やっぱりC++が難解かな
英語読めれば余裕 できないなら無理
454 :
デフォルトの名無しさん :2011/01/15(土) 21:45:15
英語が読めて機能追加要求とバグレポートを英語で書ければよい。
Qt 本体や QtCreator のビルドができて、機能追加・問題対処・パフォ改善ができて、 パッチを送って採用されるくらいの技術力・企画力・英語力・ネゴ力があればさらによい。
自分に足りないモノをせっせと書き連ねてどーするw
457 :
デフォルトの名無しさん :2011/01/16(日) 00:12:34
ところでQTデザイナーって使ってる?
もちろん。ウィジェットがそんなに多くないケースでは特に。 ソフトウェアキーボードみたいな同じウィジェット大量生産が必要な 時はむしろ面倒だけどね。
Qt って良さげなのに不遇だね もっと早くに LGPL 化していたら Gtk+ に勝っていたかな
>>459 元々主要なツールキットの中では後発だからだよ。
でもLGPL化で俄然脚光をあびるようになったのは確かだろうね。
>>458 ありがとう。当方手打ちばっかりだったが
ちょっと勉強してみる
462 :
443 :2011/01/16(日) 01:51:04
申し訳ないですが再度質問させてください コンパイルしようと思い, tar xvzf qt-everywhere-opensource-src-4.7.1.tar.gz cd qt-everywhere-opensource-src-4.7.1 ./configure とすると, エラーが出ました Basic XLib functionality test failed! とのことだったので, yum install libX11-devel.i386 としてとりあえずlibX11をインストールしてみると, 今度は You might need to modify the include and library search paths by editing QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in /home/***/qt-everywhere-opensource-src-4.7.1/mkspecs/linux-g++. とエラーメッセージが変わりました. 何かパスを通せということでしょうか・・・ debianでsudo apt-get build-dep qt4-qmakeしたら良いみたいな情報はありましたが, 行き詰まってしまいました.
読んで字のごとく。X11のインクルードパスを QMAKE_INCDIR_X11 に、ライブラリパスを QMAKE_LIBDIR_X11 に それぞれ入れてから configure すればええんでないの?
464 :
デフォルトの名無しさん :2011/01/16(日) 11:20:17
>>460 LGPL化の一番の目的はNokiaの製品を売りたいためだけだよ。
465 :
デフォルトの名無しさん :2011/01/16(日) 11:33:51
>>462 ソースコード展開し直してからconfigureしましたか。
configure -verboseでメッセージを多くして調べてみてはどうですか。
>>464 だから?
例えばオラクルに買われたもろもろのオープンソースの製品のgdgdぶりを考えれば、
オーナーがNokiaに変わってから明らかにサポートがよくなってるんだから歓迎できるだろう。
オプソに手を出すと、勘違いしたアカに 同士認定される危険性があるからやりづらいんだよな
468 :
デフォルトの名無しさん :2011/01/16(日) 13:03:24
>>466 明らかにNokiaの携帯だけを考えていてよくなってないよ。
この前からいる、Nokiaが自社製品に投資するのがとにかく許せない人は どのプラットフォームにNokiaが注力すれば満足するんだろうな
>>468 Qt Creater やQt Designerなどの優秀なIDEを無償で公開し、
QMLという有望な軽量フレームワークを鋭意開発しつつ、
PySideでPythonサポートもLGPL化を推し進めつつあるというのに、
お前はNokiaの何を見てるんだ。
Nokia頑張りすぎわろた
472 :
デフォルトの名無しさん :2011/01/16(日) 18:39:23
>>469 Qtは、Nokiaから離脱すればよい。
>>470 PySideのLGPLは、PyQtがNokiaの思いのままに携帯向けのサポートをしようとしならなかったからだ。
4.x以前はお前らパンピーはX11版しか使えなかったというのに・・・ Nokiaが買い取ってからWindows/Mac版が個人でも使えるようになった 3.x系を有志がWindowsに移植してたけどダメダメだったしな
Mac 版は Nokia 以前から個人で使えてた気がするけど?
Nokiaで不満な点は特に無いけどなぁ。 強いて言えばAndroid対応などが公式ではありえないってことぐらいかな。
>>474 正確にはX11版じゃなかったか?Aqua対応したの4になってからっしょ
NokiaさまにはPySideをQt Creatorで開発できるようにして欲しい
478 :
デフォルトの名無しさん :2011/01/16(日) 18:53:25
>>470 QML動かしたのかい。iPhone/iPad >>>>> QMLだよ。
ぎくしゃくした動き、表示の品位はよくない。まるで適わない。
正直この人はキチガイだと思うの
>>476 X11 じゃなく Carbon 版だったと思うけど。間違ってたらスマソ。
481 :
デフォルトの名無しさん :2011/01/16(日) 19:03:35
>>479 この人は盲だと思うの。ただで使えればうれしいという乞食だと思うの。
>>481 そうだよな
ただじゃなくなっても良いから、俺たちの思い通りに展開していかないとダメだよな
以前のスレから乞食って言葉が大好きなヤツが一人おる
485 :
デフォルトの名無しさん :2011/01/16(日) 21:03:33
>>472 >Nokiaが買い取ってからWindows/Mac版が個人でも使えるようになった
どちらも買い取る前からGPLで個人でも使えます。
486 :
デフォルトの名無しさん :2011/01/16(日) 21:11:07
WindowsにGPL版ってあったっけ
コマーシャル版は登録すれば30日限定で使えたと思ったけど GPL版は初めて聞いたわ、非公式な奴の間違えじゃない?
>>488 何を寝ぼけたことを...
NOKIAのダウンロードページ見たことないのかよ。
つ
>>1
おーい、起きろー
>>478 Qt Createrのスナップショット版でビルドして動かせるよ。
PCで動かした限りではぬるぬる動くし、表示も非常に美しいんだけどな。
スマートフォン対応はこれからでしょ。
492 :
デフォルトの名無しさん :2011/01/17(月) 00:10:50
FTP (
ftp://ftp.qt.nokia.com/ ) で配布されているアーカイブだと
qt-win-opensource-desktop-4.0.0.zip が一番古いのかな。
タイムスタンプは 2005/06/27 で、README には "Qt is a
trademark of Trolltech AS." とある。
という事で、Mac 版も Windows 版も Nokia が買い取る以前から
個人で使えたみたいね。もちろん LGPL 化してくれた Nokia の
功績は非常に大きいと思う。
Nokiaって、oracleとかappleと同じぐらいに金に狡いの? 古き良き時代のSunぐらいであって欲しいんだけど ところでclutterってライブラリは何なんだ? 携帯開発でQtに敗北してオープンソースに流れてきたんだろうとか思ってたんだけど、 なんかChromeOSにも使われてるみたいだし、 なんでまた商業的負け犬みたいな島に流れてきたんだ
GPLのライブラリなんて実質存在しないのと同じだからな
> clutter もう C でオブジェクト指向するのはご免被りたいな…
mmとかpyなバインドがあるでしょ。その辺に地雷が埋まってるだろうけど
498 :
デフォルトの名無しさん :2011/01/17(月) 01:03:09
>>494 >clutter
NokiaのMaemoで使われていて、MeeGoでは互換性のために残るが、
Qtによってもう見捨てられることになっている。
さっきテレビで人間のRNA解読した日本人のインタビューやってたけど なぜ解読結果を無料で世界に公開しているのですか? という質問に対して 人類の大切な財産だから無料で共有すべき と言い切っていた 特許利権屋に爪の垢でも煎じて飲ませたいと思った
>>499 何でこのスレなのか知らんけど、貴方が『業として』活動しているのでなければ、
少なくとも日本では、特許で守られた技術だろうと自由に使える筈だよ。
詳しくは法律を当たってくれ。
501 :
デフォルトの名無しさん :2011/01/17(月) 03:14:23
>>499 つまり、LGPLよりもGPLが世の中のためになるということだな。
何で?
GPL より LGPL の方が自由なライセンスでしょ?
もっと言えば MIT や BSDL の方が制限が緩くて
>>499 に近いと思う
どっちが自由に感じるかとか いじった人かいじったものを使いたい人かの視点によって違うんじゃね?
>>499 その人間のRNA解読した日本人ってのは、どうやって生活費を稼いでいるの?
もし、どこからも給料もらってなくて財産もないのだったら、
無償で公開するのは無条件で讃匠するけどね
>>503 ライセンスだから、自由が許されている範囲は明確に異なるよ。
使い手の感覚とか個人の視点みたいな曖昧な話ではなく、○×で決められる話。
>>505 そんな話じゃねーよ
端的な例でにいうならコピーレフトの存在を自由に使えるようにするためのものとみるか、うっとおしい制限と感じるかの違いだな
そもそもRNAのデータそのもので特許は取れないだろう どうせ大学とかの研究機関の人なんだろうな
>>506 ああ、俺も「うっとうしい」とか曖昧な感情的な話はしてないわ。
派生作品のライセンスを自分で決められないのは明確な自由の制限だという事。
だからその最後の結論が感情的な話だって指摘してるのに
自由にライセンスを決める権利が有りますか? GPL : NO BSDL : YES Yes か No で決まる話のどこが感情的なんだ?
その後だよwwwお前がそれを自由の制限だと思ってる点な
感情論とかそういう話だったのか? Qtを使う人にとっては、派生作品のライセンスを自分で決められるのでLGPLの方がより自由 Qtを作った人にとっては、派生作品のライセンスを自分で決められるのでGPLの方がより自由 だと思ってなるほどなと納得してたんだが
>>513 後者の自由は他人の自由を制限する事で成り立っているから、より自由じゃない
その理屈は後者の自由がより自由ではないという前提に基づいているので矛盾している 後者の自由がより自由であると認めれば、前者の自由も他人の自由を制限する事で成り立っていると言えるからな
GPLスレかマイケルサンデルスレでやれ。
憲法スレかJ.S.ミルスレのほうが適切だと思った
いやルールは両者熟知している上でそれが自由であるかの話だから、哲学板だな
Qtのスレっていつもライセンスの話してるから ライセンスは避けて通れない問題なんだろうと思う 従ってライセンスの話はスレ違いとは言えない
520 :
443 :2011/01/17(月) 09:50:31
流れをきって申し訳ないのですが・・・ 無事インストールできました. 依存関係が解決されてないのかなと思い先に yum install qt-devel をしてから./configureすればちゃんとmakefileが. そのあとqt-creatorもインストールしてパス通して, 最初のプログラムもコンパイルできました. ただ, サンプルプログラムをビルド, 実行しようとしたら [qt プログラムを開始できませんでした。パスかパーミッションに誤りはありませんか?] とのエラーはでましたが, 自分で作ったプログラムは動いています. ありがとうございました.
521 :
デフォルトの名無しさん :2011/01/17(月) 11:46:45
>>520 Creatorのプロジェクト/実行の設定の実行ファイルはどうなっていますか。
522 :
デフォルトの名無しさん :2011/01/17(月) 11:51:04
>>502 >GPL より LGPL の方が自由なライセンスでしょ?
GPLは配布するならソースコードを出すので、資産を共有できて世の中のためになる。
ライセンスが気に入らないなら自分でQt互換のライブラリを作れ 以上
524 :
デフォルトの名無しさん :2011/01/17(月) 12:45:57
QtはGPLで使えるから問題なし。
525 :
デフォルトの名無しさん :2011/01/17(月) 13:04:11
LGPLならバグ報告、バグ修正、機能追加、メッセージやドキュメントの翻訳してお返しする。 GPLならLGPL+作ったものを共有してお返しする。 他にFSFのものなら献金でお礼をする。 テイク&テイクではなく、ギブ&テイクすればよいのだよ。
ギブ&テイクは良いけど、実際のところギブしてやるからテイクさせろって連中ばっかだからな
527 :
デフォルトの名無しさん :2011/01/17(月) 15:05:04
テイク&あれが足りないこれも欲しいばかりで、使って儲けて何も出さないのがほとんどだろう。
528 :
デフォルトの名無しさん :2011/01/17(月) 15:11:43
GPLは共産主義なんだから、ギブしたい奴がギブしてテイクしたい奴がテイクすればいいんだよ。
529 :
デフォルトの名無しさん :2011/01/17(月) 15:22:02
そんなのだめだよ。
何がだめなのかわからん。 GPLの思想は自由なんだからギブを強制されるいわれはない。
531 :
デフォルトの名無しさん :2011/01/17(月) 17:53:46
自由のはきちがえ。 有償無償に関わらずソースコードは公開され改変改良配布ができるべきだというのがGPL。
>>528 >GPLは共産主義なんだから
その話よく聞くけどソースは?
>>531 何を寝言言ってるんだ?
作った物がGPLに感染するという不自由を負わされる代わりにどう使ってもいいのがGPLだ。
>>532 GPL読めよ。
どういう思想の元に作られてるか理解できるだろ。
開発に寄与しない奴は文句言うな的思想はGPLと相容れない。 単なる利用者を排除するのがGPLの考えではない。
なんかみんな、発想が逆向きだな。 GPLのいう自由というのは、プログラムのソースコードの完全なコピーを利用者が入手できる自由のこと。 GPLで配布されるプログラムおよびそれを利用、あるいは変更したプログラムの配布者は、 元プログラム作成者との契約により上の条項を守らなければいけない。
>>536 そんな基本的なGPLの内容はみんな分かってんだよ・・・・・・
死ねカス
共産主義の何が問題なん?
>>538 別に問題だなんて言ってないが。
共産主義≠ギブ&テイクと言うだけの話し。
ネットにはびこってるのは共産主義というよりは 乞食主義とでもいったほうがいい一方的なもんだろ
541 :
デフォルトの名無しさん :2011/01/17(月) 20:25:38
盛り上がってるとこすまないけど、 IME のON・OFF を検知してとある処理をしたいんだけど、 どうやって検知したらいいんでしょうか?
Qt使いは相変わらず香ばしいですね
自分でソースも修正せず、文句だけ言う奴は乞食主義 ウザイだけで何の役にも立たない そんなやつはひとり残らずいなくなればいいのに
クレームがウザイだけで何の役にも立たないと思ってる企業は何の役にも立たないものしか作らんよ 一番役に立たないのは、自分でソースも修正せず、文句があっても心の中に留めて使い続ける奴
クレーマーの屑らしい言い訳だな
実際開発に携わるとクレームの有難味が分かるよ クレーム無いくせにシェアだけが減っていくようになるともう完全に手詰まり あ、でもクレーム対応の事務は勘弁な
_,.. ---- .._ ,. '" `丶、 / ` 、 ,..-‐/ ...: ,ィ ,.i .∧ , ヽ. . ,:' .l .::;',. :::;/..://:: /,':/ ', l、 .i ヽ . ,' ..::| .::;',' :;:','フ'7フ''7/ ',.ト',_|, , ',.', ,' .::::::!'''l/!:;'/ /'゙ / '! ゙;:|:、.|、| 'l . ,'. .:::::::{ l'.l/ 、_ _,. 'l/',|.';| l :::::::::::';、ヾ  ̄ `‐-‐'/! ';. ' . ! :::::::::::/ `‐、 ゝ |'゙ | 正解平和のために、どうか乞食クレーマーが | ::::::::/ \ 、_, _.,.,_ ノ::: ! 明日の朝、布団の中で冷たくなってますように |::::/. _rl`': 、_ ///;ト,゙;:::::./ .. `´ /\\ `i;┬:////゙l゙l ヾ/ ,.:く::::::::`:、\ 〉l゙:l / !.| . /:.:.:.:\:.:.:.:.`:、ソ/:.:| | | /.:.:.:.:.:.:.:.:.:\:.:.:.:У:.:;l /./ . /:.:.:.:.:.:.:.r'´`‐,`、:/.,.:‐{ | !`:、 ,'.:.:.:.:.:.:.:.:.';_,゚.,ノ.:./,:':.:.:.:', | |`、:| !:.:.:.:.:.:.:.:.:.:.゙、:.::/:.:.:.:.:.:.ヽ, / ,!:.:`、
なんでそんなに必死なの? 行頭のタイプミスってすぐ気付くよね
赤で下線引いてくれないと分からないの
働きたいやつが働いて、食いたいやつが食うのが共産主義。 共有財産なんだから働いた成果はみんなのもの。 まさにGPL 食いたいやつが食ってるのを指して批判するのはGPLの精神に反する。
ひどい誤解だな 共産主義は働かなくても最低限生きることを保証するもの 働かないなら死ねの資本主義とはそこが違う その上でやりたいことを妨げないというむしろ自由な思想 スターリン主義が共産主義として広まったせいで正しく伝わっていない
自分では全く働かず、働いている人に文句ばっかり言うのを保証しているのが共産主義?
>>552 だから実社会では成り立たなかったんだよ。
まあ、QtはGPLじゃないんだからタダで奉仕してやる必要もないんだよ。
タダで使いたければGPLかLGPLに従え、さもなくば金払えってライセンスなんだから。
有償ライセンスがある以上、タダで使ってる人間の批判は製品ブラッシュアップのための大切な意見。
人が無気力になるのはやろうとすることを妨げられるからだ コードを修正しても民族問題や階級問題で却下されるとか 本業が忙しくて貢献する暇がないとか このように妨害とは意図的なものとは限らない社会的なものも含まれる そういう妨害に何度も遭って気力をなくした人間が文句ばかり言う人間になる
>>554 それは違うな。
単にQtを利用者として利用したいだけ。
やりたいことはQtの開発ではなくて、Qtを利用したその先。
そういう人間が不具合について文句を言うんだよ。
Qtの先に興味のある人間に文句を言わずQt開発に貢献せよというのはナンセンス。
それこそ自由の妨げ。
>>555 貢献しないのに利用しようとするのはそもそも問題じゃないか
他人の作ったものを利用するというのは、自分がするべきその手間を誰かに肩代わりしてもらってるのだから
本来は自分でできることを誰かにしてもらうのが分担であって、自分ができないことをやってもらう時点で一方通行になっている
それでも貢献しないのに利用しようとするのを許す寛容なライセンスだと思うんだが
>>555 全く詭弁だな。
GPLであっても現開発者に協力しなければならない強制はどこにもない。
ただ、再配布するプログラムのソースコードの公開義務があるだけ。
それにQtはLGPL/コマーシャルライセンスもあるんだから、
利用状況に応じて自由に選べばいいだろ。
この話題はいい加減終わろうよ。
>>541 変換中かどうかくらいなら QInputContext::isComposing() で取れるが、
IM自体のON/OFFを知る方法はない。
まず、貢献とかアホなことを言ってるやつは何のライセンス使ってるんだ? 基本的にQtはGPL/LGPLに感染していません。 感染していないからこそ、おまいらにGPL, LGPL, 商用のどのライセンスかを選択させられるんです。 よって、GPL/LGPLライセンスを選択した人間からのパッチなんて受け付けません。 なぜなら、そのパッチを採用したらそのモジュールがGPL/LGPLに感染して商用ライセンスで配布できなくなるから。 つまり、GPL/LGPLユーザーに期待しているのはバグパッチなんてものではなく、バグだし、人柱まで。 まあ、おまいら貢献厨は採用されないパッチでも作っとけってこった。
>>556 それはプロプライエタリと何が違うんだ?
金の代わりに血を流せといってるだけじゃん。
GPLは対価なんて要求してない(要求してもいいけど)。
はい
程度の低いライセンス論は他所でやってくれないか
Qtスレらしくなってきたね、ほんと臭い連中だわ さてコード書こう・・・
何を書いてるの
>>560 いやだから貢献しないのに利用しようとするのを許す寛容なライセンスだって言ってるだろ
べつに程度の高い議論なんて必要としていない
>>551 >スターリン主義が共産主義として広まったせいで正しく伝わっていない
同意
毛沢東もポルポルも忘れないでください
>>565 貢献しないのに利用するのは問題
なんて書くなよ。
寛容だから許してやってるんじゃないんだよ。
gccはgccを作るために作られたのか?
この問の答えがわかればgccを作った人間がgccの開発に寄与しない人間を寛容にも許してやってるなんて見方をしていないことに気づくだろうて。
コンパイラも本来は自分で書くべきだ まあ広まらないだろうけどなw
Qtって色々ライブラリが入ってるみたいだけど、GUI以外のプログラム (コマンドラインとかサーバ系とか)でもQtを使ってる人いますか?
ノ
無料Qtで無改造dll付けた自作アプリを 販売するのはライセンス的に問題なし?
>>572 Ok、但しLGPLでもリバースエンジニアリング禁止できないから注意な
>>573 ゲーム作っているのだが
チート行為に対して罰せられなくなるってこと?
>>574 そうやね法的拘束できない、ゲームならライブラリ自作でいいんじゃない?
Qtはデカイし処理に無駄多すぎる、ゲーム用途だと入力・サウンド周りが泣けるほど貧弱だし
>>558 ありがとう、やっぱりそうなんだね。
Windows の場合、IMEのON・OFF時には WM_IME_NOTIFY が来るんだけど、
ソースを調べたらその箇所は
qt\src\gui\kernel\qapplication_win.cpp の
QtWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
の case WM_IME_NOTIFY: 部分のとこだけで、カレントウィジットなどに
イベントを発行するような処理はしていなかった。
で、IMEのON・OFFを検知したいんだけど、どうしたらいいんだろう? 上記の case WM_IME_NOTIFY: 部分にパッチあてて、自分でビルドして 修正版 Qt4Core.dll を自分で作るっきゃないのかな・・・
>>572 改造部分のソースを要求があった場合は公開すれば、
自作アプリをソース公開無しで有償で配布してもおk
買う人がいるかどうかはわからないけど、全てソース公開した上で有償で配布してもおk
>>577 QWidget::winEventとかQCoreApplication::winEventFilterは使えないの?
Hookすれば済む話じゃん
>>579 >>580 おお、そうなのか。
しらなかったよ>QWidget::winEventとかQCoreApplication::winEventFilterとか
いまから調べてみる
えにうえい、ありあと
QWidget::winEvent() をリインプリメントしても、まったくコールされなかたけど、 QCoreApplication::winEventFilter() の方はうまくいった。 これで作業を進められるようになった。 どうもありがとう。>579 ところで、同じようなことは Mac/Linux でも出来るのかな?
たびたびすみません。 IMEのON・OFF検知は QCoreApplication::winEventFilter() でうまくいって、 処理もちゃんとできるようになりました。 んで、次はある場合にIMEをOFFにしたいのですが、どうしたらいいんでしょうか? Win では ImmSetOpenStatus(hIMC, FALSE) をコールしてやればいいのですが、 Qt ソースをgrepしても、それらしきものはみつかりませんでした。 ってことは ImmSetOpenStatus(hIMC, FALSE) を直接コールするしかないって ことかな? そのためには ウィンドウハンドルが必要なんだけど、どこからゲットするんだろう・・・
widget->window()->winId();
>>578 ソース公開すると、売れなくならないか
つまり商業Qtを買えってことか、ライセンスで年20万とか赤字確定
>>585 そりゃソース公開すれば売れなくなるさ
でも、ソース公開が必要なのは Qt のソースを修正した場合は、その部分だけで
Qtライブラリと静的にリンクしていない独自の部分はソース公開する必要はない
>>583 ちゃんと調べてないけど、WindowsのIME処理周りは
qwininputcontext_win.cpp に集中しているようだ。
この辺を調べてみれば、何かわかるんでない?
IME を ON・OFFするには ImmSetOpenStatus(hIMC, bool) を呼ぶしかないと思うんだけど qwininputcontext_win.cpp で ImmSetOpenStatus を検索しても何もマッチしないので ダメなんじゃないかい?
よく見てみると、IActiveIMMApp に virtual IFMETHOD SetOpenStatus(HIMC hIMC, BOOL fOpen) = 0; ってのがあるけど、これはどうやって使うんだろう・・・
>>588 うん。無いのは知ってる。
どうせならこのスレの中だけの小手先の解決策ではなくて、
パッチの形で本家に投げてもいいんじゃないか、という発想。
IME状態変更の検出は設定変更くらいなら
大したコード量にもならんでしょ。
QMainWindowにカスタムウィジットを使いたいのですが、 centralWidgetにカスタムウィジットをセットしちゃって良いんでしょうか? それともcentralWidget直下に子ウィジットとしてセットすべきですか?
592 :
デフォルトの名無しさん :2011/01/18(火) 20:12:16
>>570 使っています。ネットワーク、WebKit、データベースとかでです。
593 :
デフォルトの名無しさん :2011/01/18(火) 20:15:52
>>591 >centralWidgetにカスタムウィジットをセットしちゃって良いんでしょうか?
よいですよ。
594 :
デフォルトの名無しさん :2011/01/18(火) 20:18:19
>>582 >ところで、同じようなことは Mac/Linux でも出来るのかな?
共にmac〜、x11〜があります。
595 :
デフォルトの名無しさん :2011/01/18(火) 21:56:32
596 :
デフォルトの名無しさん :2011/01/18(火) 22:23:09
>>555 >そういう人間が不具合について文句を言うんだよ。
>Qtの先に興味のある人間に文句を言わずQt開発に貢献せよというのはナンセンス。
不具合を明確に再現できるように説明したバグ報告すれば立派な貢献でしょう。
文句が動かないとかおかしいというだけでは、使った側のコードのバグだろうで終わりだよ。
10年以上前の Free Software のライセンス議論をここでやられてもなぁ 他所でやれと言いたいところだが、Qt の敷居が低くなってバカまで流入している ことを喜ぶべきなのか。
598 :
デフォルトの名無しさん :2011/01/18(火) 23:43:51
荒らしてるのどうせいつものJava厨だろ
PCの画面にFEPの窓出て一瞬でジョンだと分かったのはよかったよ。 スミスとかモーフィアスだったら大変だった。
>>567 が俺の言いたいことを全部言ってくれた
ノキアはQt開発に貢献させるためにQt作ってるわけじゃないだろ
無駄に敷居あげてQt普及を邪魔してどうする
むしろ本家にノイズいかないようにこのスレが勘違い文句やくだ質を吸収する方が理にかなってるし
むしろノキアとしては、Qt
ごめ、途中送信しちまった。 むしろノキアとしては、Qtは俺らが作るからお前らはQtでソフト作れ。 よきQtデベロッパーになって、Qtを盛り上げろ、といったところだろうねぇ。
OOo とか Firefox は自前の Toolkit を持ってるけど、彼らの本業は オフィススイートやウェブブラウザの開発だよね。Qt が本当に 使い易いライブラリなら、OOo や Firefox も Qt を使っていたと 思うんだけど、Nokia はそこら辺を意識して頑張って欲しい。 取り敢えず Qt 版の InkScape とかあると嬉しいなあ。 歴史的経緯を乗り越えて、K ナントカなアプリ以外でも広範に使われる ライブラリになって欲しいね。
605 :
デフォルトの名無しさん :2011/01/20(木) 01:20:29
>>601 >ノキアはQt開発に貢献させるためにQt作ってるわけじゃないだろ
ノキアの製品を売るためだな。
>>601 >ノキアはQt開発に貢献させるためにQt作ってるわけじゃないだろ
バグ取り人柱のためだよな
Qtの製品版はそうやってバグを取った奴を売ってる
・・・ってこれ貢献してるじゃん
>>604 なんでNokiaが頑張らなきゃいけないの?
お前が自分で何とかしろよw
オプソだからノキアに頼るなとか変な煽りかたしてるやつは ほんとはC++/CLI崩れのC#使いだろ QtはC++で楽しくやってんだから、ほっといてくれよ
>>609 このスレのC#使いは皆Qtを褒めこそすれ、
Nokia叩きなど誰もやってないんだが。
お前はなんで見えない敵と戦ってるんだ?
>>610 そうなのか、すまない。撤回する
やたら上から目線で、報告や要望をスレに書くやつはLGPL乞食だとか
なんだとか言う人がどういう立ち位置なのか分からなかったんだ
612 :
デフォルトの名無しさん :2011/01/20(木) 13:01:21
>>604 >取り敢えず Qt 版の InkScape とかあると嬉しいなあ。
Nokiaの利益につながるものでないとNokiaはしないだろう。自分でやればいいんじゃない。
噂をすれば
614 :
デフォルトの名無しさん :2011/01/20(木) 13:20:13
>>604 >歴史的経緯を乗り越えて、K ナントカなアプリ以外でも広範に使われる
>ライブラリになって欲しいね。
SymbianとMeeGoで広範囲に使われるようになるからそれでいいんじゃないの。
616 :
デフォルトの名無しさん :2011/01/20(木) 13:46:07
618 :
デフォルトの名無しさん :2011/01/20(木) 20:29:04
>>607 サンクス。やっぱり話には出てるのね。
まあ gtkmm で頑張ってるのに Qt を使えと言われたら怒るよねw
クロスプラットフォームを考えると Qt を採用して欲しいという声が
上がるのはある意味当然だとも思うけど・・・
>>612 何か勘違いしてるみたいだけど、俺が言ってるのは、
× InkScape の Qt へのポーティングを Nokia にやって欲しい
○ Firefox, OOo, InkScape 『の様な』メジャーな C++ ベースのプロジェクトで
採用される『くらいに』 Qt のクオリティアップやマインドシェアの向上を
Nokia には頑張って欲しい
という事ね。Nokia に Firefox や OOo や InkScape の
コードベースを弄って欲しい訳ではないよ。
>>612 それと、InkScape が Qt ベースになれば Nokia 『にも』利益は
あると思うよ。自社製品を採用する開発プロジェクトは沢山
あった方が当然良いし、そのプロジェクトがメジャーな物なら
なおさら良いでしょ。
連レススマソ。これで終わりです。
622 :
デフォルトの名無しさん :2011/01/20(木) 20:58:11
>>621 そういう風にQtをNokiaのために利用するために買い取ったのだよ。
なんだNokiaを叩きたかっただけか
>>624 そう見える人にはそうなんでしょう。。。
ありがとうございました
627 :
デフォルトの名無しさん :2011/01/20(木) 21:20:27
さて、ここらで技術的な質問どうぞ。
>>586 よくわからないが、自分が書いたソースは公開しなくても良いってこと?
つまり、何も公開する必要なしってことか
改めまして技術的な質問をどうぞ
Qt ってどう読むの? キューティー? キュート?
631 :
デフォルトの名無しさん :2011/01/20(木) 21:43:51
>>630 Trolltechはどちらでもよいと書いていた。
Nokiaになって今はキュートが正式だと言っているけれど、Nokiaの人でもキューティーって言っている人もいる。
632 :
デフォルトの名無しさん :2011/01/20(木) 21:47:21
>>628 LGPLの場合にはLGPLかつQt同梱のLGPL_EXCEPTION.txtの範囲内ならばしなくてよい。
>>628 少しは LGPL について自分で調べろよ
PysideがPyQtを排除するためにも creatorに統合してくれねーかな
635 :
デフォルトの名無しさん :2011/01/20(木) 22:30:41
PyQtの方がいいけれど、PySideはWebKitやQMLの取込みを進めているから、徐々にPyQtを潰すのだろうね。
636 :
デフォルトの名無しさん :2011/01/20(木) 22:44:55
はじめてのQtプログラミングでtwitterクライアント作ろうと思ったら、QOauthの使い方が逆立ちしてもわからず詰んだ
この方針から、これまでは『GIMP Toolkit』(GTK)を使用して書かれたアプリケーションに極めて高い優先度を与えてきた」 と述べた上で、「今わたしが言いたいのは、重要なのはこの価値であり、ツールキットはそのための手段にすぎないということだ。 (中略)Qtで書かれた最高水準のソフトウェアは数多くあり、これは非常に優れたツールキットだ」と語っている。
640 :
デフォルトの名無しさん :2011/01/21(金) 11:58:47
GTK終わったな
642 :
デフォルトの名無しさん :2011/01/21(金) 13:12:22
随分前にSunやHPがGnomeを採用したときに、GTK+のメーリングリスト(英語の)が小躍りして喜んでいたな。
>>635 別に潰れはせんさ。
だけどPyQtがGPLという縛りがある限りそれを利用する
アプリ自体もGPLの縛りを免れないから、
採用件数は今後PySideに奪われていくだろう。
PyQt4 が LGPL になったらどうなんの?
>>644 仮定の話をしてもしょうがないわけだが、
PySideを積極的に採用する理由が減るな。
ただそうなったとしても、NokiaがPySideの実装/メンテをやめることはたぶん無いだろう。
PySideのソースは非常に効率的に作られてるから。
反面素人殺しで、アレの真似して他のPython-Portedを作ろうという気にはなれんな。
646 :
デフォルトの名無しさん :2011/01/21(金) 15:59:11
PyQtの方がよいけれど、 商用ライセンスで金がかかるのが嫌。 間接的にNokiaが儲けることになるけれど、ただで使える方がよいということだ。
647 :
デフォルトの名無しさん :2011/01/21(金) 16:00:40
無料RPG製作ツール「ロープレジェネレーター」 直感的操作で簡単なゲームが作れます。 簡単に配布可能な状態に出力することができます。 (HSP製のソースコード付きで、スクリプトの知識があれば自由度の非常に高いカスタマイズ ができます) 他にも仲間預かり機能(100人も)や、仲間の状態/状態異常を細かく設定できたり、 乗り物が作れたりゲーム中に画像を差し込んだり、回転やフラッシュなどのエフェクト なんかも簡単に作れる様です。戦闘はデフォだとドラクエ系。 移動は矢印キーの他に、キャラがマウスを追っかけたりするとのこと。 他にはオートアクションというのがあってオリジナルシステムの製作に役に立つかも しれない機能です。これは、マップエディタで設定することで、「マップに入った時・ 出た時・一歩歩いた時・戦闘開始前」に自動的に実行されるアクションを設定できる 機能です。 ■分からないことや要望は掲示板へどうぞ。他にもいろいろ進化中みたい。
648 :
デフォルトの名無しさん :2011/01/21(金) 17:19:05
Qt Creatorは、コードを書くのが楽になるなあ。
>>647 お前宣伝したんだから運営に広告費を払えよ。
いかなる理由でも宣伝は広告費を払えって利用規約にあるから。
651 :
デフォルトの名無しさん :2011/01/22(土) 01:14:03
>>611 >なんだとか言う人がどういう立ち位置なのか分からなかったんだ
Qtを広めようというのがNokaikの利益だというのを考えもしない馬鹿者がいるのがいるからだよ。
Qtを使ってよいものができると広めることは、Nokiaの利益を増やすことになるということが分からないのか。
Qtが本当によいものになるためには、Nokiaから離脱して元のTrolltechのようにならなければならない。
Javaが広まるとORACLEの利益になるからと言って Javaの普及を阻止しようとする馬鹿ですねわかります
>>651 何が問題なんだ?
タダでパッチ寄贈してNokiaを儲けさせてる連中に言えよ
654 :
デフォルトの名無しさん :2011/01/22(土) 01:38:42
Qtはよいものだ、でもNokiaにけがされているのに、ただで使えるようになった、そして自分はそれで儲けられるようになったから喜んでいる輩がほとんどだ。 Qtは使う、しかしGPLでのみ作ったものを出すというのが、Nokiaの金にまかせた姿勢に対抗するまっとうな手段だろう。
ハイハイ、煽りはスルーで。 次の方、どうぞー
GPLで出したところでもともと有料ライセンスを買う人間は限られてるし、宣伝になるだけでノキアは痛くも痒くもない。
正直言うと Qt でプログラム書いてると楽しい
658 :
デフォルトの名無しさん :2011/01/22(土) 02:52:25
>>655 乞食確定
>>656 LGPLにして、Nokiaの利益を増やそうとしているのを忘れるな
>>657 そう、だからNokaiに買収されて残念
>>658 お前いいかげんにしろと。
別にGPL/LGPLはソフトウェアで利益を上げることを禁止してないし、
むしろ推奨している節さえあるくらいだ。
Nokiaは明らかにQtをより使いやすくしてるんだから、歓迎できるだろう。
オラクルと一緒にするな。
くっだらない流れだ
だからライセンスの話はライセンスのスレでやれよ。
pu
ライセンスが利益を上げることを許しても、共産主義者的には許せないんだろう。 勝手にオプソやフリーソフト作者を同士扱いしてるからな連中は。迷惑な話だ
共産主義者って言うより、自分は働かず何も貢献せず、 他人の成果を無償で使って文句言いたい放題の厨房だろ
ほんとに社会のガン、ウジ虫だよね。 ひとり残らず消えていなくなればいいのに>GPL厨
イケメンは去り、馬鹿が残ったのであった
嫌儲GPL信者と汚染GPLアンチはそろそろ空気読んでくださいねっ
Qtの単なるユーザーを乞食というやつはGPLを理解していない。 理解していないくせにGPLで配布しろという。 こういうやつは共産主義者でもない。 労働の役務を負わせるのは社会主義ですので。
669 :
デフォルトの名無しさん :2011/01/22(土) 12:51:51
QMLはおもしろいな。
>>669 QMLでアプリのプラグインを作れるようになったら色々面白いと思うんだけど、
まだ資料や開発手順が確立されてなくて、
そこまでいかないんだよね。
でもUI作るのに必要なスクリプトは極限まで単純になってるし。
有望そう。
671 :
デフォルトの名無しさん :2011/01/22(土) 13:13:19
http://doc.qt.nokia.com/4.7-snapshot/qml-list.html >List properties can be created as a variant type, or as a list<Type> type,
>where Type is the type of the object in the list:
property list<Rectangle> rects: [ Rectangle { width: 100; height: 100 } ]
のようにできるのだから、
property list<int> values: [ 100, 50 ]
とできてもいいんじゃないかな。でもExpected a qualified name idというエラーになる。
property variant values: [ 100, 50 ]
とすれば使えるけれどね。
672 :
デフォルトの名無しさん :2011/01/22(土) 14:00:30
JavaScriptを使えないWEBデザイナーは近い将来淘汰される予定だから問題無い
675 :
デフォルトの名無しさん :2011/01/22(土) 18:20:21
Qt SDK 1.1 TPでQMLのデザインエディタを動かしたみた。 ステートは絵があるだけ、トランジションなどもテキストエディタでなければならない。 かなりをQMLのテキストエディタで書かなくてはならない。 これでデザイナーが使えるのかな。
676 :
デフォルトの名無しさん :2011/01/22(土) 19:06:31
http://doc.qt.nokia.com/4.7-snapshot/qdeclarativeintroduction.html >This introduction is meant for those with little or no programming experience.
>JavaScript is used as a scripting language in QML,
> so you may want to learn a bit more about it (see the Javascript Guide)
>before diving deeper into QML.
QMLするならJavaScriptを覚えなさいってことだな。
まあ、理想と現実っていうのは基本的に一致しないから
本日のリチャード・ストールマンスレと聞いて
御大もフリーソフトウェアで利益を上げてはいけないとか言われると怒るだろ 日本に来れなくなってしまう
ビルドしたら必要なDLLも一緒にコピーするオプションが欲しい
682 :
デフォルトの名無しさん :2011/01/23(日) 12:40:57
不要。
そうだね。上級者には不要だね。
684 :
デフォルトの名無しさん :2011/01/23(日) 13:26:11
上級者でなくても不要。
お前がそう思うならそうなんだろう。
686 :
デフォルトの名無しさん :2011/01/23(日) 13:52:41
想像しただけじゃコードは生成されない 理解しただけじゃDLLはコピーされない
688 :
デフォルトの名無しさん :2011/01/23(日) 14:11:49
詭弁。理解できればDLLをコピーできる。
その手間を省くための機能だろ・・・
691 :
デフォルトの名無しさん :2011/01/23(日) 14:33:41
>>689 無駄な機能。まあ、ドキュメントを読めないか読もうとしないだけなのだな。
692 :
デフォルトの名無しさん :2011/01/23(日) 14:44:08
ドキュメント理解しててもコピーは手作業になるって話だからね 君の主観的な感想はブログにでも書いててね
機能が欲しいってもの主観的な感想なんじゃないかな。
694 :
デフォルトの名無しさん :2011/01/23(日) 14:49:47
無益なことを正当化するもんじゃないよ。
695 :
デフォルトの名無しさん :2011/01/23(日) 14:58:22
>>681 ここで言うよりもBug Trackerに機能追加要求出した方がよいですよ。
手作業でのDLLのコピーが必要になるのは事実 どのDLLが必要になるのかはコード全体を読むか、実行させて解析しないと分からないのも事実 機能面だけ見れば有益であることはドキュメントを読めなくても分かること で、お前はどういう理屈でこれを否定するの? どうせいつも通り逃げるんだろうけどねぇ
>>696 Windows って Mac OS X で言う所の otool -L とか
UNIX で言う所の ldd コマンドに相当するツールは無いの?
無かったら相当不便だよね?
Dependency Walkerでいいじゃん
>>686 のリンクにあるshared libraryについては、*.proの中の QT += で
加えてあるlibraryをコピーすればいいし高々十数個しかないから手間じゃない。
問題はそれ以外のplugin等、動的に読まれるlibrary群。UNIX系のlddでも、
WindowsのDependencyWalkerでも判らない。ソース上で使われる可能性があるか
確認しないといけない。
なので気持ちはわからないでもないけど、コピーする機能は無い方がいい。
dllのコピーは他人に渡すことを想定しているだろうから、libraryの再配布に
あたる。Qtのlibraryの中にはNOKIA以外によってライセンスされているものも
含まれるから、その取り扱いはもっと慎重であるべきだと思う。
あ、標準では無いんだ。。。 でも一応フリーのツールはあるのね。安心した。
>>699 ldd で分からないと言うのは、標準ライブラリの中で dlopen() してるって事?
Qt ってそんな事するんだ?
Qt以外のDLLをLoadLibraryしてたら それについてもQtのqmakeが面倒見なきゃならんのか?
自分のコードの中に実装している処理ならプログラマが把握してるでしょ。
自分で書いたソースなら何を必要としてるか判るだろ
他人が書いたものならそいつのREADMEに書いてあるだろ
Qtが利用するものなら
>>686 (*.pro の中の QT +=) で判るだろ
>>699 再配布にあたるってどういう事?
コマンドを実行したのがユーザでも、Nokiaが再配布した扱いになるって事?
>>699 ,705
QtのDLL、プラグインをプログラム作者が再配布するってことでしょ。
全体がQtが定めるライセンスで配布されてるんだから問題起こるわけないだろ。
ややこしい話をするんじゃない。
これにて一件落着かな?
定期的にこの話題ループするね 結局結論は自分でやれなんだけど
Windows は大変だなーって毎回思うわ
>>706 DLLだけコピーして配布したら違反だぞ
だったらなおさら(ライブラリ以外に)必要なものを自動的にまとめる必要があるんじゃないか?
yumで医院で内科医
>>710 アホか。LGPLなんだから、無改造である限りバイナリ配布できるだろ。
勉強しなおしてこい。
ライセンスファイルを同梱しないといけないという、 本筋とは関係無い重箱の隅突つきなんじゃないの
じゃあ仮にQtが採用しても特に問題はないってこと?
重箱お断り
そうだね、あったらいいね、で終わらせればいいのに なんでお前らはいちいち喧嘩腰なの 大人になれよ
片手間にやってる試験なのに、真面目にになる方がアホだよ。 大人だったら流せよな。愚民代表がそんなに楽しいのかね。よーわからん。
>>696 実行させて解析?
objdump -p aho.exe | grep dll
重箱お断り
722 :
デフォルトの名無しさん :2011/01/23(日) 21:24:40
>>701 WindowsではOpenSSLがそうだよ。
>>722 あー、なるほど。エンジンをロードしているのかな。
Qt Designerのウィジェットボックスやプロパティエディタなどのユーティリティウィンドウってどうやって作るんだ?
725 :
デフォルトの名無しさん :2011/01/23(日) 22:58:10
Qtはコンパイル時間の長さがイラっとくる
そもそも C++ 自体がパースに時間が掛かるのに、 Qt は更に建て増しをしてるからね・・・ Google が Go に本腰入れてくれたらなあ・・・
729 :
デフォルトの名無しさん :2011/01/24(月) 01:37:35
コンパイル時間が長いと感じたことはないな。
Boostに比べたら屁でもないな
731 :
デフォルトの名無しさん :2011/01/24(月) 02:01:42
Qt SDK 1.1 TPは、SymbianとMaemoをインストールしないようにすれば、 要らないゴミが入らず、インストール時間も短い。
>>727 Creatorの場合どうするの?
VSならぐぐってすぐ解決なのだが
733 :
デフォルトの名無しさん :2011/01/24(月) 19:16:52
>>732 すぐ人に聞かないでドキュメントくらい読もうな。
>>733 の通りだが、
precompiled headerで探せばすぐ見つかる。
ちなみにこれを読むと一瞬WindowsではVCだけでMinGWはダメそうに
読めるけど、実際にはMinGWでも出来たよ。
QSplitterってremoveWidgetないけど、子ウィンドウ入れ替えたいときはQSplitter生成し直すしかない?
>>735 非表示にしてparentをnullにしたらいいんじゃね?
確認してないのでチェックはお願いね。
737 :
デフォルトの名無しさん :2011/01/25(火) 19:38:10
>>735 ソースコードがあるのだからQSplitterのコードを読むといいよ。
>>735 子ウィジェットのparentを変えれば良い。
詳細はソース読んで。
>>736 parentをnullにする方法で削除されました
ありがとうございます
>>737 QSplitterのソースコードを読んでみましたがそれらしいヒントは見つかりませんでした
740 :
デフォルトの名無しさん :2011/01/25(火) 20:35:33
>>739 子ウィジェット削除されたら管理リストからはずしているというのが分かります。
これが分かれば、
>>736 のようにすればよいと推測できます。
単にこうやったらうまく行ったというのではなく、その理由が分かるのがソースコードを入手できる利点です。
741 :
デフォルトの名無しさん :2011/01/25(火) 21:02:00
このスレに限ったことじゃないけど、2chでソース読めって言っても大抵通じないよね。 質問→ソース読め→分からない→じゃあ諦めろの流れが自然すぎて。
742 :
デフォルトの名無しさん :2011/01/25(火) 21:15:13
読んでみて分からなかったというのは、それだけでよいことだよ。 それに対する返答も、諦めろではなくどういうことが分かるかを示しているからいいじゃないのか。
ソースと言ってヘッダ読んでるに100ペソ
免疫力up
まあ使い方を質問するような奴がソース読める訳ないわな 容認するわけじゃないが現実はそんなもんだよ
746 :
デフォルトの名無しさん :2011/01/25(火) 21:53:37
ピアニストに名演奏家から下手なアマチュア迄あるように、プログラマもそれだけの差があるのが現実。 でも下手な奴ほど、前向きなアドバイスは決してできない。
とことん上から目線な人なんだね
748 :
デフォルトの名無しさん :2011/01/25(火) 22:05:30
プラスになることを何も言えず、足を引っ張る奴らよりましだよ。
ソースコードを読めない人をバカにしたりしても何の得にもならないよ。 とりあえず公式のヘルプが読めるようになれば、質問する頻度もだいぶ減る。 例えば今回の話だと、QSplitterだけ見てても分からないことがある。 それは、親クラスやその親で定義されてる場合があるから。 少なくとも全てのウィジェットの基本クラスである QWidgetで出来ること(プロパティ、slot、メソッド)をひととおり目を通しておくといい。 .NET Frameworkのクラスの見方も基本は同じ。 こっちの場合はクラスとメソッド、プロパティ、イベントのページが別になってるけど。
win64のQtを作ってコンパイルして気づいたんだけど、QListの[]の引数とかsize()の返値とかintなんだね。 びっくりした。 ILP64環境を勝手に想定してんのかな。
751 :
デフォルトの名無しさん :2011/01/26(水) 02:16:21
ILP64を想定していないと思う。 QAbstractItemModel::createIndex(int row, int column, quint32 id) quint32 qrgb888::rawValue()
64bit整数はqint64があるよ ファイルサイズはqint64になってるし、64bitデータモデルの種類には依存しないんじゃないかな 値の範囲が重要でない(速ければいい)ものは分かりやすくintって方針なのでは?
int x; cout << "xを入力 : "; cin >> x; cout << "xは" << x << "です\n"; を実行するとアプリケーション出力に xを入力 : って表示されて、この状態で例えば15を入力すると xを入力 : 15 となるんだがそこから先エンターを押しても改行されるだけで進めない アプリケーション出力では端末のように入力はできないのですか?
> QListの[]の引数とかsize()の返値とかint ってのは、64bitデータモデルの種類には依存しているってことじゃないの。 依存しないようにするためには、QListの[]の引数とかsize()の返値とかintじゃなくて size_t にすればいいのに
VS2010のx64コンパイラを使ってQt x64をビルドしたら size_t → int に置き換えたからしっかりチェックしろや、って警告がワンサカ出てきたな
>>755 コンパイルエラー全部直して、これが本当の疲労困憊
とか言って
>>756 おつおつ
>>755 ま、警告が出るとはいえ、
ちゃんとx64でビルドできて動くというなら、
さすがはQtだな!
さすがとか言ってないでキミも64bit化するのだ。 タダで拾えるwindows SDK付属のコンパイラで64bit化可能だぞ。
>>759 まだ家も会社も32bit Vistaだから作っても動かないんだw
そろそろ7 x64に移行したいけど、メモリが欲しいな……。
32bitのQt Creatorでは64bitのデバッガは動かせないから こっちも64bitでコンパイルしないといけないけどね
762 :
デフォルトの名無しさん :2011/01/26(水) 16:40:24
QPlaintTextEdit の派生クラスを作り、setViewportMargins(int, int, int, inta) で 左側に行番号を描画する部分を確保しています。 paintEvent() でそのマージン部分に描画したいのですがうまく行きません。 サンプルを見ると、マージン部分に QWidget を配置して、そのウィジットの QPainter に対して描画していますが、ちょとまどろっこしいです。 QPlaintTextEdit のマージン部分に直接描画するにはどうしたらいいのでしょうか?
>>761 Creator 1.3では32bitデバッガで64bitプログラムのデバッグができていた。
Creator 2.0.1では32bit cdbそのものが動いてくれないけど。
みんな64bit版考えてるんだなー よく考えると自分のツールでわざわざ64bit対応する気がなくても Qt使った3Dソフトなんかのプラグイン作る場合は必須なのか
>>750 からの流れは何か根本的な勘違いをしているんだと思う
766 :
デフォルトの名無しさん :2011/01/27(木) 00:32:14
QListの[]の引数とかsize()の返値は「個数」なのであってアドレッシングとは 無関係であること
プロジェクトを端末内で実行にチェックいれても実行されないんだが
>>767 は何か根本的な勘違いをしているんだと思う
>>767 の言ってる話って間違ってるの?
ポインタと整数間を行き来する際にuint_ptr等を使ってればソースが64bit互換と言っていいと思ってた
俺は64bit対応きちっとやったことがないので、もっと違う問題があるのかな?
よく分かんないけどQListに2^31個以上の要素入れたときの問題じゃない?
そんな使い方する香具師いるのか?
そもそも QList を [] でアクセスする人なんてイケメンじゃないと思いま〜す。 QByteArray だったら [] で 32ビット以上のインデックスでアクセスすることが あるかもしれないね。
なるほ。QByteArrayはuintだから x64アプリでも4GB以上のメモリブロックが扱えないね 知っておいた方が良い制限かも知れん
内部ではintで処理してるから実際扱えるのは2GBまでだね。
えー
実用には困らんだろ
知っていれば困らないけど知らなかったら困るかもしれない
Ruby使ってないから気にしない
スケーラブルじゃないから嫌だな。 インデックス用にはそのアーキテクチャで使えるメモリをフルに使えるサイズの型を使うべきだろ。 STLなんてわざわざsize_tになってるんだし。
Qt Creator 2.1正式リリースまだぁ?
まあウィジェットを3^32超えるほど初期化することはまず無いと思うが、 2GB/4GB超えるメモリを扱うx64なQtアプリは今後バンバン出るわけで。 (Adobe製品は既にx64が主体になりつつあるし、オレ自身開発予定) そういった面への配慮は今後いっそうお願いしたいところだな。
783 :
デフォルトの名無しさん :2011/01/28(金) 14:22:23
モーバイル最優先だから、その見通しが立つ迄は後回しだな。
QGigaByteArray が登場すると予想
そんなんじゃだめなんだよなぁ。 size_tとか使ってたら32bitだろうが64bitだろうが128bitだろうがちゃんと動くのがtypedef型のエエ所やないですか。 QVector::size_typeとかしっかりあるくせにintとか泣けるぜ
設計が微妙に古いんだろうねぇ。なんとかしますかね。
787 :
デフォルトの名無しさん :2011/01/29(土) 03:14:20
Qt 5以降だろう。
Qtコンテナのindexはver.2の頃からintです。 もちろんそれは意図したものです。
789 :
デフォルトの名無しさん :2011/01/29(土) 08:35:48
>>788 なぜ意図してintにしたの?
理由を教えて
790 :
デフォルトの名無しさん :2011/01/29(土) 09:13:49
>>788 Qt 1もint。64bitはirix-64のみ。
その意図を知りたい。
powerPCでもalphaでもItaniumでも動いていたよ
STLコンテナとQtコンテナを一緒に使ってたらintにすると情報落ちるの警告がでまくって大事な警告が埋もれるのが鬱陶しい。
Qtを最近使い始めたのですが, QtのQPushButtonの外観を 円形のボタンや正方形のボタンに変更することはできますか? よろしくお願いします.
>>793 少なくとも正方形は。xのサイズとyのサイズを同じにすればいいだけだと思うのだが。
角が丸くなるのが嫌なんです
796 :
デフォルトの名無しさん :2011/01/29(土) 21:42:51
797 :
デフォルトの名無しさん :2011/01/29(土) 21:46:22
>>793 QAbstractButtonのドキュメントを読んでみてはどうですか。
とても簡単にできますよ。角を丸くしないのも楽にできます。
>>792 自分にとって要らない警告なら、
コンパイラに指定して抑制させればいいんじゃね?
違う種類のコンテナを扱うのに変換もキャストもしないなら 怒られてあたりまえ
>>797 やってみます.
ほんとうにありがとうございました.
801 :
793 :2011/01/29(土) 23:18:13
>>797 800は私じゃありません. お答えしていただきありがとうございます.
QAbstractButtonのリファレンスには目を通しているのですが, ボタンの形状
を変更する関数などを見付けることができませんでした.
知らないのだから黙っておくべきか、と思って見ていたのだが。 QAbstractButtonでやるとすれば、paintEventの再実装以外に方法は思いつかなかった。 それより、QStyleか何かそういうの使うのかと思ってたんだけど、QStyleあたりは全然知らない。 全く的外れなこと言ってるかもしれない。
805 :
デフォルトの名無しさん :2011/01/30(日) 14:31:59
>>804 setMask()で円形のボタンを作ろうとするとスタイルごとにいろいろとsetMaskに合わせて、
focus rectを無効にしたりする修正や他に無理な設定が必要。
だから、円形のボタンはスタイルを使わずにQAbstractButton()でpaintEvent()再実装するのとすっきりする。
正方形のボタン(角を丸くしない)は、size policyで縦伸びを許し、
サブスタイルかQProxyStyle()でQStyle::CE_PushButtonBevelで角の描画を変更しつつ、
ボタンの他の動作での描画もそれに合わせて修正すればよさそう。
806 :
793 :2011/01/31(月) 10:49:29
>>805 ありがとうございます.
paintEventを自分で実装して正方形のボタンを書くことができました.
しかし, これで円形のボタンをQpainterなどで描画しても, 実際のクリックしたかを
判定する領域は ::sizeHisn() で返すQSizeのサイズとレイアウト次第で,
描画した円の外側でもクリック判定は出ます.
しかしとりあえずは外観もできたので, これでいきます.
レスくださったみなさん, ありがとうございました.
>>806 mousePressEvent() もリインプリメントすれば、
円の内部だけクリックされたかどうか判定できるんじゃね?
808 :
デフォルトの名無しさん :2011/01/31(月) 18:14:07
>>806 円の内部のみでのクリックは、setMask()でできます。
ただし、WindowsとLinuxはうまく行くけれど、Mac CocoaではバグっていてQTBUG-16232。
>>643 PyQtはGPL以前にSIPが糞なんで潰れてほしい。
>>640 UNITY-2DがQMLベースだからしょうがない。
QPlainTextEditにHTML形式の文字列をユーザが入力し、 それを別のQTextEditにリッチテキスト形式の文字列として反映するソフトを作っているのですが、 コピー元のQPlainTextEditのカーソル位置を挿入後のQTextEditに反映したいと思っています。 具体的にはカーソルではなく画像を表示するなりするつもりなのですが、 元のカーソル位置から対応する挿入後のカーソル位置を取得する方法が分かりません。 元のカーソル位置で2回に分けて挿入することで実現しようと考えていたのですが、 単純にタグを判別して分けるだけでは2回目の挿入でレイアウトが崩れることがあるので他の方法を探しています。 どなたかご教示お願いします。
>>811 cursorPositionChanged() シグナルを処理してやればいいんじゃなイカ?
VC2010でQtQcreator2.1rc1にパッチあてなくてもビルドとおってしまった。 最初からこっちをビルドすればよかったorz
>>813 VS2008用のSDKって、VS2010だとソースコードから再ビルドした方がいいのかな?
そろそろVS2008って入手困難になりつつあるとおもうんだけど……。
>>814 VC2010でQt\4.7.1のビルドは普通にできたよ。
816 :
811 :2011/02/03(木) 20:24:09
>>812 通常のカーソル(QTextCursor)の位置ではなくて、QPlainTextEditのQTextCursorに対応する位置を取得したいんです
例えば、QPlainTextEditの内容が"<b>aIa</b>"(Iがカーソル)だった場合、
別のQTextEditに"aIa"(Iがカーソル)と表示させたいんです
HTMLタグの分だけインデックスがずれるのでどうやって対応付けすればよいのか分かりません
Qtに頼らずにHTMLの解析をした方が早いんでしょうか・・・
>>816 「QPlainTextEditのQTextCursorに対応する位置を取得したい」というのが、
Qtにいったい何をやって欲しいのかいまいちよくわからないけど、
QTextCursor::position() を参照して、自分でHTMLのタグを外せばいいんじゃないの?
カーソル位置にHTMLタグでアンカー埋め込んで、挿入してから検索するってのはどうだろう。
819 :
デフォルトの名無しさん :2011/02/03(木) 21:25:05
>>809 技量不足で使いこなせていないだけだろう。
Qtのレイアウトって使いにくくないかな? 以前ちょっと使ったJAVAのレイアウトはかなり良かったんだが, Qtは なかなか思うようにいかない。 ボタンとかのサイズをresizeしても, 結局レイアウトで決められてる ようで, その指定したサイズにはならないし.
821 :
デフォルトの名無しさん :2011/02/03(木) 23:03:01
レイアウトはVCLのAlignが一番とっつきやすかったな
>>823 あれはレイアウトと言えるのか?
例えばボタンを2つ横に並べておいて、フォームのサイズをユーザーが
変更した時に、サイズの比率を保ったままフォームに合わせてサイズ
が変わるようなことって出来たっけ?
まぁ、とっつきやすいかも知らんが、機能不足な希ガス。
826 :
デフォルトの名無しさん :2011/02/04(金) 00:49:06
>>820 サイズポリシーやサイズヒントなどを調べてみるといいよ。
>>820 殆ど、stretch しか使わない。sizePolicy や、sizeHint は、デフォルトが一番いい。
ボタンの文字が省略されるほど詰めるなら、stretchFactor を使うけど、
そうじゃ無い場合は、addStretch,addSpacing でスペースを制御する。
ボタンの大きさを変えるのは、styleSheet で、padding や margin を変えるのがいい。
>>825 そういうUIを欲しいと思ったから分からんな。
普通は全体をリサイズするときサブのほうを固定にして、
メインのほうがリサイズされるフレームが欲しいんじゃない?
QListViewやQListWidgetでアイテムにRichText(HTML)を使うにはどうしたらいいのでしょうが? アイテム編集時は可能なんですが常時使えるようにしたいです。
>>829 どうせキャレットがあるところしかテキスト編集できないんだから、
そこだけRichTextにして、
残りは描画結果のキャッシュを貼りつけたLabelにしてみたら?
831 :
デフォルトの名無しさん :2011/02/05(土) 14:35:44
832 :
デフォルトの名無しさん :2011/02/05(土) 20:05:27
多段タブってありますか?
833 :
デフォルトの名無しさん :2011/02/05(土) 20:33:12
絶対そう言う奴居ると思ったわ
全然ダメじゃないと思うが。少なくとも、スクロールしなくてもどんなタブがあるのか 見渡せると言う点は単段のタブより優れてると言えるだろ。 今、別の開発環境で作ってたソフトを事情があってQtに移植してるんだけど、 従来使用していた多段のタブがないので、代わりにQStackedWidgetを使い、 左側に見出し用にQListWidgetを置くように変更したよ。
>>835 そんなのより、左側にツリービューを置いてその選択によってページを切り替える方式のほうが、
沢山のページをぶち込めると思うんだが。
最近はそうしてるソフト多いでしょ。
>>836 サイドペインのツリービュー使ったインデックスとタブは、なんちゅうか使われ方が違くね?
ワープロ文書やPDFの連続ページ表示を素早く文書内で行き来するのはサイドペインの
インデックスがいいけど、複数の文書を切り替えるのは、やっぱタブじゃね?
Visual Studioもいつまでたっても多段タブにならないな あれが多段になるだけでバージョンアップするインパクトはあるとおもうんだけど
タブって一時期流行ったけどインターフェース的に意味無いよね あとタブじゃなくてタグだったんだよな当初は
840 :
デフォルトの名無しさん :2011/02/05(土) 21:25:24
>>835 単段のタブより優れてはいない。多段のタブを考える時点でUI設計失格。
どのあたりが?
多段タブを使いたいと思うようなユーザーもユーザー失格だな うわ俺の2chブラウザのダブ9段くらいになってる
>>840 >>835 が 多段 > 単段 の点を示したんだから、あんたは 単段 > 多段 の点を
示さないとネタで終わるぞ
せっかく多段タブを使いたくなるくらいなら ツリーにすべきって感じで論点すり替えたのに引き戻さないで!
単段タブが消えてなくなるならともかく、多段タブが選択肢として増えるならばむしろ歓迎すべきだろう。 自分が要らない機能は無い方が良いという考えの人は、人様が作っているライブラリに口出ししないでほしい。 Qtを使うのは君だけじゃないし、君と同じ使い方をする人達だけでもないからね。
847 :
デフォルトの名無しさん :2011/02/05(土) 21:58:40
ひょこひょこ脈絡もなく操作視点が移り変わる。 タブがずらっと並んでいるのを使いやすいというのは気の迷い。
タブなんて時々位置が変わったり長さが変わったりして マウスでクリックするときにも不便なんだよな
849 :
デフォルトの名無しさん :2011/02/05(土) 22:00:36
>>845 選択肢が増えればというのはとんでもない間違い。ダメなUIは歓迎できない。
多段タブが必要ならとっくにQtに入っているよ。
それはchromeが解決方法を出してる
>>849 その理屈だと今後Qtに新機能が追加されることはないよね
852 :
デフォルトの名無しさん :2011/02/05(土) 22:04:53
>>851 論理になっていないよ。多段タブはずっと前からあるけれどQtには取り入れられていない。
ユーザ1人なホビープログラマしかいないのかこのスレ
で、多段タブを実現するなら 一から自作のタブWidget作るしかないってことでOK?
>>855 一から頑張らなくてもQTabBarとQStackedWidget使えば十分。
>>852 つまり、ずっと前からあるものは今後Qtに入らない、と?
人間がなーっ Qtをなーっ 疑念や口出しはゆるさーん!
860 :
デフォルトの名無しさん :2011/02/05(土) 23:28:41
Qtで国際化のロケール判別って、どうやればいいのでしょうか?
861 :
デフォルトの名無しさん :2011/02/05(土) 23:46:42
システムのロケールを知りたいならQLocale::system()みたいな
864 :
デフォルトの名無しさん :2011/02/06(日) 02:31:12
865 :
デフォルトの名無しさん :2011/02/06(日) 02:32:56
次スレのタイトルが決まったなwww 【RAD統合環境】 Qt 論理薄弱スレ 10 【Win/Mac/Linux】
イケメンがいなくなって論理薄弱であふれたのか。悲しいことだ。
869 :
デフォルトの名無しさん :2011/02/06(日) 16:35:43
>>860 ja_JPのような文字列が必要ならQLocale::system().name()が便利です。
870 :
デフォルトの名無しさん :2011/02/06(日) 20:52:56
MacでDesignerを立ち上げるとX11も立ち上がるのはどうしてですか。 AssistantやCreatorなどの他のものではX11が立ち上がることはありません。
GTKはクソ
873 :
デフォルトの名無しさん :2011/02/06(日) 21:27:07
つまりどっちもそんなに重要じゃないってことだね。
>>870 otool -L で X11 のライブラリにリンクされていないか見てみた?
1〜3段までみたいに段数限定できるなら多段タブも悪くない あるだけ全部並べられると邪魔
あー段数に制限つけるとか段数固定にできるといいね つか、無制限、制限、固定をユーザーが選べるようにするのがよいな
固定段数なら、実際にタブを3列作って、それをアレイ化して運用する ウィジェットを作るのもいいかもね。 オレだったらそんな複雑なUI作る前に 左ペインにツリービューを配置するタイプのUIにしちゃうが。
サイドペインの画面占有量は多段タブに比べて半端ない。 無意味に画面を狭くするようなUIを推す奴はカス。
>>879 そもそもQt Createrのオプションダイアログが、
左ペインメニューと上タブの併用なわけだ。
あとは分かるな。
多段タブを上下スクロール出来るようにして常時3段だけ表示すればいいじゃん!!!
>>880 Qt Creatorがクソなんですね、わかります。
もしかして: Qt Creator
UIの得手不得手は使い方次第。 使い方がまちまちな場合はユーザに選択権を委ねるのが最善。
>>879 ,882
異論を認めず、公式のデザインまで罵倒するようでは
狭量と言わざるをえないな。
別に作ることは否定しないから、
勝手に作って勝手に公開してればいいよ。
>>881 スクロールできるといいね
あと普段は1段表示にしておいて、マウスもってくと広がってくれるといいな
と夢を広げておく。実装はしない
886 :
デフォルトの名無しさん :2011/02/07(月) 22:20:30
お前らが今使ってる2chブラウザは多段タブじゃねーの?
論理薄弱さんだろ もうほっとけよ
Qtで多段タブができたら手のひら返ししそうなやつがいるな。 Nokiの今やっていることが最善だなんて話ではないはずだがね。
891 :
デフォルトの名無しさん :2011/02/07(月) 22:51:10
QTBUG-2061の優先度も低いからで多段タブなんて入らないよ。 多段タブを入れないのはよいことだ。
アスペってオリジナル用語作るのが得意なんだってな
2ch だから何言っても良いと思う奴と、たとえ 2ch でも自分の発言に 責任を持ちたいと思う奴の違いって何だろうな。
Q_OBJECT を適当なQWidgetとかを継承したクラスに書くだけで error: undefined reference to `vtable for **' みたいになってコンパイル弾かれるのはなぜ? リンカの問題みたいだけどvirtualな関数も無いはずだし, Q_OBJECTをコメントアウト すれば普通にとおる・・・
C++ GUI Programming with Qt4 (2nd Edition) Advanced Qt Programming どちらか一冊買うならどっちがオススメでしょう?
話は少しずれるけど上の2ndを買ったあとに1stが無料公開されてることを知り かなり後悔した
>>894 俺もかつて同じ問題に直面して解決した気がするがど忘れw
一つ言えるのは、virtual宣言云々は直接関係なくて、仮想関数テーブルが見つからない
というエラーだお。ヘッダのインクルードが足りてないとか、ファイルの更新忘れで moc を
通してなかっただとか、その辺の問題だったはず。リビルドしてみそ?
>>895 おぬしのレベルがよくわからんのだけど、どっちも不要じゃね?
Qt Assistant と Qt demos が一番の教科書だと思う。
かけるかな
>>894 後からQ_OBJECT追加すると、そうなることがあるみたい。
Makefile類を一旦削除してリビルド(qmakeにMakefile類を作り直させる)したら解決
したことがあるよ。
でもどうやら原因は別の場合もあるらしくて、それじゃ直らなかったこともある。
気が付くといつの間にか直ってたりする。なんなんだろ。
900 :
894 :2011/02/08(火) 09:30:16
Makefile一度削除したら直りました ありがとうございました。 いったいvtableに何があったんだろう・・・
>>899 ,900
ビルドに成功するときと成功しない時で、
コンパイラのコマンドラインで違いはないか確認するとなにかわかるかもね。
-I のPATHが違ってるとか。
QCheckBoxの背景(文字の部分ではなくてチェックマークの下の背景)の色を変更する 方法があったら教えてください。 調べたり実際にQt Creatorのデザイナでやってみたんですが、パレットでもスタイルシート でもできないようです。
905 :
903 :2011/02/08(火) 18:58:10
>>904 レスありがとうございます。
これはやってみたはずだったんだけど...と思ってもう一度やってみましたが,
paletteのBaseを変えても変わりません。パレット編集画面のプレビューでも
チェックボックスの背景は変わっていません。
ちなみに私もWindowsです。バージョンに依存するんでしょうか。
私はQt 4.6.3+Qt Creator 2.0.1でやっています。
4.7.1のDesigner XPのLunaとか7/VistaのAeroだと描画をシステムに投げるだろうから うまくいかないのかも Formのプレビューで別のスタイルを選択してみたらどうなる?
>>902 C++ GUI Programming with Qt4 (2nd Edition)
に関しては必ずしも必要ないと思います。QTの基礎に関しては下記のサイトで十分です。
http://cartan.cas.suffolk.edu/qtdocs/index.html Advanced Qt Programming
については(今ちょこっと読んでる最中ですが)基礎を固めた後に読むべき本で、Qtのクラスをどのように使って
アプリを作るかについて書かれており、極めて実践的な内容です。
こちらに関してはmustreadとは言わないものの、まあ読む価値はあるかなと、いう印象です。
>>907 ありがとうございます。
Advancedの方買う方向で検討します。
実はPDF版ならネットに転がっている、というのはここだけの秘密だ。
昨日Qtインスコして使い始めたところでして MFCとの違いを戸惑いつつ使ってる状況です 見当違いな質問してたら申し訳ないんだが教えて欲しいす QtでシリアルPort使おうと思ったら、思ったより難しい。。。 ggってみたところ、qextserialportがデフォのような感じですが 実際のところどうなんでしょうか。みんな自前で作成してます? 試しにqextserialportを使ってみたところ SIGNAL dataReady()で登録してもSLOTの関数に来なかったっす。 qextserialport内のdataReady()にコード書かないと駄目ですかね 又は他に良いのはあるでしょうか
912 :
905 :2011/02/09(水) 08:59:50
>>906 WindowsはXPです。
プレビューで別のスタイルを選択してみたところ,幾つかのスタイルではパレットのBaseを
変更するとチェックボックスの背景色が変わりました。
で,目的のQCheckBoxにsetStyle()でQWindowStyleを割り当てるようにコードを書いて
実行させてみたところ,うまくいきました。
ありがとうございました。
913 :
905 :2011/02/09(水) 09:00:47
あ,書き忘れました。イケメンの人w
>>911 fopenでcom3とか開くんでええやん。
windowsでしか使わんのやったら。
>>911 オレ自身は最近シリアルポートのプログラム書いてないのでアレだけど、
Vista以降だと管理者権限がないとシリアルポートが開けなかったりするようだから、
その辺も踏まえて調べてみて。
それから、ライブラリを使って動かなくてOSに依存している問題だなと判断したら、
なるべくOSに近いAPIで直接操作してみるようにしてみよう。
この場合、Win32API
Qt DesignerでQGroupBoxを貼ると、文字がボールドできっつい。
>914>915 レスthx WinとLinuxで使います Event丼にするの忘れてて直したらSignal来ました Linuxいぢった事が殆ど無いので両対応は有りがたいけど 何かあった時に解析から始めるのがちょっと嫌な感じ Win_は、ぱっと見、自分が作るより出来がいいw >それから、ライブラリを使って動かなくてOSに依存している問題だなと判断したら、 >なるべくOSに近いAPIで直接操作してみるようにしてみよう。 >この場合、Win32API 助言ありがとう。 今回は上手く行きそうだけど今後の参考にさせて頂きます。
>>913 何か自分の言葉じゃないよね
本の受け売りか、学校の先生が言ってたそのまんまって感じ
>>918 お礼に「イケメンの人」って書くのは過去スレからのお約束みたいなもの。
最近はあんまり書かれなくなったけど。
>>918 たまに日本語自体が、御先祖様の受け売りな気がするんだ。
921 :
デフォルトの名無しさん :2011/02/11(金) 01:03:23
>>910 すいません場所教えていただけないでしょうか。。
その話をここでするのはスレ違いかなと思って控えてたのに・・・ どっか良いスレ無いかな
最悪、Qtは売られるだけだろ
Oracleに売られたら終わる。 Googleならいいのに。
>>925 そんな保証は全くないのになぜか同意できてしまう不思議。
927 :
デフォルトの名無しさん :2011/02/11(金) 14:00:53
>>921 "C++-GUI-Programming-with-Qt-4-1st-ed.pdf" でググると...
googleだったらMITライセンスになるのかなー
ちなみにgoogleはQtを結構使ってる google earth google IME
>>927 いつか見たけど何度目かの déjà vu
>>932 どうでもいいけど、qtracと久夛良木って関係ないよね?
クタタン……
質問 セントラルウィジットにText Editを貼りつけたとき、 Window resize時はText Editのサイズって自分で計算してresizeしないとだめ? アンカーってないの? レイアウト系も見たけど、レイアウトってコンテナだよね? レイアウト自体のサイズが変わらないから意味なさそうだし。
レイアウト使うんだよ
937 :
デフォルトの名無しさん :2011/02/11(金) 16:54:49
>>935 セントラルウィジェットにしたものは、ウィンドウリサイズ時に自動的にリサイズされます。
レイアウトはレイアウトアイテムを並べる機能です。レイアウトはコンテナではなく、レイアウト自体のサイズもありません。
ようやくQGraphicsItemをマウスでつかんで移動させる方法が分かった。
うちのじいちゃんですら、マウスを掴んで移動させることができるというのに・・・
941 :
デフォルトの名無しさん :2011/02/11(金) 17:30:07
QGraphicsItem::setFlag(QGraphicsItem::ItemIsMovable, true)?
>>941 そそ。QGraphicsItemを継承したクラスのコンストラクタに以下を書いた。
setFlag(QGraphicsItem::ItemIsMovable, true);
setAcceptedMouseButtons(Qt::LeftButton|Qt::RightButton);
あとはmouseMoveEvent(QGraphicsSceneMouseEvent *event)で、QGraphicsRectItem::mouseMoveEvent(event);を忘れないで書くぐらい。
高機能なのは良いのだが、QGraphicsView、QGraphicsScene、QGraphicsItemの関係が最初、分からずに苦労した。
GTKとQTとどっちを使う方が良いかわかりません。 アドバイスを・・・。 Ubuntuで使います。
>>937 あーそう取られたか。
セントラルウィジットとしてtextを貼ったんじゃなくて、セントラルウィジットの上にtextを貼った場合のこと。
>>938 ざーと読んでみたけど、レイアウトの話じゃなくって、Window resizeについての情報がまるで書いてない。
945 :
938 :2011/02/11(金) 18:51:30
>>944 よく読め。わからなければページ内で「サイズ」を検索してみろ。
946 :
デフォルトの名無しさん :2011/02/11(金) 18:54:43
>>944 >セントラルウィジットの上にtextを貼った場合
であれば、セントラルウィジェットにレイアウトを付ければよいです。
>Window resizeについての情報がまるで書いてない
トップレベルのウィジェットがウィンドウというだけです。
947 :
デフォルトの名無しさん :2011/02/11(金) 19:13:29
Windows PhoneでQtが動けばOK
むしろ、Android端末にQtのDLL突っ込んだ機種を販売して欲しい。 このサイズでは配布できん。
>>943 RADツールでポトペタして楽に開発したいならQt。
GTKにはUIデザインからビルド、デバッグまで一貫して行えるツールがない。
コード手書きなら
>>950 の言う通り。
952 :
デフォルトの名無しさん :2011/02/11(金) 21:04:51
>>948 Nokiaが正式サポートすることはないだろう。
>>948 WindowsPhoneは.NET開発じゃなかったっけ。
>>948 誰がやるんだよそんなことwww
ノキア・マイクロソフト提携Q&A:Android不採用の理由、MeeGoの今後、タブレット戦略など
http://japanese.engadget.com/2011/02/11/q-a-android-meego/ >( MeeGo を主要なスマートフォンプラットフォームにしなかった理由について )
>MeeGo では、他陣営に対抗できるだけのエコシステムを構築するには間に合わないと判断した(エロップ)。
:
>MeeGoプラットフォーム採用端末は今年出荷される。
>ただし、「もうひとつの広範なスマートフォンプラットフォーム戦略の一部としてではなく、学習の機会として」 (エロップ)。
>おそらく最後となるMeeGo端末が出荷されたのち、開発チームは
>「フォーカスを将来のプラットフォーム、将来のデバイス、将来のユーザーエクスペリエンス」に移し、
>スマートフォンにおける「次のひっくり返し技術 (disruption) 」を見極める。
Appleの5倍のR&D予算があっても、MeeGo製品をまともに出荷できなかったんだな。。。
googleに買ってもらえなければ事実上終了かな。せっかくのクロスプラットフォーム環境なのに。。。
Nokia製Windows Phoneの開発ツールは、Microsoftのツール技術を利用する らしいよ。
利用というより、単にVSなのでは・・・。
それとも、ローエンド側に拡げるような話があるから、その辺は別になるんだろうか。
>>953 .NETですね。ぐぐるとネイティブコードも書けるらしいとは分かるけど、かなりの例外。
ネイティブ使わせない以上JITしてるんでしょうが、そのためにメモリとか潤沢にいりますね。
どうりでハイエンド機ばっかなわけだ。
生産性としてはVSは優秀だとは思いますし、携帯OSとしてはいいのでしょう。
959 :
939 :2011/02/12(土) 02:26:23
>>942 に書き忘れ。
QtGraphicsSceneが最初にマウスイベントを取るので、itemsAtでクリック位置で何かオブジェクトがあるかを確認。
オブジェクトがある場合はQtGraphicsSceneではQGraphicsScene::mousePressEvent(mouseEvent)をするだけにする。
>>949 その線が完全に断たれたというニュースでは?
むしろこっちが気になる
> ノキアのコンテンツやアプリケーションストアはマイクロソフトのMarketplace (マーケットプレイス)に統合される。
964 :
デフォルトの名無しさん :2011/02/12(土) 03:21:59
Nokiaになんかに買収されなければよかったんだよ。
それは正論
オープンソースだから、Nokiaに買収されてマイナスは無かったはず。 推進してくれないのが残念なだけ。
残念だけで済めば良いけど、推進してくれる母体が無いと開発に影響が出るんじゃないかな? オープンソースと言っても、コミュニティベースのプロジェクトというより、専任の開発者が 支えていたんだよね?
Windows 7でクローズボタンの左側に「?」が出るのですが、消す方法を教えてください。
970 :
969 :2011/02/12(土) 07:13:48
付属サンプル見ていて、自己解決しました。失礼しました。
971 :
デフォルトの名無しさん :2011/02/12(土) 10:27:38
>>966 買収される前も後も企業が開発の主体でオープンソースを利用しているだけ。
Nokiaに買収されてからよかったのは、その資金で支えられて開発体制がよくなったこと。
よくなかったのは、AndroidやiOSなどを正式にサポートすることができなくなったことやデスクトップの置き去り。
買収される前は、商用で収益を得るのが存在し続けるために必須で、GPLでフィードバックを得ていた。
デスクトップもモーバイルのどちらも比重が高かった。
だから、Qtをしっかりとしたものにしなければ成り立たなかった。
買収されてからは、商用で収益を得なくてよくなったのでNokiaの戦略を支えるためにLGPLを出した(そう発表されていた)。
デスクトップは置き去りにされ、Nokiaのためのモーバイルに傾倒していた。
Symbianはなくすと発表されてるので、Qt Symbianはなくなるだけ。
MeeGoがオープンソースを強調していても、開発をしているのはNokiaが中心、NokiaがMeeGoから手を引けばMeeGoはなくなる。
Windows PhoneがNokiaのモーバイルの主力になり、Qtはその戦略から外され、間接的にも収益に寄与することなくなった。
NokiaにとってQtを開発し改良する意味はもうほとんどない。
その結果は明らかで、Qtへの投資額は減らされ、Nokia全体の人員整理にも巻き込まれる。
Qtが完全に見捨てられれば、
>>960 KDE Free Qt Foundationの取り決めでBSDになるか、
何か別のことが起きて続いて行くかするだろうが、ここ数年のの勢いはなくなるだろう。
Qt終わったな
もうすぐPySideが1.0になるしワクテカしてたのに心配だわ
MSがC++によるネイティブ開発ができる Windows Phone Classic路線を今もメインにしてれば 明るいニュースだったんだけどな。 もともとAndroidのNDKもあくまでメインではなくおまけでしかないし
>>973 なごんだ
っつーかこのスレがこんな形で幕を落とすなんて誰が予想し得ただろうか
Qtの.NET Compact Frameworkバインディングが出たりすんのかな Java版Qtの二の舞になりそうだが
Qt on Silverlight
藍沢光がイケメン揃いのQterに興味深々丸
藍沢光がもっとキュートに
誰か私を起こして 夢だと逝って下さい
きゅーときゅーちゃん
きゅーときゅーちゃんはうちのところだと2ちゃん
985 :
984 :2011/02/12(土) 13:36:06
すまん。もうすでに話題になってた
986 :
デフォルトの名無しさん :2011/02/12(土) 15:18:33
@qtbynokia Everyone who asked about Qt's future, please stay tuned. We need to understand things better and will come back to you. 知らなかったのかな。
少なくとも日本ノキアのQt班はバンバンドキュメント化を続けてるから、 ここしばらくは心配ないな。 何年か先は今後の展開次第だろうが。
最悪のシナリオは、Adobeとかそういうプロプライエタリな企業に安く買われて いじくられて捨てられるパターン。
もっと悪いのは何の資本も入らず完全に見捨てられて KDEに必須なLinux版以外は保守がされなくなることだな
Qtは終わってしまうの?
そういう縁起の悪いことは言わないであげてください。。。 まだだ、まだ終わらんよ!
>>989 Linuxユーザーの俺は何の問題もないな。
むしろ、BSDライセンスになるとかだったら、喜ばしいことかもしれん。
そういえば、企業のものじゃないGtkは、どうやって開発支えているんだろ。
>>989 それは全然悪くないシナリオだと思う。
下手な企業に買収されると、OSS的にはいらない方向に進んで
開発しづらくなって、でもそっちがオフィシャルだからフォークして
開発リソースが分散してしまうのは…みたいなジレンマに陥る。
それよりはKDEがBSDライセンスで引き継ぐ方がナンボもマシ。
994 :
デフォルトの名無しさん :2011/02/12(土) 20:07:15
>>992 Donations
If you want to help the GTK+ project by donating money OR perhaps your company wants to pay someone to develop GTK+,
you can email the GNOME foundation. Any donations to GNOME for GTK+ will ONLY be spent on GTK+.
Current core maintainers of GTK+ are: Only nine. They are working for Red Hat, Novell, and Lanedo GmbH and Intel. That's all.
でも結局捨てられた後の保守は人任せで、自分らは何も提供しないんだよな 理想通り、ただ働きしてくれる奴が現れてくれるといいんだけどね
996 :
デフォルトの名無しさん :2011/02/12(土) 20:19:40
Nokiaの圧力に屈することがなかったPyQtはしっかりとした意思がある。 逆に、ソフトウェアの心を売り渡した創業者や経営者そしてその取り巻きはどう思っているだろうか。
>>996 意味が分からん。QtがNokiaになったあとで、
それ以前と何か劣ってる部分でもあるのかね。
MSとの連携で先行きが不透明になってる件と
買収の件とは何の関係もない。
前から住み着いてるNokia嫌いのアスペだろ
999 :
デフォルトの名無しさん :2011/02/12(土) 20:32:38
>>997 Nokiaの製品向けにしか目を向けていないのが分からないのですか。
デスクトップの改良がほとんどなされない。
Qt everywhereと言っているが、AndoroidやiOSは正式サポートされず、Qt for Embedded Linuxの改善がされない。
>>997 オレからしたら、QtはPCでしか使わないから、他の環境のサポートなどどうでもいい。
AndroidやiOSは元から他のエコシステムのサポートは積極的じゃないわけだから別におかしいことじゃないし、
Qt for Embedded Linuxってったって、
Embedded Linux向けのサポートはQtが唯一の解じゃないし、
Qtだと規模が大きすぎることだってあるだろ。
けなせばいいってもんじゃない。
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。