X



【Win/Mac/Linux/Android/iOS】 Qt 総合スレ 18©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん 転載ダメ©2ch.net
垢版 |
2017/03/08(水) 13:49:03.39ID:jMX+hATM
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/
0138デフォルトの名無しさん
垢版 |
2017/05/18(木) 22:02:34.50ID:xXCtzo0J
どうも。いろいろ参考になります。

ちょっと気合入れてスレッド勉強しました。なんとなくわかってきたんで、これで実装しようかと思ってます。あー、頭いて。

>>136
Python + Qt は初めて。Lazarus なら遊びで使ったことがある。

>>137
なにやら怪しげなフラグ設定、調べてみます。
0139デフォルトの名無しさん
垢版 |
2017/05/19(金) 11:35:18.05ID:EaD/3jfs
>>138
python で実装するにしても関数仕様は以下を参照した方が速い。どうやっても C の仕様に引き摺られるので。
http://doc.qt.io/

例えば >>137 を調べるとして、以下を見れば古い C 流儀のプロパティだと判って python 流でないのに戸惑うかもしれない。
http://doc.qt.io/qt-5/qguiapplication.html#quitOnLastWindowClosed-prop

ただ、>>131 をやろうと思ってるなら閉じる必要のあるウィンドウをメインウィンドウにするべきではないと思うな。入力用のダイアログ作ればいいと思うけど。
逆にずっと出していると思われるターミナルウィンドウみたいなのをメインにしたらいいと思う。
そうすると余程長い処理じゃなければスレッドを使う必要もなくなるんじゃない?
PyQt/PySide でスレッドを分けるとスレッドを跨いだデータの扱いで結構面倒事が起こる。
0140デフォルトの名無しさん
垢版 |
2017/05/20(土) 15:34:09.42ID:YAniTqrY
馬鹿には無理
0141デフォルトの名無しさん
垢版 |
2017/05/20(土) 21:07:33.68ID:QnLfIsPY
質問です
QChartを使いたいんですけどQtCreatorのデザイナに出てこないんですがどうすればいいんでしょうか
環境はUbuntuでCreatorと全モジュール入りのソースをビルドしてインストールしました
0142デフォルトの名無しさん
垢版 |
2017/05/21(日) 18:41:27.32ID:kU3SV2Oh
質問。QMLでfindObjectByIdに相当するものって無い?
idをJavaScriptに文字列で渡ししたいんだが
0143デフォルトの名無しさん
垢版 |
2017/05/21(日) 19:40:14.93ID:FLeMRkjd
>>141
chart使ったことはないが公式のサンプルはあるじゃろ
そこから読み解くのも一つの手

>>142
C++でも存在は知ってても使ったことがない
Qt3より以前の古い設計の名残だと思ってるが…
0147デフォルトの名無しさん
垢版 |
2017/05/23(火) 22:50:34.65ID:QSXdmP1t
Qt は Unix 系の人が多いと思うけど、 Unix 系の人はお気に入りのニュースリーダかエディタで 2ch を見る人が多い印象がある。
0148デフォルトの名無しさん
垢版 |
2017/05/24(水) 03:32:38.88ID:TdJLTRsg
専ブラを作るのに適したGUIライブラリってなんだろ
Qtはマルチメディアも扱いやすいしWebKitも軽いし最も適した選択肢の1つに入る気がする
それともWPFやJavaFXのほうが良かったりするのかね

デスクトップ版の専ブラ古臭いのしかないしQt/Qmlでデスクトップ/Android両対応の専ブラ作れば一発当てられるんじゃね
0153デフォルトの名無しさん
垢版 |
2017/05/24(水) 16:04:02.28ID:ClJsbK5M
現在の入力値を調べてボタンを有効/無効にする制御をやりたい。
Windows だとこういうのは Idle ハンドラでやってたんだけど、
Qt だとどこでやったらいいんでしょうか?
0154デフォルトの名無しさん
垢版 |
2017/05/24(水) 18:00:12.56ID:VnQyaHE4
オブジェクト思考的な話
数値がある閾値超えた場合、その旨の signal を発行して、
その signal (イベント)が必要なオブジェクトがそれを拾えば良い話

