【Win/Mac/Linux/Android/iOS】 Qt 総合スレ 18©2ch.net

レス数が950を超えています。1000を超えると書き込みができなくなります。
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/
881デフォルトの名無しさん
垢版 |
2019/02/07(木) 23:04:45.61ID:kMcPDm99
高い金だして、文系の書いたような本ばっか買って、アホミタイ
2019/02/07(木) 23:18:15.11ID:La3SghMw
(ノ∀`)
2019/02/08(金) 00:26:42.57ID:sGhEjK7R
Qtの関数は、時々ヤバい不具合の起爆剤になってるから
便利だからと言って過信できない点が怖い
2019/02/08(金) 02:03:58.33ID:HWCd3Z2L
Qtつまらないよ
Linuxだと他にまともな選択肢がない
2019/02/08(金) 02:10:41.94ID:oLGsLDxJ
GUIツールキットはつまらなくていい。
変な動作をされるよりは。
2019/02/08(金) 05:55:06.00ID:sGhEjK7R
変な動作するんだが
2019/02/08(金) 15:21:43.78ID:S9dJ2e6J
気にいらないなら使わなければいいだけ
888デフォルトの名無しさん
垢版 |
2019/02/10(日) 15:01:36.81ID:25jgEgQt
>>879
ライセンスで失敗してるんじゃね
889デフォルトの名無しさん
垢版 |
2019/02/10(日) 15:03:11.29ID:PXpe84p+
>>884
Tcl/Tkが良い
890デフォルトの名無しさん
垢版 |
2019/02/10(日) 15:55:21.76ID:SRMErWfG
QML使いだしたけどちょっとしたオブジェクトの生成も別ファイル用意するか文字列の引数でコード渡すのか
もっとサクッとできないものか
891デフォルトの名無しさん
垢版 |
2019/02/14(木) 21:16:01.29ID:QKLtUgZm
>>869
golang勉強しようかと思ってたがもしかしてC++で事足りるのかな?
892デフォルトの名無しさん
垢版 |
2019/02/14(木) 23:24:29.59ID:QKLtUgZm
wtとtreefrogのどちらがよいでしょうか?
LAN内のPCからのみ動画を閲覧できるwebサービスを作る予定です
893デフォルトの名無しさん
垢版 |
2019/02/14(木) 23:35:59.46ID:QKLtUgZm
すみませんスレチでしたm(_ _)m
2019/02/21(木) 04:33:41.70ID:zicwhEg7
QMLを使ってiOSで動かしてるんだけどスクロールがガクガク何だがどうしてだろう
QMLの描画エンジンのフレームレートを制御する方法ってあるかな?
2019/02/21(木) 20:29:39.17ID:YPC5jZnY
元々QMLはJavaScriptで動くのが基本なので遅い。
さらにiOSはJavaScriptのJITが無効なのでなおさら遅い。

解決策としてはQMLをネイティブコンパイルする。
2019/02/21(木) 20:34:38.95ID:Sfz+CmCK
QMLの遅さの原因はそこだけじゃない
構造そのものがおかしい
2019/02/22(金) 12:45:10.57ID:15zpzt8/
>>895
結構マシになった気がする
ありがとう
2019/02/24(日) 23:16:43.10ID:ByHcjdzc
Qtでまともなモバイルアプリ作れるんですか?
2019/02/27(水) 02:14:27.42ID:0r2b2HNe
まともな定義とはなんぞ

モバイルアプリって範疇なら組込みLinux / Windows も含まれるよな
まぁLinuxデスクトップ相当のUIならそのままAndroid/iOSでもほぼそのままで動くけども
2019/03/01(金) 06:34:12.81ID:GNgQO/tr
>>898
作れるけどそれぞれネイティブで作った方が早いんじゃないの?って気になってくる
2019/03/01(金) 07:11:45.48ID:jPYDYnLj
速度の話をすればQt使わない方がもちろん速いけどね
2019/03/04(月) 22:57:45.79ID:UTGGjuWp
iOSはともかくとして、鈍重なAndroid SDKをバイパスして
Skiaに直結できるQt 製アプリのほうが高速な可能性まであるぞ。
まあライセンスの問題はどうにもならないけどね。
903デフォルトの名無しさん
垢版 |
2019/03/12(火) 00:17:44.73ID:Nd0ou12Q
Qtのスマポってvoid使えないんだな
全部Qtで統一してきたのにそこだけstd:shared_ptrになって不格好
2019/03/12(火) 02:00:10.90ID:1N85VzVs
void ポインタ使うのが不格好なのでは?
あまりにも型変換が自由すぎる
2019/03/12(火) 08:29:05.27ID:eYCgHs6G
そもそもQtほど型・インターフェイス継承きっちりやってるライブラリもないのに、
型無視してスマートポインタを使ったら片手落ちだろ。
自動破棄できなくないか。
2019/03/12(火) 20:17:20.09ID:gzBDHatk
>>873
QAbstractListModelを使えばデータが変わればGridViewに自動的に描画される。
QAbstractListModelを継承したクラスの実装が間違っていてデータ変更をシグナルで通知していないからだ。
2019/03/12(火) 23:58:30.26ID:JYeB/L8b
c++20でc++11並に機能が強化されるし最早gui部分以外にqt使いたくないよ
2019/03/13(水) 17:17:38.17ID:7Xh0nP48
で?
したけりゃやればいいじゃん
2019/03/13(水) 17:50:22.22ID:qngmpKgk
Qt7ではRustに置き換えよう
2019/03/14(木) 01:46:48.01ID:6FBOB6f5
みんなエラー処理はシグナル?普通にthrow?
2019/03/14(木) 09:06:12.26ID:YZJITot7
戻り値
2019/03/14(木) 22:21:44.49ID:UwzYnpI/
>>911
C++使う意味がなくなるやん
2019/03/14(木) 22:34:19.29ID:+Fyha7xG
c++の例外だけ使ってんの?
914デフォルトの名無しさん
垢版 |
2019/03/15(金) 12:49:20.88ID:SEjqglYP
プログラム内で呼んだ関数の戻り値一切テストしないプログラムとか書く方が難しそう
2019/03/15(金) 19:30:09.21ID:ENH0L+xY
例外の難点は想定しうるエラーを把握しにくい点だな。
2019/03/15(金) 23:51:07.63ID:KYbssRTL
いちいち戻り値を検証するより例外を投げた方がパフォーマンスは良い
バイナリサイズやメモリ容量の制限が厳しい環境でなければバンバン投げるべき
2019/03/16(土) 05:28:40.80ID:gdRuY9CZ
Qt自体がほぼ例外使ってなくね?
2019/03/16(土) 07:51:26.33ID:a7q0sa6w
使ってないね
使ってたら死ぬほど使いにくいものになってただろうな
2019/03/16(土) 09:26:51.85ID:bmIgbceR
Qtは古いコンパイラや組み込み向け環境にも対応しているから
Q_COMPILER_NOEXCEPT オプションがある。

このフラグは手で設定するものではなく通常Qtのビルド時に
コンパイラのバージョンから自動認識されるものだが手で設定することもできる。
2019/03/21(木) 04:40:43.37ID:xn/FK9ea
動画を表示するにはQImageをタイミングよく切り替えるといったものが紹介されているのをよく見ます
私が勝手に動画を表示するにはOpenGLと思い込んでいたのですがQImageでもパフォーマンスに問題は無いのですか?
2019/03/21(木) 05:35:55.93ID:xRWtqUd6
デコードのタイミングでGPUを使う手段があるのであって、
そのデコード結果の画像を表示する際に、QImage を使ってるのでは

OpenGLで画像を貼り付けることも可能だろうけど、
そのためだけにそれを使うメリットは門外漢なので思い浮かばない
922デフォルトの名無しさん
垢版 |
2019/03/21(木) 11:01:03.98ID:/Eg7TqPx
パフォーマンスに問題ありありやろね
知らんけど
2019/03/21(木) 13:32:36.68ID:xRWtqUd6
もはや難癖ありきのただの妄想やん
2019/03/22(金) 10:51:52.70ID:1BAJ2JA6
インストールの話なんですが、PythonからQtを使う場合と、C++から使う場合では
インストールするQtは、Python版、C++版をインストールする必要がありますか?
2019/03/22(金) 15:04:34.94ID:66wigC5Y
まずOSは何かくらい書けよ
2019/03/22(金) 19:16:57.71ID:1BAJ2JA6
え?
OSによっては一度のインストールで済んだり、別々にインストールする必要があったりするんですか?
2019/03/22(金) 19:38:04.86ID:aR5BWqBu
不親切な対応と思って質問返ししてるのだろうけど、実際必要な情報なんだよ
2019/03/22(金) 19:42:20.47ID:aR5BWqBu
ついでに言うと目的によっても分岐するけどな
2019/03/23(土) 10:07:01.39ID:va4Y1BSG
つか試したら終わりだろ
2019/03/23(土) 11:27:46.41ID:T5eFVdJU
チュートリアルに書いてあるよね
2019/03/27(水) 20:18:44.60ID:TZ5DZnzf
超久しぶりにインストールしたら、qt 3d studioなるものがインストール欄にあったけど、なんなのこれ?
ソフト開発したら、どういう風に使えるものなの?
2019/03/30(土) 21:02:29.68ID:VC6Jp+wI
>>931
https://blog.qt.io/jp/2018/04/11/qt-3d-studio-1-1-released/
2019/03/30(土) 23:21:44.74ID:lBHie1JT
>>932
サークルKサンクス
2019/04/03(水) 07:11:31.70ID:2qh3Q8C1
質問させていただきます。

ソースコードは長いので、内容を説明させていただきます。

std::threadを使って、重い計算処理を分割して実行し、最後に結果をまとめるということをしています。
通常、実行には6秒くらいかかるのですが、各スレッドから呼ばれるfuncという関数内で
qDebug()を入れて適当な文字を出力すると、0.7秒で完了します。
スレッド数はどちらも8でかわりありませんし、そのほかのソースコードは何一つ変えていません。

qDebugを入れることで何かコンパイルの条件等が変わるのでしょうか。

Qt5.11です。
2019/04/03(水) 08:28:48.33ID:uMCSkeMb
Qtはオブジェクトの寿命を独自で管理してるから、std::thread
じゃなくてQt::concurrentを使ってくれないか。
2019/04/03(水) 09:57:39.88ID:eWBCR9i4
なんでそんな「ホモ以外は帰ってくれないか」みたいな言い回しなんだ・・
937デフォルトの名無しさん
垢版 |
2019/04/03(水) 10:52:43.26ID:5oFsk66Q
qDebugは変なコード(localeと合わないエンコードとか)送出すると
コンソール上で異常発生してプログラム終了するときがあるから
デバッグしようとしてそれが原因で目的よりも前のところで落ちる
全然デバッグにならないよω
2019/04/20(土) 17:45:17.34ID:XXLGxQxX
ツールバーをカスタマイズするダイアログってどっかに転がってない?
2019/04/25(木) 22:28:23.85ID:ZA2dpYoQ
ラムダ式にconnectするのってラムダ式のスコープ外れたらラムダ式ごとコネクションも消えるのかと思ったら残るんだな
非同期難しいわ
2019/04/26(金) 05:32:10.19ID:sh/j0Qf8
何でもQObject継承させて親子関係の連鎖で管理するのとスマートポインタ使うのだとどっちが効率いいんだろう?
とりあえずシグナルを使うクラスだけQObject派生にしてるんだけど
941デフォルトの名無しさん
垢版 |
2019/04/26(金) 11:34:11.48ID:kZIsyn4l
QtならQObjectが自然
2019/04/29(月) 04:56:02.78ID:DJyVvwRY
Qt Solutionsって公式?
2019/04/29(月) 05:08:26.85ID:DJyVvwRY
すまんどう見ても公式だった
2019/05/12(日) 18:20:48.21ID:e7Jg/ed7
アプリの中でキリル文字(ロシア語)が全角文字で表示されてしまう問題があるんだけど、
どうやったら回避できるか知ってる人居ない?
2019/05/13(月) 00:18:41.24ID:mNKajytY
>>944
日本語フォントを使ってるんじゃない? キリル文字を表示できる欧文フォントに変更すれば解決できるはず
2019/05/13(月) 23:54:53.29ID:vkCWcdvh
>>945
自動生成される ui_**.h を見る限り、フォントが指定されているように見えない。
海外版のWindowsだと問題ないのかなあ?
2019/05/14(火) 00:30:37.89ID:V53C+UsC
甘えん坊かよ
指定してなかったら指定しろよ
2019/05/15(水) 13:45:49.22ID:7uSfEVTu
プログラムは、書いた通りにしか動かない
2019/06/11(火) 15:23:11.05ID:3zeavw7F
VB6 から Qt に移行したら、ビルドの遅さに四苦八苦・・・
でも、ccache を導入したら、かなり快適になったで〜
950デフォルトの名無しさん
垢版 |
2019/06/19(水) 04:51:33.78ID:tVNS+22r
【出資】松本卓朗 人工知能詐欺【注意】
https://rio2016.5ch.net/test/read.cgi/rikei/1560859403/
2019/06/29(土) 14:54:34.91ID:TBOm/90P
【IT】青梅市のHP開発委託で驚きの記述「CMSにオープンソース(PHP・js・CSS・Linuxなど)を使用するな」「機能追加を無料で行え」
https://asahi.5ch.net/test/read.cgi/newsplus/1561784504/

青梅市ホームページシステム再構築業務委託仕様書のCMSの項目に目を疑う記述。
「なお、オープンソースの使用は認めない」
https://www.city.ome.tokyo.jp/keiyaku/documents/homepageshiyousyo.pdf
2019/06/29(土) 18:54:49.43ID:A16vGRDv
基地害だな
953デフォルトの名無しさん
垢版 |
2019/06/29(土) 20:32:06.90ID:pKSuF8ky
あるページを見ていて

/// アイコン ダブルクリック時のメッセージ表示動作シグナル/スロット接続
connect(this, &QSystemTrayIcon::activated,
[this](QSystemTrayIcon::ActivationReason reason){
if (reason == QSystemTrayIcon::DoubleClick) {
Message();
}
}
);
という部分があります。で、connectの3番めと4番目の引数の所の[this]以降が自分が理解できません。

https://qiita.com/sazus/items/88daf4949cac06529f88 
↑のページです。

どの様なキーワードでググれば答えが見つかるでしょうか?キーワードさえ教えていただければ
後は自分でググッて調べますので。

よろしくお願いします。
954デフォルトの名無しさん
垢版 |
2019/06/29(土) 20:35:10.00ID:pKSuF8ky
QSystemTrayIconがアクティブになった理由がダブルクリックされたというからということはもちろん分かります。

[this]の部分とその後のJavaの内部クラスみたいな書き方の名称がわかりません。
955デフォルトの名無しさん
垢版 |
2019/06/29(土) 20:45:52.67ID:pKSuF8ky
ああ、ラムダ式っていうやつですね。
https://cpprefjp.github.io/lang/cpp11/lambda_expressions.html
↑この辺読んだらなんとなく分かりました。

どうもありがとうございました。
2019/06/29(土) 20:46:39.70ID:qWgsI5BV
[this](〜){
:
}
はthisが示すオブジェクトにアクセス可能なラムダ式を引数にしてるってことだと思う

C++ ラムダ式

とかで検索すれば出てくると思う
Qt特有の何かってわけではない
2019/06/29(土) 20:46:40.48ID:e59n1qg5
それはラムダ式だよ。
要するに他の言語でも存在する無名関数を定義してるだけ。

Qt4だと名前ベースのconnectしかできなかったけど、
Qt5からはラムダ式含む識別子ベースのconnectができるようになった。
2019/07/02(火) 19:25:42.73ID:85iZu+nz
この拡張のおかげで以前は滅多に使わなかったラムダ式を多用するようになったわ
2019/07/03(水) 00:32:18.78ID:3jlemjsX
ラムダ式とアミダくじてなんか語感が似てるよね
960デフォルトの名無しさん
垢版 |
2019/07/03(水) 13:45:30.35ID:aJKbsp3m
阿弥陀式
ラムダ籤
ニダ
https://news.nifty.com/article/domestic/government/12274-325931/
https://www.sankei.com/politics/news/190701/plt1907010046-n1.html
https://www.sankei.com/world/news/190702/wor1907020038-n1.html
2019/07/03(水) 14:00:08.84ID:voQZhSu7
FM-R50Λ(ラムダ)が何だって?
2019/07/05(金) 23:20:00.77ID:CMjHFhFZ
FakeVimってカーソルを行末+1文字まで持っていったり(set virtualedit=onemore)、
行末で右に移動したら次の行の先頭に移動するような設定ってできない?
963953
垢版 |
2019/07/06(土) 12:34:22.02ID:3OTkA0kC
>>956
なんとなくわかります。どうもありがとうございました。

>>957
Qt5からはラムダ式を含む式をconnectに含める事ができるようになったのですね。
どうもありがとうございます。ラムダ式って要するに無名関数なのですね。ありがとうございます。

お二人、遅くなりましたが、ご回答どうもありがとうございました。
2019/07/06(土) 12:36:23.12ID:3OTkA0kC
>>959
宝くじもにてるよ。俺は4と9の数と関連があるのが、来るような気がしてますが、
サマージャンボは番号選べないからね。。。
965デフォルトの名無しさん
垢版 |
2019/07/22(月) 22:05:44.86ID:7xUkpG3R
ボタン(ウィジェット)からマウスカーソルが離れた時を検知するにはどうすればいいですか?
QHoverEventあたりではないかと考えています。
2019/07/22(月) 22:18:27.99ID:f+UPoxvX
ドキュメントに書いてある
2019/07/23(火) 08:44:28.81ID:Qx+9Tq7x
Windowsのと比べて使い勝手悪いけど、特定のウィジェットのイベント発生をログに書き出すことができるよ。
2019/07/23(火) 11:07:00.05ID:039xERU1
enterEvent、leaveEventだと思うけど、
見た目を変える程度ならスタイルシートでやるのが簡単だよ
969デフォルトの名無しさん
垢版 |
2019/08/17(土) 20:37:23.57ID:BSBxziDC
Qt って GTK の仮想端末ウィジェット Vte に相当するウィジェットってあるのですか?
2019/08/20(火) 00:48:24.10ID:FDySwo8O
Vteがどこまで機能を提供してるか知らんが

シリアル通信用のQTerminalというのがあるが、
それをQText*系の汎用的なテキスト表示用Widgetに張り付ける

gnome-editor みたいな自身のファイルシステムを操作するような widget を求めてるなら、
コマンド入力を編集として受け付けて、enter 入力イベント拾ったら、そのままコマンドとして実行、
その結果のテキストを張り付けるだけ

チュートリアルでありそうなレベル
(公式はなかったと思うけど、lxqt の標準端末の qterminal ならある)
971969
垢版 |
2019/08/20(火) 02:20:00.71ID:07UggFrT
なるほど、QTerminal ですか。近そうな感じです。

私が GTK で実現しているのは、小さな仮想端末の窓を含んだアプリです。
アプリは単なる計算プログラムのフロントエンドで、引数を付けてプログラムを Vte に投げます。
すると、計算プログラムが逐次に標準出力に出す経過が、リアルタイムで窓に表示される。
リアルタイムでなければ、終わってからで良いなら、 TextView ウィジェットでも可能です。
でも、計算によっては数分かかるケースもあるので、進行状況が分かるリアルタイムにしたいのです。
そうなると、 Vte しかないと思うのです。

こんなのが Qt でも実現できるのか、が知りたかった。もしできるなら書き変えたいと思ってます。
普段はUNIX系で GTK で問題ないのですが、Windows に持って行けなくて困まります。
Qt ならそのあたりにアドバンテージがあるかなぁと。
2019/08/20(火) 23:37:41.46ID:FDySwo8O
前者の qterminal は QSerial だった

つか、単純にその機能の実現であればただの pipe だし
ツールキット使わなくてもできる(使ってもできる)
2019/08/24(土) 05:17:39.52ID:EauiKV7B
Qt for MCUs Qt Announces support for Microcontrollers
https://www.cnx-software.com/2019/08/22/qt-for-mcus-qt-announces-support-for-microcontrollers/
2019/09/18(水) 00:09:03.62ID:eN/Bl3PI
自分専用の動画プレイヤーが欲しくてQMediaPlayer使って作ってみた
Windows上では普通に動画ファイルを再生できるプレイヤーができたんだけど
何も考えずAndroidに持って行ったら同じ動画ファイルを再生できない
というか再生時間は取得できているようでQMediaPlayerに連動させたQSliderは動くんだが、画面が表示されない

まあWindowsでもコーデックをインストールしていない場合によくある動きだが
そこまで簡単に何でもできると思うのは虫が良かったという話であった
2019/09/18(水) 07:26:42.99ID:zeoR88ND
windows以外はとにかくお膳立ての連続だからね
2019/09/19(木) 12:39:45.34ID:xiJtWL49
QMediaPlayer自体はデコードしてないから
2019/10/05(土) 16:10:55.00ID:gndCosWW
最近これ知ったんだけど結局windowsとMacとLinuxで動くアプリ作りたいならこれ使っとけばいいの?
.netCoreってのとはどう違うの?
2019/10/06(日) 01:20:40.76ID:FSfUwVLo
> これ使っとけばいいの?
そうだよ

> .netCoreってのとはどう違うの?
なんの関係もねえよ
979デフォルトの名無しさん
垢版 |
2019/10/06(日) 03:21:29.25ID:GIjrRGTb
>>977
ネイティブバイナリとバイトコードって違いはあるな
2019/10/07(月) 11:05:31.48ID:iYx3RxDo
.NETはWindows以外だとまたもなGUIなくね?
まあQtだってスマフォOS周りは発展途上だと思うけど
レス数が950を超えています。1000を超えると書き込みができなくなります。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況