【Win/Mac/Linux/Android/iOS】 Qt 総合スレ 18©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
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)
こっちはDigia社か日本の代理店(SRA社)とライセンス契約(年間30万くらい?)を結んで使います
■Qt を使って作られたソフト例
KDE、Maya、Adobe Photoshop Elements、Google Earth、Skype、DAZ Studio
MotionBuilder、RealFlow、Nuke、LuxRender、Mathematica、Kindle、VirtualBox、
RuviEdit、さくさくエディタ など
■前スレ
【Win/Mac/Linux/Android/iOS】 Qt 総合スレ 17
http://echo.2ch.net/test/read.cgi/tech/1438593408/ timerで処理ってダイアログ閉じるタイミングで変更されたりしたら嫌だな QtCreaterのソースコードでキーボードカスタマイズを
実現してるUIがあるから参考になると思うよ QtCreatorでカッコやクォーテーションを勝手に補完するの止める方法ある?
特に範囲選択して文字を打てば置換して欲しいのに、選択範囲を勝手に囲むの
マジで作業効率悪い >>158
オプションの補完にそれぞれオフにするチェックボックスがある。 オプション>テキストエディタ>Completionだな。
それからQt Creatorが正しい。 Qt Creator で QLabel の背景色はどうやって変えるんですか?
文字の色は palette いじったら変わったけど。
コードで変える方法はググったらあるけど、色見ながら変えたい。 >>162
コードと同じで、トップレベルウィジェットでない場合にはautoFillBackgroundをtrueにするとpaletteの背景色が使われる。 末端のWidgetならstylesheetプロパティに直書きでいいけど、
QFrameとかのフレーム系Widgetにそれやると、中に入れた子Widgetが全部変わってしまうから注意な。
そういう場合どうするかというと、より上位のフレームのstylesheetプロパティに
クラス名付きで修飾を入れる。例えばQPushButtonについて変えたいなら
QPushButton {
border: none;
}
などとやる。 スレッドを requestInterruption() で中断させて、同じインスタンスをまた実行させると、
中断要求が残ってて即座に中断してしまう。requestInterruption() を受けたら exit() してしまって、
インスタンスは作りなおさないといけないの? 何やってるのかは知らないけど、大抵の場合は
QtConcurrent::Run+QFutureの組み合わせの方が扱いが楽よ。
途中終了とかもできるし。
まあ再開はできないから途中からやり直すという
コードを書く必要があるかもしれないが。 idといえば、C++からQMLのidを指定して
任意の場所のvisible状態をC++側で取得する方法は? http://qiita.com/amay077/items/38ee79b3e3e88cf751b9
Xamarin.Formsがmacにもlinuxにも対応するってマジ?
最近はLinux用アプリでさえQtよりElectronを目にするようなってきたし、いよいよQtもオワコンかなぁ Javaのコーダーがあれだけ増えたのに、
デスクトップじゃいまだにVisualBasicの代替程度しかなれてないけどな デスクトップアプリは今後もQtを中心に使うけど、
スマフォ/タブレット用はXamarinにする予定でいる。
手元のアプリではだいたい44-47%は外部インターフェイスを持たないModel部の実装になるから、
これだけのボリュームがプラットフォーム非依存にできる利点は大きい。 Qtなんてただの道具なんだから、
使いたくなければ使わなきゃええねんで。
Model部はpure C++でも構わんだろ。
生産性がいくらか下がるだけの話だ。 Qt SDKのexamples/widgets/gestures をWindows10で動かしてるんだけど、
pinchは反応してるけどpanとswipeは反応しないね。
これってこんなものなの? QMLについて調べてるんですが、.uiを使わずにこれを使う利点であるのでしょうか?
少し調べてみた限りでは面倒臭くなるだけに見えるで候 Qt Creatorの、Debug実行を行っているのか、exeを起動しているのか、判定する方法かifdefはありますでしょうか? >>181
公式Helpとサンプルの挙動を見る限り、pinchは2本以上の指でpanとswipeは1本指のように見えるんだが。
違うのかな。
>>182
qmakeのことを言ってるのかC++のことを言ってるのかで話は変わる。 >qmake
>C++
どちらの実現でも、OKです。
C++ってのは、VC++ですが。
知りたいのは、出来上がったExeの挙動をリリース/デバッグで切り替えることではなくて、
QtCreatorで動作するときだけはある処理をスルーしたい(逆もできればますます便利)です。
ある処理とは具体的には、throwで、exeのときにはQApplicationのオーバーライドでcatchして
エラーメッセージがちゃんと出せるのに、
QtCreatorで実行すると、throwでドカンとアセンブラステップ画面に移動して、アプリがEND。 >>184
Qtに限らず、C++上では
_DEBUG プリプロセッサシンボルの定義状態によって判定するのが基本。
qmakeではconfig関数を使う。デバッグビルドであることはわかるけど
リリースビルドであることはわからないので ! 演算子を併用するとかやや意味不明な運用になってるね。
例外の下りだけど、どうも184のコードがおかしいような気がする。
そもそもQtはQT_NO_EXCEPTIONSが定義されていると例外機構が存在しないものとして動作したりするし。
例えばQException以外が飛んで来ることが想定できてないんじゃね? >>184-185
昔 java が流行った頃にその手の挙動であった一例として。もしかするとこういう書き方をしてるかもしれない。
java の throws のつもりで関数定義のところに throw(XException) を書いてあって
関数内で XException 以外の例外が発生するとそこでコアダンプするというのがあった。
java: XException を投げる可能性があるので上位で対処を要求する書き方
void test() throws XException {
}
C++: XException 以外は投げられず、std::unexpected() に制御が移る
void test() throw(XExpception) {
} >>185
全然話が違っています。
デバッグコンパイルでも、リリースコンパイルでも、ただしくcatchできています。
ただ、QtCreatorで、throwのところで、デバッガーが止まるのが困ってるだけです。
前にも書いた通り、デバッグコンパイルのexe/リリースコンパイルのexe、を切り分けたいのでなく、
デバッガ―が止まらないように、でばっがーによる起動を判定したい、だけです。 >>187
184の文章ではcatchできているかできてないかの話に読めるし、
187の文章を見てもやはりcatchできなかったときのデバッガの挙動に見える。
自分の書いたコードとデバッガの挙動とが正しく把握できてないんじゃないかな。
実際のコードを単純化してgistとかに上げてみたらどうだい。 catchの話は無かったことにしてください。
起動がExeなのか、QtCreatorデバッガ―なのか、の判定がプログラム中で知りたいです。 >>189
実行するとき環境変数設定してgetenvしたらええんちゃうの >実行するとき環境変数設定して
QtCreatorのデバッグのオプションで設定できるのでしょうか。 そろそろVisual Studio 2017に対応した? しかし、ここまで全角半角、大文字小文字、ひらがなカタカナ、
はたまた、ハイフンと長音記号が入り乱れてる文章はなかなかお目にかからないな
会話の前後も一致しないし、もしこれで日本人なら、
そもそものコードもちょっと心配 >>191
実行の構成のところに環境変数設定がある。
ひだりの縦のバーのプロジェクト設定のところな。 誰かShogiGUIのQt版を作ってくれへんか
LinuxとMacでまともな将棋検討アプリがなくて困っとるんや 最近お仕事で使い始めた
便利なTkだな
しかしフレームワークが膨大でオライリーの第1部読んでからはかいつまんで集めた情報でコード書いてる Qtは情報がすぐに古くなるので、
・公式ヘルプ
・公式サンプル
・githubのQtプロジェクトまたはKDEのソースコード
に当たったほうがいいよ。 Qtの公式ドキュメントすごい読みやすいよな。
クラス説明のやつとか、概要一覧詳細一通り揃ってる。 コードの良し悪し以前にKDEのライブラリ環境が前提の実装になってるから
純粋なQtプログラムとしては使いものにならない。
だが全体がQtの文法で書かれてるから書き方や使い方の参考にはなる。 Visual Studio 2017でQtを使う方法教えて! qmake自体はVS2017を認識するから自力でビルド。 qtはちょっとc++やりたい時にいいね。
最近のvisualstudioデカすぎて、ダイアログボックス出すプログラム書くだけでも何十ギガバイトもダウンロード&1日かけてインストールせなあかん MinGW版は GNU configure系と相性が悪すぎてプロジェクト管理が死ぬ >>211
いや、コンパイラの問題じゃなくてqmakeによるビルドシステムの問題だから。
qmakeでプロジェクトを管理すると、ファイルをコピーしたりasmをアセンブルしたりするみたいな当たり前のことが
基本機能じゃ扱えなくなって自動化するのが大変になる。
GNU configureの自動実行もできないっぽいから実行時に自動生成されるソースファイルとかを
元のソースツリーの外にコピーして別途管理したり涙ぐましい努力でプロジェクトを維持している。 qtcreatorからCMakeFile.txtを扱えたのか……。
手書きする部分はqmakeのままでいいけど、外部ライブラリをビルドしてるだけの部分は
cmakeで作ったほうが楽だったかもね。 >>208
何か作るたびにインストールしてんのかよ qtでスキンメッシュアニメーションできないか定期的に調べるんだけど未だできなさそうかねぇ? >>215
QGraphicsViewのサンプルにあったで >>216
すまぬが見つからん
3dモデルが動いてるサンプルはいくつかあるけど、コード上で回転させたり伸縮させてるのしかないように見える。
3dモデルに内蔵されてるアニメーションデータを再生するってのがなくて、
それがないと人が歩く絵を表示できなくて困っとる qt 3d studioがリリースされるまで待つしかなさそう >>217
スキンメッシュアニメーションってのが3Dなんて誰が言ったんだ?
QGraphicsViewは2Dのフレームワークだ。で、そのサンプルがあるぞと指摘しただけなんだが。 お、おう
それじゃー3dモデルのアニメーションは
自分で書くか将来に期待するしかないねー 割と最近めのqt creatorで
デバッグ開始するとデバッグ用のウィンドウが下の方とかに出てくるんだけど
デバッグ終了しても消せない
どこ押せば消える?ググってもぽちぽちしまくっても消えん! それはね、左側のボタンをデバッグから編集に切り替えると消えるよ。
見た目ボタンにしか見えないんだけど、以前ソース見たらこれはタブとして実装されている。
visualstudiocodeでもほぼ同じデザインになってるし、最近のはやりなのかもねえ。 定期的にv-playが気になるんだけど誰かがっつり試してみた人はおらんか http://blog.qt.io/blog/2017/07/20/qt-creator-4-4-beta-released/
そろそろ
・1文字補完
・fuzzy補完
・引数と補完を同時に表示する
・補完中にdoxygen形式のコメントを表示する
ぐらいやってほしいんですけど。
VSCodeでもやってるというのに... 俺のVSCodeは全然言うこと聞いてくれないのでQt使ってなくてもQtCreator使うしかない QtCreatorはそんな細かいこと以前に
msvcと組み合わせたときのデバッガの絶望的な重さをなんとかしてほしいわ。 最近流行りのzen mode欲しい
俺の頭がバカすぎてアレがないと読むのがつらい >>229
耳栓してHMDで常に視界の中央にコードが追従し続ける究極のzen modeはどうでしょうか >>229
そんなものが必要だとか考えたことすらなかったわ。
画像ビューアだと当たり前だけど、IDEだとゴテゴテ物が付いてる方がいいという風潮すらあるわな。 >>179
もっと調べて使ってみればQMLの.uiは役に立たないと分かる >>235
モバイルでQt/Qmlが使われるようになる日は来そうにないか みんなQtで何作ってるの?
作りたいもの(特にGUIで)って次から次へと出てくる? GUIとかいらなくね?って思いながら使ってる
そろそろ自分が納得できるGUIライブラリと作り始める頃合い >>238
Qtのやり方でクロスプラットフォームは抜けだらけで嫌になる。
Qtはデスクトップとモバイルはもうダメ。
残るは組み込みだがそれもいつまで持つか。 tkは原始的すぎるし、GTK+は遅すぎるし、って考えると
Qtは相対的によく出来てるよ。wxは使ったことないから知らん。
Windowsでファイル拡張子関連付けやレジストリやらいじるプログラム作ったけど、
意外とQtだけでなんとかなるもんだ。いちいち用例やドキュメントが無いから
自力で調べ回って作らされる羽目になるが。
タイトルバーやシステムボタンをQtはほとんど制御してないことをつい先日理解した。 ここ数ヶ月?ネガキャン頑張ってるよね
QMLの悪いところを使って、あたかもC++版が悪いように表現したり、
逆にC++で問題ないデスクトップ版をQML使って陥れようとしてるし デスクトップはC++はダメで、QMLはどうしようもなくダメ。
モバイルはC++はどうしようもなくダメで、QMLはまったくよくなる見込みもない。 意味がわからん。
QMLが気に入らないなら使わなきゃいいんだし、
そうしたところでQtの価値が下がるわけでもない。
ってこういうツッコミはもう以前入れたと思うんだが。
同じことを2回言わなきゃいけないってそれだけ頭が固い証拠じゃね? MFCやらVCL使ってきた身としては英語ドキュメントしか無いにも関わらずQtのライブラリは本当にわかりやすい >>247
それってオンラインドキュメントとしての話?
VSはオンラインドキュメント化してからゴミ以下になったが
とりあえず2008以前までのオフラインドキュメントは良かった
なんにせよQtのドキュメントがわかりやすいという感覚は理解できん MSDNと比べる前提で言えば、Qtのヘルプは各APIの説明が全然足らんわ。
各引数と戻り値の説明がない。
ソースコード読んだほうが早いくらい。 >>251
Qtのマニュアルはかなりわかりやすいと思うが。
英語がある程度分かること前提だけど。 英語云々ではなく説明不足
MSなら事細かに説明が書かれてるうえに
サンプルコードがほぼ記載されてる あのドキュメントで分からないなら
qt以前にプログラミングの経験が足りないんじゃないの? ■ このスレッドは過去ログ倉庫に格納されています