もちろん、signal を使わず数値を監視して enable/disable への切替は可能だけど

もはやQtの話じゃない
0156デフォルトの名無しさん
垢版 |
2017/05/25(木) 10:11:01.87ID:nE79I92l
timerで処理ってダイアログ閉じるタイミングで変更されたりしたら嫌だな
0157デフォルトの名無しさん
垢版 |
2017/05/25(木) 11:09:21.88ID:uhrRUtX4
QtCreaterのソースコードでキーボードカスタマイズを
実現してるUIがあるから参考になると思うよ
0158デフォルトの名無しさん
垢版 |
2017/05/25(木) 21:35:10.53ID:6ZItyO6p
QtCreatorでカッコやクォーテーションを勝手に補完するの止める方法ある?
特に範囲選択して文字を打てば置換して欲しいのに、選択範囲を勝手に囲むの
マジで作業効率悪い
0162デフォルトの名無しさん
垢版 |
2017/05/26(金) 14:24:03.43ID:/9uRQuSE
Qt Creator で QLabel の背景色はどうやって変えるんですか?
文字の色は palette いじったら変わったけど。
コードで変える方法はググったらあるけど、色見ながら変えたい。
0164デフォルトの名無しさん
垢版 |
2017/05/27(土) 12:19:04.10ID:G9IVs/Lk
>>162
コードと同じで、トップレベルウィジェットでない場合にはautoFillBackgroundをtrueにするとpaletteの背景色が使われる。
0165デフォルトの名無しさん
垢版 |
2017/05/27(土) 16:26:59.57ID:4cZE/dpO
末端のWidgetならstylesheetプロパティに直書きでいいけど、
QFrameとかのフレーム系Widgetにそれやると、中に入れた子Widgetが全部変わってしまうから注意な。

そういう場合どうするかというと、より上位のフレームのstylesheetプロパティに
クラス名付きで修飾を入れる。例えばQPushButtonについて変えたいなら

QPushButton {
border: none;
}

などとやる。
0166デフォルトの名無しさん
垢版 |
2017/05/30(火) 14:50:59.13ID:6Su+ZuCJ
スレッドを requestInterruption() で中断させて、同じインスタンスをまた実行させると、
中断要求が残ってて即座に中断してしまう。requestInterruption() を受けたら exit() してしまって、
インスタンスは作りなおさないといけないの?
0167デフォルトの名無しさん
垢版 |
2017/05/30(火) 15:43:58.11ID:334s1ZU7
何やってるのかは知らないけど、大抵の場合は
QtConcurrent::Run+QFutureの組み合わせの方が扱いが楽よ。

途中終了とかもできるし。
まあ再開はできないから途中からやり直すという
コードを書く必要があるかもしれないが。
0168デフォルトの名無しさん
垢版 |
2017/06/03(土) 02:24:13.51ID:f2qbH72v
記念カキコ
idにQtが出たので...
0169デフォルトの名無しさん
垢版 |
2017/06/03(土) 06:18:32.38ID:o79y/oZ3
どこどこ
0170デフォルトの名無しさん
垢版 |
2017/06/03(土) 06:47:25.67ID:3clWUM84
idといえば、C++からQMLのidを指定して
任意の場所のvisible状態をC++側で取得する方法は?
0172デフォルトの名無しさん
垢版 |
2017/06/17(土) 20:45:35.08ID:vMjKwWc4
Javaのコーダーがあれだけ増えたのに、
デスクトップじゃいまだにVisualBasicの代替程度しかなれてないけどな
0174デフォルトの名無しさん
垢版 |
2017/06/17(土) 23:03:00.81ID:tjX69Ey+
デスクトップアプリは今後もQtを中心に使うけど、
スマフォ/タブレット用はXamarinにする予定でいる。

