【Win/Mac/Linux/Android/iOS】 Qt 総合スレ 19
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 総合スレ 18
http://mevius.5ch.net/test/read.cgi/tech/1488948543/ ちょっとお聞きしたいんですが
ウィンドウズの根本というか中核のプログラムはどういう言語で書かれているんでしょうか? ほとんどC++です
最近一部にRustを使用してみてるようです 5.12.11 からオフラインインストール出来なくなっていたけど、
Qt Account 作成後、オンラインのパソコンでインストールした後に作成される
ライセンス情報?をコピーしたらオフラインのパソコンにもインストールできたわ 中途半端にオープンソース版出すなら、
いっその事オープンソース版を完全に無くして欲しいわ
そうすれば諦められるw ラズパイでPyQt5がインストール出来れば俺は問題なしだが、それも出来なくなる? もしオープンソース版のためにコストアップしてるなら、
そんなのやめてその分ライセンス料下げた方がええんじゃね?
少なくともVSより高いようではなかなか買う人いないで formsの様なwidgetの貼り付けで、wfp見たいに高DPIに対応出来ますか? >>231
出来ますお!
ttps://doc.qt.io/qt-5/highdpi.html >>232
スゲーと言いたいが、日本語の解説が欲しい。 >>233
google翻訳が結構優秀なんで英語でも意外と大丈夫
この少しの手間が惜しいのであればQt使わない方がいいと思う
不具合や質問も英語の方が情報多いんで、日本語で見つからなかったら、
英単語で検索するとほぼ見つかるよ
尚、High DPI に対応するなら、main 関数内の QApplication a(argc, argv); より前に
QApplication::setAttribute(Qt::AA_EnableHighDpiScaling); を追加すればいいらしい
(この点は、WinForms よりいいよね)
int main(int argc, char *argv[])
{
QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QApplication a(argc, argv);
(省略)
return a.exec();
}
他にも High DPI に関する属性があるらしいので、やりたいことに合わせて追加してください
それは自分で調べてね〜 調べてみたら、WinFormsでも一応高DPI対応出来るのね... QTreeViewってワケわからんね。
頑張って作ったあと、同じ事をQTreeWidgetとQTreeWidgetItemで作ったらアットいう間にできた。
View系って意味あるの? そんなことよりQMLのTreeViewなんとかしてくれよめんどくさすぎる いずれ Qt5.15.3 LTS 以降もオープンソースになるんだっけ?
それともこのままフェードアウト? example にある http についてです
https://doc.qt.io/qt-5/qtnetwork-http-example.html
Windows 10 でそのまま動かすと QNetworkReply::UnknownNetworkError が返ってきて
ファイル取得ができないんですが, 何か必要な設定とかあるんですか?
ファイアウォールなどはなく, Linux 版だと問題なく動作しています
Version は 5.15.2 で配布されているインストーラでインストールしています Qt6.2出たで!
(しばらくは、Qt5.12使うけど・・・) QTreeViewはModelViewタイプとかいうやつだっけ。
QAbstractItemModelを継承したモデルクラスを作ってsetmodelして使うやつだよね。
何で自分でこんなに制御コード書かなきゃいけないんだって嫌になった気がする。 面倒なら、最初はQTreeWidgetを使えばいい
もし、パフォーマンス的に問題が出てきたときはQTreeWidgetを使え
もしくは、別のフレームワークに移行しろ
wxWidgetsだって(自作することを考えれば)そんなに悪くはないぞ
綴りがイギリス英語なので最初は違和感がありますがw すまん、同じこと書いてしまったわ・・・
もし、パフォーマンス的に問題が出てきたときはQTreeWidgetを使え
↓
もし、パフォーマンス的に問題が出てきたときはQTreeViewを使え >>246
スレ違いの連投すまん
wxWidgetsにはイギリス英語だけじゃなく
アメリカ英語の綴りも用意されているみたいや
(wxColourだったらwxColorとか) Webアプリ画面遷移遅いし、使いにくいイメージしかない >>253
QtのWebアプリの事なのか、全く関係ないWebアプリの事なのかどっちの話? >>257
252 に対するレスみたいだから、
多分、Qtに関係ないWebアプリの事なんじゃね? QtはC++より、pythonのが相性がいい。
これ秘密な。 pythonよりrubyの方が好きなんだけど、
rubyのGUIライブラリってQtも含めてほとんど消滅してね?
rubyの方が対応難しいのか、日本産だから日本人が頑張れってことなのか・・・ Ruby on Rails がほとんどだから、ウェブ開発
GUI はブラウザ。
HTML, CSS, JavaScript RubyのGUIframeworkが進化しなかったのは
Matzがtkで良いじゃんってゴリ押しして
周りがイエスマンばっかで反論出来なかったから あとイエスマンじゃないタイプの人はRubyを見限った >>256
慣れればそれなりに…
ぶっちゃけ、QtWidgetの方が、歴史も長くていい感じに枯れてて情報も多いし
C++の爆速感もあって好きだけど
Webみたいな、リキッドレイアウトとか
そういうのやりたいんなら
Qt内のブラウザ使うよりも、QMLの方が断然色々できます
だけど
よくQMLは、CSSみたいな言語って例えられるけど
実際は、QtWidgetみたいに、まんなCSS使える訳じゃなありません
やってみるなら、QtQuick2の情報漁った方がいい
QtQuick1とは、別物です
で
結局、QtWidgetと、QMLどっち使えばいいのって迷ってるなら
一般的に、QtWidgetは学習曲線がなだらかで、覚えやすい
QMLは、自由度が高い
って比較されていますね
Qt有史以来最大の、オープンソースのLinuxデスクトップのKDE Plasmaってプロジェクトでは、積極的にQMLに移行していく方針みたいで
デスクトップのプラグインは、plasmoidっていう
QMLベースの物になっています
なので、そっち系に首突っ込みたいんなら
QMLも必須となります Qt5.15LTSは商用のみになったのは分かったけど、
Qt5.12ってどうなったんやろ?
オフラインインストーラもソースもダウンロード出来るし、
Qtアカウントを持っていればインストールも出来るんだけど、
インストーラのメッセージ見るとまさか会社で使ってないよね?w
という胸のメッセージが出るんですが・・・
ライセンスが変わってしまってよく分からんわ
(一度Qtで作ったものは、Qt5.12が使える間はそのままにしようと
思っているのですが・・・) >>265
なんか、フリーのは、5.15.2で止まってて
LTSやりたきゃ続きは自分でヤレ
とか
そんなんじゃなかったっけ?
それでKDEが、パッチ出してた気がするけど…
Linuxで使ってる分には、何にも変わってないし
アカウントがどうとか、何の話だかサッパリです Qtはpimplを多用しててモッサリ感のイメージですが。 >>268
pimpl使ったこと無いけど
Linuxでは、GUIツールキットって、QtかGTKぐらいしかないし
KDE Plasamaのネイティブ言語なので、Qt使ってます
何との比較なんですか?
因みに、CLIのコマンドのnmap
と同じ結果が、ほしくてQtWidgetのGUIアプリにQtで
同じ様な結果得られるようなコード書いたことあるけど
実行時間は、ほとんど一緒でした Qtは日本語関係のバグが多いのも弱点。
表示だけならイケるんだけど。 MSYS2/MinGW みたいな、Linux 用のソースコードを、
Windows 用に、コンパイルしたものは、日本語が使えない
CP932/UTF-8 が異なるから >>267
いや、5.12系は今でもバイナリ(オフラインインストーラー)を
ダウンロードしてインストールすることが出来るんだけど、
インストーラーのメッセージを見た際に
もしかして会社で使用できないのかなぁと心配になったんや
それとも、ソースを自分でビルドすればええんやろか?
(5.15系から公式バイナリは提供しないから自分でビルドしろよボケ(失礼)と
公式アナウンスがあったので、ビルド自体は出来る様にしておきました!
しかし、せっかくビルドできるようになったのに
肝心の5.15系は最新のソースが提供されなくなりましたが・・・(涙目)) Qtは開発者自体そんないないのに何で新規参入の道を閉ざしちゃったのかね >>272
オフラインインストーラが使用出来てしまうのはバグの様なものだな
実際にはやってはいけないみたいだ
後で問題になるとマズいので素直にQt5.12.12をソースからビルドした方がいいかも Qt5.12.12をTDM-GCC 10.3.0でビルドしたら、
ヘッダが足りないみたいでビルド出来ず...
最新のMSYS2(gcc11.2)でビルドしたら、
std::numeric_limitsが定義されてないというエラーが大量に発生w
調べたら、gcc11からヘッダの構成が変わって、
std::numeric_limitsを使うには#include <limits>を追加しないといけないらしい・・・
追加するだけなら俺でも出来ないことは無いが、
調べるのに時間が掛かって面倒やなぁ
(ソフトがバージョンアップするたびに自分で検証しなければならない辺りが、
オープンソースの大変なところですね) >>275
おお、なんか懐かしい事やってるね。
昔はclibからカーネルまで全部自分でインストール&makeしてた。
ライブラリーが古いとか、バージョンが合ってないとか、大変だったな。
いまやyum install で全部OKだよww QtでAndroidとiOSのマルチプラットフォーム開発によって近代的でリッチなUIを備えたECアプリを作ろうとしてるんだが、もし致命的なやめるべき理由があったら教えて欲しい
一応Qt Creatorで2048というゲームを作ってみるところまではやった >>277
android studioでアプリを作り始めたが、android特有なライフサイクルを考慮しないといけないが、Qtはどう?
iOS用も要求されそうなんで悩んでる。
ちょっと特殊な事情でUSB接続(CDC)の機器を制御するアプリなんだか。 >>275
MSYS2 ならパッチ入りの Qt5 バイナリがインストール出来る
DLL の依存関係が多いのでデプロイは若干面倒だが、
時間かけて自前でビルドするよりはマシだ 会社で使ってるQtをバージョンアップしようとしたら
5.14は1GIGA位なのに5.15は50G,6.2.2は20Gとかインストールスペースが必要で鼻水でた
どっちにしようか評価するだけなのに… >>280
今時それくらい当たり前だから・・・(震え声)
VSも色々詰め込み過ぎてごちゃごちゃだし
もうwxWidgetsに移行するわ C++Builderが糞高くなければ使ってみたかったが・・・
clangに移行した様なのに何であんなに高くなったのか不思議や >>282
久々に名前を聞いたので価格を調べたら、ボーランドの頃とは違う価格帯に移ってた。
マルチプラットフォームに対応しているのかもしれないけど。 ボーランドとか懐かしすぎるわ。一瞬kylixが流行ると期待しかけたw ボーランド格好良かったのに変わった名前に変えたよね
TurboC++は世話になった TurboC++懐かしすぎるというか、未だにキーボードメインだとあのIDEが至高だなぁ
最近のIDEはマウスありきで参るわ qtcreator6.0.2にしたらfcitxで日本語入力できなくなってしもた
やっちまった 自己解決
qtcreatorがビルドされたバージョンのsdkを入れてそれを起点にfcitx-qt5をビルドしたら日本語入力できた
新規で入れた使わないsdkは即削除 Qtバージョン変わるとそれが面倒だよな。イマイチだけどibusに変えたわ それな
上の方法でもqt designer単体で立ち上げると日本語入力できないからラッパ挟んでibus使ってる >>291
QtWidgetでアニメーション駆使すればできなくは無いかもしれませんが
そういう感じなのはQMLでやるのが簡単ですかね
タイトルバーのスタイルはシステム依存なところがあるので、そこは無理かも知れませんが… Qt5.15.3がオープンソースになったのに全然話題にならんのな
一年遅延は嫌だからみんな別の開発ソフトに移行したか?
(そもそも日本で使っている人がどれ程いるのか分からないが・・・) >>293
それ、解禁じゃなくてKDEが作ったパッチだと思いますよ
5.15.2はそうでした
1年延期でQt6になるまでの措置だったはず >>294
あなた日本人じゃないあるよ!
>>295
元々LTSのオープンソース版は、1年遅れで出すって話無かったっけ?
だから次の5.15.4もリリースしてから1年後にオープンソースになると思ってたわ >>296
あ
よく調べたら、Qt5.15.3解禁だね
5.15.2で1年止められる間に
KDEが自前でパッチ当ててたけど
リベースしたそうです
このあとどうなんだろうね
もう、LTSの5.15.8まであるけどリリース時点から1年後だと
もうじき5.15.4も来るのかな? 否、origin/kde/5.15 と origin/5.15 は違うんだよ。
単純に言えば、kde/5.15 は、gcc-11 でそのままビルドできて、origin/5.15 はビルドできない
qtmod-everywhere-opensource-src.tar.xz は後者
パッチあてなきゃgcc-11でビルドできないだろ gcc-11でパッチが必要っていっても、大半は、
#include <limits>
で通る程度のものだけどな。 5.15.2 で使いたい人は、BLFSが提供しているkdeチーム由来の5.15.2用のパッチを使うといい。
5.15.3 で使いたい人は、kde/5.15 が提供しているソースをgit するのが楽。 デカいけどね >>301
だって、KDE Plasma6にならないと
Qt6採用されません
例のオプソは1年延期ってので
ことしの春ぐらいには、Plasma6になるかもって言われてたけど、なんか延びそうな雰囲気だし WindowsでQt使ってる物好き居ないのね・・・ WindowsでQtってまるでメリット無いし・・・・
Linuxとかなら、良い統合開発環境が今までなかったけど
flutterとかぼちぼち出てきたしなぁ
何気にc#のアプリも動くし Qtの現状に嘆いているが、どうしてもWindowsでC++が使いたい方は、
Code::Blocks+wxWidgetsの世界へどうそ・・・
少なくともMFCよりは全然マシ >>306
30年も前からあって今でも使われてるMFCでええやん Windowsでも普通にQt製たくさんあると思うが
ttps://qiita.com/hermit4/items/5156203201694966c9e4 Qt製はいいがUIに一貫性がなくて
たまに酷い操作性のアプリがあってな リストアップ出来てしまうくらいQtのアプリがレアって事じゃないのか
VC++やC#のアプリなんかそれこそ星の数ほどあるだろ createObjectでウインドウ作って順番に開いていくと、30個くらいでフリーズするんだけど、なにこれ
大量にウインドウつくんなよってこと? >>313
使わないウインドウは閉じる
けど30程度なら耐えたよ >>314
一つ開くごとに閉じた場合もフリーズしない?
30個目が表示された時点でアウトになる気がする Qt5/Qt6入門 C++編 (技術の泉シリーズ)
というのがamazonにあったけど、おまいら本書いてたのか。
Qt6 に興味があるわ。 Qt designerでカスタムウィジェット作るとき、格上げでベースクラスをqt組込みのクラスでなく、自作したカスタムウィジェット(サブクラス)にできないのでしょうか。
Qt 15.2使ってます。 >>317
格上げされたクラス名にサブクラス名を入れて追加してから格上げ。 qtの書籍って表紙がエモいからどうしても買う気になれん
基本的に表紙に人間の写真なりイラストがある書籍で有名なものは極めて少ない。 QHoge hoge;
とすべきなのか
QHoge* hoge = new QHoge();
とすべてきなのか
どういう基準で決めるの? Qtについて言えばほぼ後者一択
C++の常識で言うとちょっと時代遅れなのでQtはもう忘れても良いと思う >>321
QObjectを継承していたら後者、していなかったら前者。 マジlinuxとかのプログラミングってwinやmac系のエリートプログラマがやると大体失敗するんだよね
逆にHSP3とかツクールとか、あるいはアドベンチャーゲームを作るツール使うような
コピペばかりしてる低能クリエーターだと相性が良い
linux関係は普通にコピペして改造するのがデフォでHSP3の文化と一緒
逆にwinやmac系プログラマと言うのは、サンプルを見ながら独自に考えなきゃいけないんだけど
そのクセがついてると、逆に他人に合わせないといけないlinuxなんかが苦痛になるね