【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/ ワイはただ誰かQt for android!ってボケて欲しかっただけなんや(すまんな) そんなことよりQt for MCUについて語ろうぜ 現状出来ることは殆どないが、新しいQtQuickのグラフィック実装に期待してる
レンダリング機能の改善・改良はこれからどんどんされていくだろうから今のうちに既存技術を学んで応用方法を考えておくわ 基本的な質問で悪いんだけど、
QGraphicsViewとどんな感じで違うのかな?
QGraphicsViewはまあ高速なんだけど扱いづらくてね。 >>47
自分でビルドすればアカウント不要
特に問題はない VS のフリー版(Express)が出たから移行しようかな〜
(現在:Express版はもう出しません!)
Qt のオープンソース版が安定してきたから移行しようかな〜
(現在:オフラインインストーラーとLTSは商用のみよ♪)
あう・・・
そりゃ分かるけどさ・・・分かるんだけど 泣き言言っても仕方ないか・・・
ソースを無償で提供してくれるだけでも有難いんだから、
自分でビルドしてみるわ
(パソコン遅いから何日掛かるか分らんがw) そいうえば、MSYS2 でも提供していたか
前に試したときは、オフィシャル版より依存関係が複雑だった気もするが、
MSYS2 で Qt ビルドするなら結局同じだろうし・・・ 個人で作る規模のアプリならNSISで何も困らないし。
スマフォOSならインストーラーという概念すらない。
ちなみに俺はLinuxもMacもインストーラーレスで実行できるパッケージを自動生成するようにQMakeを組んでいる。 インストーラがまだ更新されてないな
サインインをスキップできる
変更はいつ実装されるんだろう >>53
macならmacdeployqtつかえばいいじゃん >>55
当然、それを使って作るわけだが?
ちなみにノウハウらしいノウハウが全然公開されてないから大変だぞ。 WSLでディストリ配布のQt使えば Windows でも実行できる
なお配布
Raspberry Pi を含む Linux ネイティブだとフルビルドしてるし
その他向けであっても登録の煩わしさはあるが、Qt を手放すほどの事象ではないしな フルビルドは時間が掛かるから、qtbase 以外のサブモジュールを
全部向こうにしてビルドし、必要そうなの追加したり
エラーがでるもの省いてビルド出来たわ
正常に動くか不安だが・・・
qtcreator もビルドしてみたけど、qxwidget とかがパレットに表示されない
別途インストールする必要あるのかな? 何か今度うちの会社でQtでアプリを実装することになったんだけど
使い慣れたVisualStudioでコーディングしようと思ってるのですけど
その場合でもLinux用のバイナリは吐き出せるんですか? VisualStudioでコーディングしようとメモ帳でコーディングしようとLinuxバイナリが吐けるツールチェインでビルドすれば問題ない ツールチェインってLinuxの開発では良く聞くけどなーに? VisualStudioに慣れてるならC#で良いやん
Monoとかあるんだし 会社がもう決めちゃった
LinuxとWindowsで同じアプリ作って、最終的にはスマホからも操作したいんだと
そんなの必要な業務じゃないんだけど
なんか「nVidiaもこの環境で開発できる」って息巻いてた
いやぁ・・・・
俺は仕様策定で逃げられることが決まったから
外注に「あとはよろしく」って言ってさよならかな 歳がいくつかは知らんが、
若い内から自分で選択肢狭めるような生き方してると
その内選ぶ道がなくなって詰むぞ いい話ではあるけど結局のところ先行き怪しいのは変わらんのやね More Open-Source Participants Are Backing A Possible Fork Of Qt
https://www.phoronix.com/scan.php?page=news_item&px=More-Interest-Possible-Qt-Fork よく知らんけど、オープンソースコミュニティと仲が悪くなったの? そういやQt4からforkしたMOCを使わないライブラリはどうなった? >>75
CopperSpice ?
Verdigris ? >>74
金払わんやつは12ヶ月遅れでリリースな、で揉めてる。 >>78
そんなことしてなんの意味があるんだろう。Qtの新機能や修正が実質遅れるだけじゃん。
OSS版のユーザーの知識が一年遅れるからプルリクエストを送っても古すぎて役に立たなくなる。 組込みで使ってるところも口を揃えてQtはライセンス料が高いって言ってるんだけど
The Qt Companyはがめついのか商売が下手なのか なんだかんだ言って組み込みで使える真っ当なGUIフレームワークはQtしかないから、ライセンス料を下げれば一気に普及すると思うんだけどねぇ。商売がヘタ ソースからコンパイルすれば問題ねぇと思てたら、
パソコン遅くて時間がかかるw
バイナリ配布ってありがたかったんやなぁ >>82
組込のGUIなんてQtが格安なくらい他がクソ高かったものだが
そもそもニッチな商売だから他が死滅してヨソから見たら高いと感じるのかもしれんが Windows 10, WSL, Ubuntu 18.04 で、
Linux側には、日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、
ruby 2.6.6, node 12.16.2 を入れたけど、
CPU-i3 で、省エネモードでコンパイルしたから、
rubyのコンパイルに、20分ほど掛かった!
i7 で、並列コンパイルすれば、数分で出来るかも >>82
普及させても会社がつぶれては元も子もない。 QtがGTK、wxWidget、FLTKと比べて対応範囲が広くて人気も高いのは
対価を得ることによるフルタイムで働ける優秀なプログラマを確保できている
経済的サイクルのおかげであり、安くしてそのサイクルが壊れれば
商品の水源が破壊され、商品の品質が下がり、何もかも破綻する。 組み込みは従来のようにボタンとスイッチやつまみをたくさん付けて液晶には簡単な表示だけしとけばでおk Qt(組み込みlinux)で使ってるが、はまってる。 qtcreator 自体をビルドしたら、ヘルプが見えない状態だった
ヘルプを見えるようにするにはどうしたらええんや? >>91
自己解決したわ
libxml2-2.dll を qtcreator の bin フォルダにぶっこんだら
無事にヘルプが表示されたで shotcutという動画編集ソフトを使用しているのですが、qt_scale_factorは整数しか使えないのでしょうか?
1.3というような数値だと2として扱われるように見えます >>92
安心して今までヘルプを確認していなかったが、昨日確認したら
オフラインインストールした5.12.6のヘルプが表示されてることに気が付いた・・・
(説明していなかったけど、qtcreatorだけじゃなくqt5.12.8もビルドしてたんや)
一応調べたら別途make docsを実行することでヘルプを
ビルド出来ることが分かったけど、docsって自動でビルドされないのか?
それともconfigure時に何か指定しなければならなかったのやろか? Qt6ってどういう方向に進歩するんだろうか。decraretive widgetsとかやるの? ReactのようなModelからの自動更新機能をJavaScriptに頼らず実現してほしいね。 Qt6のバイナリーパッケージの配布が始まったがどんな印象? いまさらなんだが・・QTって何て読むんだ?
キュウティー? Qt5.15にしたらQJsonObjectでkey名に一部を除く2バイト文字を含んだkeyの処理に失敗するようになった
for (QString key : jsonObj.keys())からjsonObj.contains(key)で失敗するってなんだよ
書き込みでも存在しないと認識されるせいで同じ名前のkeyが作られるし
toVariantHashで変換すれば読み書きできるけど既にファイルは壊れちまったよ JSONのキー名に日本語を使うとか頭おかしいとしか。 前までは問題なかったしファイル名をキー名にすると楽だったんだもの・・・ 漏れなら万一を考えて
ファイル名をバイト列でエンコードしてからキーにする
仮に一バイト文字のファイルであっても
"aaa.txt" というファイルだとしたら
キーのバイト列は "\61\61\61\2e\74\78\74" を与える すまん最後可笑しかった
キーのバイト列は "6161612e747874" を与える >>107
そうやってエンコードしとけばよかったのか
一応ファイル名のままならjson自体を開いても構成がわかりやすいってのもあったんだけど壊れるよりましだね
今度から気をつけるわthx いや、日本語をキーにしても仕様上問題ないだろ
実装がバグってるだけだろ UTF-8 じゃなくて、CP932 を使っているのかも? win版Qtcreatorのアプリケーション出力枠もutf-8にしてほしい Qt4は扱う文字列を Shift-JIS(CP932) にすることが可能だったのでプログラム先頭で宣言すれば
(Linuxであっても)Shift-JISで統一することができたがQt5はUTF-8決め打ちになった
Windowsで(正確に言うとVisual Studio の toolchain)でUTF-8を扱うには2つの問題がある
1) ソースファイルがShift-JISだと勝手に解釈される
これを解決するには、ソースファイルにUTF-8のBOM(0xEF 0xBB 0xBF)を付ける
他の環境でも(よほど古くなければ)BOMは正しく解釈されるので問題無い
2) 文字列リテラルが勝手にShift-JISに変換される
BOM付きのUTF-8ソースファイルをコンパイルしても、過去の互換性からかShift-JISに変換してから
プログラム中に書き込まれる
これを回避するには、プログラム先頭で以下のpragma を宣言する
#if defined(Q_OS_WIN32)
#pragma execution_character_set("utf-8")
#endif /source-charset:utf-8 /execution-charset:utf-8 QMLのSplitViewってハンドル上にカーソル持ってってもカーソルの形が変わらないのって普通? 5.15のMSVC2019環境ではカーソル変わるよ Qt6ってオープンソース版の提供は商用版から1年遅れるって話あったけど、
結局どうなったんやろ? マルチスレッドで、QThreadの管理用のクラスを作りたくない人向けの書き方考えたんですがどうでしょう
myClassオブジェクトを作ると勝手に別スレッドに移行して、fin()スロットを呼べば元のスレッドに帰ってきます class myClass : public QObject{
Q_OBJECT
private:
QThread* th;
public:
myClass();
virtual ~myClass(){}
pulic slots:
void fin();
signals:
void thread_quit();
};
myClass():th(new QThead()){
connect(
this,
&myClass::thread_quit,
th,
[&]{ th->quit(); th->wait(); delete th; }
);
moveToThread(th);
// other initializations
th->start();
}
void myClass::fin(){
moveToThread(th->thread());
emit thread_quit();
} >>121
Qt6はPerl6と同じ運命を辿るという予言ですね?
で、Qt5がforkして新たなQt史が始まるのです・・・ Qt6でもwidgetは追加なしなんでしょ。Javascript風やるくらいならReact行くわ 実際組み込みにライバルが出てきたら
この体たらくでは終わるかもなQt >>131
数年前にクロスプラットフォーム下でwxWidgetsを試したけど、
環境の差異を自前で解決する必要があるっぽかった。(CMakeとか?)
Qtはqmakeがあって楽。 >>132
えっ、CMakeってめんどいの?
QtはqmakeからCMakeに移行するらしいのだが・・・ Perl6を検索したら
じんめんちょうとケモミミメガネっ娘イラストが出て来たでござる 新しく勉強する人はQt4用と古くなってしまったが、オライリーの本でいいの? もうすぐQt6が出るんでさすがに4の本はやめといたほうがいい マルチプラットホームでゴニョゴニョやる人はFlutterに流れた? Qtだからって必ずマルチで動かさなくてはならないということも無いんじゃね?
オレはMFCより使いやすそうだからQt使ってるだけだし・・・ 初期KDEに感動してQtカッコいいと思っているが動機かな。
LinuxとかはQtアプリがメインになればいいのに、と思っていますが、思っているだけです。 PyQt5スレで質問したが過疎化しているみたいなのでこちらでよろしく。
ラズパイでPyQt5にてソフトを作っていますが、ラズパイごと販売する場合、ソースリストがPythonなんでソース公開になりますが、これでも商業利用だとライセンス違反になりますか?