手元のアプリではだいたい44-47%は外部インターフェイスを持たないModel部の実装になるから、
これだけのボリュームがプラットフォーム非依存にできる利点は大きい。
0176デフォルトの名無しさん
垢版 |
2017/06/18(日) 04:18:04.11ID:stDA8hu1
Qtなんてただの道具なんだから、
使いたくなければ使わなきゃええねんで。

Model部はpure C++でも構わんだろ。
生産性がいくらか下がるだけの話だ。
0177デフォルトの名無しさん
垢版 |
2017/06/18(日) 15:32:25.19ID:xPH4G83l
ほんそれ
0178デフォルトの名無しさん
垢版 |
2017/06/21(水) 20:33:46.03ID:q4L265CV
Qt SDKのexamples/widgets/gestures をWindows10で動かしてるんだけど、
pinchは反応してるけどpanとswipeは反応しないね。

これってこんなものなの?
0179デフォルトの名無しさん
垢版 |
2017/06/26(月) 22:14:29.72ID:lEyLgHV4
QMLについて調べてるんですが、.uiを使わずにこれを使う利点であるのでしょうか?
少し調べてみた限りでは面倒臭くなるだけに見えるで候
0182デフォルトの名無しさん
垢版 |
2017/06/27(火) 09:10:34.15ID:WuBzCuMJ
Qt Creatorの、Debug実行を行っているのか、exeを起動しているのか、判定する方法かifdefはありますでしょうか?
0183178
垢版 |
2017/06/27(火) 09:40:29.58ID:9FJ950aK
>>181
公式Helpとサンプルの挙動を見る限り、pinchは2本以上の指でpanとswipeは1本指のように見えるんだが。
違うのかな。


>>182
qmakeのことを言ってるのかC++のことを言ってるのかで話は変わる。
0184178
垢版 |
2017/06/27(火) 10:18:45.06ID:WuBzCuMJ
>qmake
>C++

どちらの実現でも、OKです。
C++ってのは、VC++ですが。

知りたいのは、出来上がったExeの挙動をリリース/デバッグで切り替えることではなくて、
QtCreatorで動作するときだけはある処理をスルーしたい(逆もできればますます便利)です。

ある処理とは具体的には、throwで、exeのときにはQApplicationのオーバーライドでcatchして
エラーメッセージがちゃんと出せるのに、
QtCreatorで実行すると、throwでドカンとアセンブラステップ画面に移動して、アプリがEND。
0185デフォルトの名無しさん
垢版 |
2017/06/27(火) 10:39:15.47ID:9FJ950aK
>>184
Qtに限らず、C++上では
_DEBUG プリプロセッサシンボルの定義状態によって判定するのが基本。

qmakeではconfig関数を使う。デバッグビルドであることはわかるけど
リリースビルドであることはわからないので ! 演算子を併用するとかやや意味不明な運用になってるね。

例外の下りだけど、どうも184のコードがおかしいような気がする。
そもそもQtはQT_NO_EXCEPTIONSが定義されていると例外機構が存在しないものとして動作したりするし。
例えばQException以外が飛んで来ることが想定できてないんじゃね?
0186デフォルトの名無しさん
垢版 |
2017/06/27(火) 11:05:47.35ID:64w1N/XC
>>184-185
昔 java が流行った頃にその手の挙動であった一例として。もしかするとこういう書き方をしてるかもしれない。

java の throws のつもりで関数定義のところに throw(XException) を書いてあって
関数内で XException 以外の例外が発生するとそこでコアダンプするというのがあった。

java: XException を投げる可能性があるので上位で対処を要求する書き方
void test() throws XException {
}

C++: XException 以外は投げられず、std::unexpected() に制御が移る
void test() throw(XExpception) {
}
0187184
垢版 |
2017/06/27(火) 11:18:24.72ID:WuBzCuMJ
>>185

全然話が違っています。

デバッグコンパイルでも、リリースコンパイルでも、ただしくcatchできています。

ただ、QtCreatorで、throwのところで、デバッガーが止まるのが困ってるだけです。

前にも書いた通り、デバッグコンパイルのexe/リリースコンパイルのexe、を切り分けたいのでなく、

デバッガ―が止まらないように、でばっがーによる起動を判定したい、だけです。
0188デフォルトの名無しさん
垢版 |
2017/06/27(火) 11:23:13.30ID:9FJ950aK
>>187
184の文章ではcatchできているかできてないかの話に読めるし、
187の文章を見てもやはりcatchできなかったときのデバッガの挙動に見える。

自分の書いたコードとデバッガの挙動とが正しく把握できてないんじゃないかな。

実際のコードを単純化してgistとかに上げてみたらどうだい。
0189187
垢版 |
2017/06/27(火) 11:25:51.04ID:WuBzCuMJ
catchの話は無かったことにしてください。

起動がExeなのか、QtCreatorデバッガ―なのか、の判定がプログラム中で知りたいです。
0191デフォルトの名無しさん
垢版 |
2017/06/27(火) 14:01:59.58ID:WuBzCuMJ
>実行するとき環境変数設定して

QtCreatorのデバッグのオプションで設定できるのでしょうか。
0192デフォルトの名無しさん
垢版 |
2017/06/27(火) 15:19:46.03ID:uIJC4qRu
そろそろVisual Studio 2017に対応した?
0193デフォルトの名無しさん
垢版 |
2017/06/27(火) 21:44:59.72ID:KhuoEdOG
しかし、ここまで全角半角、大文字小文字、ひらがなカタカナ、
はたまた、ハイフンと長音記号が入り乱れてる文章はなかなかお目にかからないな

会話の前後も一致しないし、もしこれで日本人なら、
そもそものコードもちょっと心配
0195デフォルトの名無しさん
垢版 |
2017/06/29(木) 22:55:44.29ID:ArTJNFYC
>>191
実行の構成のところに環境変数設定がある。
ひだりの縦のバーのプロジェクト設定のところな。
0196デフォルトの名無しさん
垢版 |
2017/06/30(金) 04:33:23.66ID:I0PScEug
誰かShogiGUIのQt版を作ってくれへんか
LinuxとMacでまともな将棋検討アプリがなくて困っとるんや
0199デフォルトの名無しさん
垢版 |
2017/07/01(土) 10:44:01.75ID:lFxw+Ui+
最近お仕事で使い始めた
便利なTkだな
しかしフレームワークが膨大でオライリーの第1部読んでからはかいつまんで集めた情報でコード書いてる
0200デフォルトの名無しさん
垢版 |
2017/07/01(土) 10:48:42.47ID:ZWbv/QSj
Qtは情報がすぐに古くなるので、
・公式ヘルプ
・公式サンプル
・githubのQtプロジェクトまたはKDEのソースコード

に当たったほうがいいよ。
0201デフォルトの名無しさん
垢版 |
2017/07/01(土) 11:51:03.53ID:Cy4uCrIi
Qtの公式ドキュメントすごい読みやすいよな。
クラス説明のやつとか、概要一覧詳細一通り揃ってる。
0203デフォルトの名無しさん
垢版 |
2017/07/01(土) 16:04:01.01ID:ZWbv/QSj
コードの良し悪し以前にKDEのライブラリ環境が前提の実装になってるから
純粋なQtプログラムとしては使いものにならない。

だが全体がQtの文法で書かれてるから書き方や使い方の参考にはなる。
0204デフォルトの名無しさん
垢版 |
2017/07/01(土) 20:38:59.74ID:lLi0bV67
Visual Studio 2017でQtを使う方法教えて!
0208デフォルトの名無しさん
垢版 |
2017/07/04(火) 20:24:29.81ID:LHjKTsra
qtはちょっとc++やりたい時にいいね。
最近のvisualstudioデカすぎて、ダイアログボックス出すプログラム書くだけでも何十ギガバイトもダウンロード&1日かけてインストールせなあかん
0212209
垢版 |
2017/07/05(水) 12:40:59.25ID:2EpUYxaW
>>211
いや、コンパイラの問題じゃなくてqmakeによるビルドシステムの問題だから。

qmakeでプロジェクトを管理すると、ファイルをコピーしたりasmをアセンブルしたりするみたいな当たり前のことが
基本機能じゃ扱えなくなって自動化するのが大変になる。

GNU configureの自動実行もできないっぽいから実行時に自動生成されるソースファイルとかを
元のソースツリーの外にコピーして別途管理したり涙ぐましい努力でプロジェクトを維持している。
0213デフォルトの名無しさん
垢版 |
2017/07/05(水) 13:13:53.34ID:2EpUYxaW
qtcreatorからCMakeFile.txtを扱えたのか……。

手書きする部分はqmakeのままでいいけど、外部ライブラリをビルドしてるだけの部分は
cmakeで作ったほうが楽だったかもね。
0215デフォルトの名無しさん
垢版 |
2017/07/08(土) 18:16:25.10ID:cZ1rXSl8
qtでスキンメッシュアニメーションできないか定期的に調べるんだけど未だできなさそうかねぇ?
0217デフォルトの名無しさん
垢版 |
2017/07/08(土) 18:36:18.64ID:cZ1rXSl8
>>216
すまぬが見つからん
3dモデルが動いてるサンプルはいくつかあるけど、コード上で回転させたり伸縮させてるのしかないように見える。
3dモデルに内蔵されてるアニメーションデータを再生するってのがなくて、
それがないと人が歩く絵を表示できなくて困っとる
0219デフォルトの名無しさん
垢版 |
2017/07/08(土) 20:55:18.35ID:hq2BkHJS
>>217
スキンメッシュアニメーションってのが3Dなんて誰が言ったんだ?

QGraphicsViewは2Dのフレームワークだ。で、そのサンプルがあるぞと指摘しただけなんだが。
0220デフォルトの名無しさん
垢版 |
2017/07/08(土) 23:14:06.03ID:8yNBhf/k
お、おう
それじゃー3dモデルのアニメーションは
自分で書くか将来に期待するしかないねー
0222デフォルトの名無しさん
垢版 |
2017/07/11(火) 17:45:12.44ID:NSdcOZU/
割と最近めのqt creatorで
デバッグ開始するとデバッグ用のウィンドウが下の方とかに出てくるんだけど
デバッグ終了しても消せない
どこ押せば消える?ググってもぽちぽちしまくっても消えん!
0223デフォルトの名無しさん
垢版 |
2017/07/11(火) 18:56:56.29ID:Bmuxh1Qp
それはね、左側のボタンをデバッグから編集に切り替えると消えるよ。

見た目ボタンにしか見えないんだけど、以前ソース見たらこれはタブとして実装されている。
visualstudiocodeでもほぼ同じデザインになってるし、最近のはやりなのかもねえ。
0224デフォルトの名無しさん
垢版 |
2017/07/11(火) 21:06:44.95ID:aZj0SKJK
>>221
なんで?
メリットは?
0227デフォルトの名無しさん
垢版 |
2017/07/20(木) 22:08:09.95ID:am65me5o
俺のVSCodeは全然言うこと聞いてくれないのでQt使ってなくてもQtCreator使うしかない
0228デフォルトの名無しさん
垢版 |
2017/07/20(木) 23:24:02.41ID:IVrypgAG
QtCreatorはそんな細かいこと以前に
msvcと組み合わせたときのデバッガの絶望的な重さをなんとかしてほしいわ。
0231デフォルトの名無しさん
垢版 |
2017/07/22(土) 00:59:21.85ID:efCXTrlK
>>229
そんなものが必要だとか考えたことすらなかったわ。
画像ビューアだと当たり前だけど、IDEだとゴテゴテ物が付いてる方がいいという風潮すらあるわな。
0237デフォルトの名無しさん
垢版 |
2017/07/27(木) 21:22:11.75ID:bCxd+zrD
みんなQtで何作ってるの?
作りたいもの(特にGUIで)って次から次へと出てくる?
■ このスレッドは過去ログ倉庫に格納されています