【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 Project
http://qt-project.org/
・Qtユーザー会
http://planet.qt-users.jp/
・Qt Users Forum Japan
http://qtusersforum.s2.zmx.jp/forum/index.php
・Qt Creator を日本語化するプロジェクト(非公式)
http://qt-creator-jp.sourceforge.jp/
・PyQt4(GPL。定番)
http://www.riverbankcomputing.co.uk/software/pyqt/intro
・PySide(LGPL。)
http://www.pyside.org/downloads/
■ライセンス関連まとめ
各ライセンスでの自作アプリのソース公開/頒布
Qtのライセンス アプリのライセンス Qtの頒布/(変更部分のソース公開)
GPL GPL(ソース公開必須) 必須
LGPL 任意(ソース公開不要) 必須
商用 任意(ソース公開不要) 不要
*: LGPLは動的リンク時
実際には他にも条件(リバースエンジニアリング関係とか)あるので、
きちんとライセンスの条文を読むこと。 >>1-2がいくつかリンク切れしてるね
次スレがいつになるかわからんけど、次は更新した方がよさそう Qt6のQMLがC++主体になる方針に期待
しかし従来のコードと互換性がなくなることに涙ちょちょぎれる 旧来のQWidgetベースの画面デザインがカスタマイズ性が弱すぎるので
QMLベースに書き直していこうと思ってるんだけど、
ライセンス買ってネイティブコンパイラを使わないとやっぱり重いかな?
重くはしたくないんだよな。 というか今更javascriptもどきなんてめんどい UI作りたいのに何でわざわざオレオレ言語学ばないかんねんってのは思うわね
しかもそれQt6でまた結構大きく変わるらしいし(´・ω・`) めちゃめちゃわかる
Qtに限らず何にせよオレオレ言語はとにかくやめてほしい QMLとC++の仕様の制約が掴み合いの喧嘩してるなと、バインディングしてるときに思った そりゃ従来の言語がGUIを構築するのに向いてないからだろ。
簡単な話じゃないか。
手続き型言語より宣言型言語のほうが適性がある widgetアプリもwebGLバックエンド使えるようになったら便利なんだけどなあ でもちょこっと処理を書きたいときにいちいちバックエンドの言語に渡すのもめんどくさいやん?
せや宣言的な言語の中に処理も書けるようにしたらええやんついでにJSとある程度互換性を持たせられたら今後流行るWebViewアプリで便利やろなあ→QML
一応QMLである理由はあるんだよなあ
完成度が低かっただけで 昔はUIのデザインとロジックを分離しろって言ってたじゃん(´;ω;`) https://telektlist.com/app-store-sales/
↑
よく言われることとして、世界全体のスマフォOSシャアでは、
Androidが7割、iOSが3割程度なのに、ソフトの売り上げは、後者の方が
多いのがある。ところが、それは、上位100位くらいまでのアプリの話で、
それ以下のアプリでは、Androidの方の売り上げが多いらしい。
だから、大部分のソフト開発者にとっては、Androidの方がよく売れる
のではなかろうか。 >>15
webviewアプリがもっと流行ればよかったんだな。
android/iOS 両対応のネイティブアプリ作れるフレームワークが流行っちゃったからなあ。
unityみたいなc#ではなくc++でそういうのできるオープンソースのフレームワークがあったらなあ(棒 >>19
Unreal Engine と cocos2d-x は、C++ の1つのソースで Android/iOS の
アプリが作れる。ただし、基本的に Mac 実機と xcode が必要。 iOS用のアプリ開発は、XamrineやUnity、Unreal Engineなど
を使っても、結局は、最新に近いMac実機とiOSマシンが必要となり
(中古Macを買っても難しいらしい。)、それにプラスしてAppStoreの
年間登録料が必要となる。シェアウェア作家レベルではそれらのコストを
回収するのは不可能なことが多いはず。ちゃんと作ったゲームは売れるが、
インディーズゲームで一回もダウンロードされないものも珍しく無いらしい。
個人的に派、Androidに限定して出すか、PWA+WASMの組み合わせで出すかなど
が個人開発者には良い選択肢になるのではないかと思う。 WASM?
iOSはOSレベルでJITコンパイルが無効になっているのに何の意味があるのか。 >>23
WASMでゲーム開発するのは現状難しいと思うが。 https://www.itmedia.co.jp/news/articles/1804/05/news095.html
2018/04/05
App Storeアプリの減少は、Appleが量よりも品質を優先した結果によるもので
意欲的だとしながらも、iOSアプリからAndroidアプリへの移植が多かったのに
対して、その逆は半分にも満たないと分析している。
現在のApp Storeのアプリ数は約160万、Androidアプリ数は約320万で
クロスプラットフォーム化されているアプリ数は約45万程度に留まっているそうだ。 >>23
PWA+WASM+WebGLの例:
https://yutakaaoki.github.io/demo_Mountain/index.html
https://yutakaaoki.github.io/demo_land_Polygon/index.html
https://yutakaaoki.github.io/demo2/index.html
インディーズゲームでは、この位の3Dを使ったゲームが、
WindowsマシンだけでWindows/Mac/Linux/iOS/Androidの全てに
無料で作れる事は大きい。
最近では、MSのMailソフトのOutlookがPWA化されたらしい。
上記のサイトでは分かりにくいが、WASMの入力に対するレスポンス速度
はGoogle EarthのWASM版で十分速いことが分かった。 >>24
iOSはアップル以外のメーカーのアプリはヒープメモリに実行権限をつけられない。
つまりJITコンパイルが動かない。
WASMは基本、JITコンパイルが前提の技術。 >>28
だとすれば、iOSでは ChromeもJavaScriptもnative 的なJITは無効
ということになります。Safariは分かりませんが。
そういえば、聞いた話だと、iOSでPWAをサポートしているのはSafariだけで、
PWA提唱者のGoogleが作ったところのChromeはサポートできていないそうです。 >>28
さっき、Swiftが出したLLVMコードを見ていて気づいたのですが、
実は、Swiftの最終出力はnativeコードであると言っても、実は、
さまざまなチェック・コードを混ぜて生成しているようです。
例えば掛け算するだけでオーバーフローチェックをしています。
普通のC/C++では、そのようなコードを生成しないものなのです。 >>28
iOSでは、Safari 以外のブラウザも、Safariと同様に UIWebView か
WKWebView のどちらかを使うことが強制されているそうで、
WKWebViewの方は、JIT コンパイラが使える、と書いてあります。
詳しくは分かりません。 https://stackoverflow.com/questions/11259152/chrome-ios-is-it-just-a-uiwebview
As of version 48, Chrome for iOS uses WKWebView, which is the same view used in Safari. 結論を書いておきます。
・iOSでは、Apple以外のベンダーは、ヒープメモリに実行権限を付けられない。
・Apple純正であるところの WKWebViewはアプリとは別プロセスで実行され、
(メモリに実行権限を付けることができるので)、JITコンパイル機能も持っている。
・iOSでは、Apple以外のベンダーのWebブラウザも、Appleと同じ描画エンジン
を使わなければならないことになっており、独自エンジンは使用禁止。
・実際、iOS 上の Ver 48 以後の Chrome は、Safari と同じApple 製 WKWebView を
使用している。
・ということは、iOS 上の Chrome は、ちゃんと JavaScript や WASM でも、
JIT コンパイル機能によって高速に描画できていると考えられる。 >>30
>例えば掛け算するだけでオーバーフローチェックをしています。
>普通のC/C++では、そのようなコードを生成しないものなのです
16 * 16 ビットは、絶対に、32ビットに納まる!
32 * 32 ビットは、絶対に、64ビットに納まる!
例えば、10進数で考えても、
2 * 2桁は、絶対に、4桁に納まるだろ。
99 * 99 = 9,801
絶対に、掛け算のオーバーフローは起きない! >>34
ちなみに、Swift には、&*, &+ という演算子があり、こちらはオーバーフロー
のチェックはしませんが、ほとんどの人が使う *, + はオーバーフローをする
事になっています。 >>36
誤:ほとんどの人が使う *, + はオーバーフローをする事になっています。
正:ほとんどの人が使う *, + はオーバーフローをチェックする事になっています。 CやC++は、つまるところ高級アセンブラだからチェックしない(プログラマに任せる)けど、普通の高級言語ならオーバーフローチェックは入れるだろ
念のため書いておくとCやC++を貶してるつもりはない
そういう用途だってだけだし、俺はそれが気に入ってる >>35
64 * 64 ビットは、絶対に、128ビットに納まる!
でも、それを64ビットに納めようとすれば、そりゃ、オーバーフローするよ。
こういう使い方では、まともに整数の掛け算はできない
浮動小数点演算みたいに、切り捨てるとか、誤差ありにしないといけない >>38
コンパイル時に決定出来るんだし型有言語ならOFチェックなんてせんよ
実行時にいちいちチェックしてたらアホすぎる >>41
オーバーフロー発生時に例外が発生するかどうかだろ
C#やSwiftは例外投げるようにすることもできる ワイはただ誰か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なんでソース公開になりますが、これでも商業利用だとライセンス違反になりますか? >>142
GPL版のpyqt使ってるなら自分の派生コードもGPLにしないと駄目というだけて、商用非商用関係ないんじゃないの >>143
ありがとうございます。
自分のもGPLにするので大丈夫ですね。
販促品なので良かったです。 Qtのツールキットってどうやって作ればいいの?
WindowsのQtからラズパイをLANでつないでクロスコンパイルして、デバッグまでしたいのだけどどうやって検索すればいいのかすらわからない・・・
と言うか、ラズパイだとVisual StudioからC#で作った方が楽なんだろうか・・・ >>145
ラズパイでARM版Windows動かすという話? そのままググればいくらでも出てきそうだけど
無理しなくてもセルフコンパイルでできるんじゃない? >>145
「Qtのツールキットを作る」
という言葉の意味がいまいち分からない。
Qt自体がツールキットなのだが、それにさらに何かをかぶせた
独自ツールキットを作るという意味か?
>WindowsのQtからラズパイをLANでつないで
これも、Qtはライブラリであって完成したプログラムではないので
それにLANを繋ぐということも意味が分からない。 >>146>>149
ツールキットって
プロジェクト作る時に
mingWIN64かVisualStudio2017か選べるようにするじゃん
そのキットのこと
なんかウインドウズ上でもラズパイ用のキットが作れそうだと思ったの >>150
ツールキットって言ってもなにか特別なことをしているわけではなく、ライブラリと設定の集まりだから
1.クロスコンパイラをインストール
2.Qtの依存しているライブラリをクロスコンパイル
3.Qtをクロスコンパイル
4.Qt Createrのオプションメニューでコンパイラやライブラリパスを指定してユーザーカスタムツールキットを作成
でいける。2.が死ぬほどめんどいからお勧めはできない。特にWindowsでは。 二人ともありがと
なんか難しそうだなぁ
vcpkgも難しそう
cmakeとかやったこと無いよ・・ >>153
素直にセルフコンパイルしたほうがいいよ。Qtわりかしクロスプラットフォーム性あるんだしWindows使いたければ普段Windowsで開発して必要に応じてラズパイにソース移せばいい。
環境依存する部分あるから無理っていうなら、そもそもそんなもんクロスコンパイル出来ないでしょ。多分 QtってC++とQMLってあるけど
みんなどっちでやってるの? どなたか御教授おねがいします。いろいろググってもそれらしい記事にヒットしませんでした。
QtでFrameなどのウィジェットを書き換え→印刷→書き換え→印刷....と連続で行うことは可能ですか?
QtでSQLiteのフロントエンドを作ってカード型データベースを作ろうと思っているのですが、
検索結果10件のレコードがヒットして、1レコード1枚の印刷をしたい場合は如何したもんかと悩んでいます。
よろしくお願いします。
ちなみにPyQtです。 >>157
普通に検索結果Listに入れてループ回してQFrame変更と印刷繰り返すだけやないの? >>158
ありがとうございます。
QPrintDialogをループ前に呼んでループ回すごとにQPrinterクラスに描画&印刷って感じですか? QMAKE_INCDIR_OPENGL,EGL が /usr/include/libdrm になるのがムカツク
うざけんな 直リンは無いけどアーカイブ上に存在する
Qt5.12.10のオフラインインストーラは使ってもいいんだよね?
(ちなみに、LANケーブル引っこ抜いてオフライン状態にしたら、
未登録でもインストール出来てしまう...まあ、オフラインインストーラなんだから
あたりまえかもしれないが) 個人で商用ライセンス買ってる人いるのかな?
年間5万ちょいだが。 >>162
直リンあるぞ
ダウンロードサイトから薄ーい色で書いてあるOfflineのところからクリックするとそのページに行く 何かうちの会社がやるとき一人年間6000ドルとか言われて
急いで決めなきゃいけないのに稟議面倒くさくて結局止めちゃったのに今そんな金額なのかよ >>164
ほんとだ!いつの間にか直リン出来てるわ
以前は無かったんだけど、サイト更新前だったのかなぁ・・・ 5.15.3は以前のアナウンスの通り商用オンリーになってしまったな
もしやQt5.15にもフォークの嵐が!? 重い腰あげてQMLやるわ
UIが綺麗だもんしょうがないね QMLってロジック部分もQMLなの?
なんか解説サイトは入門しか無くていまいち理解出来ん 俺もまだ入門読んでる段階だから分からん
けど複雑な部分はJavaScriptで書くらしい 実質JavaScript/cssみたいな感じじゃないか 此方はコア機能はc++で書いてjsはguiの味付け程度にしてる ファイル入出力とかはC++でUIがQMLロジックのほとんどはJS
最近慣れてきてやっとQtQuick悪くないと思えてきた 知らん
qt quickならMaterialテーマとかが使えるから、そのためにQMLの入門ブログ一通り読んだけど
調べたところPythonからでもMaterialテーマ(に近いもの)は使えるみたい(qt-material)
つまるところ徒労だったわけだが、折角QMLを学んだので使ってみようと思う
ちなみにQMLで良いなと思ったのは、親要素の高さと幅に対するパーセンテージで子要素のジオメトリが指定できるところかな 体性
>パーセンテージで指定できる
正確にはJSで「parent.width * 0.8」とか書く mousePressEventでevent.x()とevent.y()の座標からWidegetのgeometry()の範囲の場合はWidget上でタッチしたと処理をしていました。
WidgetをTabとかGroupに置いたらgeometry()は、親Widgetからの相対位置になりましが、MainWindowの座標値からにするにはどうしたら良いのでしょうか? >>180
QWidget::mapTo() メソッドで変換すればええと思うよ
例えば、2枚の QFrame をスタックして、上に重なっている frame_2 の左上の
位置を MainWindow のクライアント座標に変換するには
QPoint point = ui->frame_2->mapTo(this, QPoint(0, 0));
で求まる
もし、MainWindow のフレームも含めた位置が欲しい場合は(通常必要ないと思うが)、
フレームの幅 = geometry().topLeft().x() - x()
フレームの高さ(タイトルバーの高さを含む) = geometry().topLeft().y() - y()
を先ほどの point.x(), point.y() にそれぞれ足せばいい >>181
■ 追記
元々は centralwidget が親だったのだろうから、
this (MainWindow) じゃなくて ui->centralwidget の方が正しいかもしれない >>181
ありがとうございます。
C++じゃなくてpythonでどう書けば良いのかわかりません。
PyQt5とraspberry piなんです。 tabの上にgroup置いて、そこにwidget置いたから順番にmapToやるんですね? >>186
Python 知らないから PyQt5 については何とも言えないけど、
順番にたどる必要はないと思うよ
要は、groupBox の上に乗せたせいで geometry の基準が変わってしまったから、
mapTo で centralwidget 基準に変えてあげる感じかなぁ
俺自身も勉強中なんでうまく説明できませんがw
あとは試行錯誤してね >>187
何とか出来ました。
通常は最大化して、MainWindowの(0,0)位置と画面(0,0)は一致しているけどdebug時はWindow表示なので以下の方法にしました。
# MainWindowの(0,0)の物理座標
main = self.mapToGlobal(QPoint(0,0))
#widgetのgeometory(widthとheightが欲しいだけ)
geo = self.ui.widget.geometry()
# widgetの(0,0)の物理座標
widget = self.ui.widget.mapToGlobal(QPoint(0,0))
# MainWindowとwidgetの相対位置を求める
px = widget.x() - main.x()
py = widget.y() - main.y()
if (event.x() > px) & (event.x() < px + geo.width()) & (event.y() > py) & (event.y() < py + geo.height()):
widgetをタッチした処理
QLcdNumberをクリックしたら数値入力のダイアログが出るようにしたかっただけです。 flutterで組み込みとかqt余裕ぶっこいてて大丈夫なの? >>188
今更だけど、QLcdNumber をサブクラス化して自前で clicked シグナルを
実装すれば行けるんちゃう?
mousePressEvent と mouseReleaseEvent を使うんやで >>191
オープンソースの情報共有は大事やけ、サンプル作ってみたわ
C++ だけど参考にしてな
(ただ、改行数に制限があるから小出しにするで)
まず、マウスの左ボタンを押したときの処理や
void CClickableLCDNumber::mousePressEvent(QMouseEvent *e)
{
QLCDNumber::mousePressEvent(e);
if (e->button() == Qt::LeftButton && rect().contains(e->pos())) {
m_leftButtonDown = true;
}
}
マウスボタンが押された判定だから、一見領域判定必要ない気もするけど、
先に右ボタンを押したままの状態にすると、領域外で左ボタンを押した際に
mousePressEvent が呼ばれてしまうから、一応領域判定を入れてみたで おお、インデントが無くなってしまう...まあいいか
次に、マウスの左ボタンを離したときの処理や
void CClickableLCDNumber::mouseReleaseEvent(QMouseEvent *e)
{
QLCDNumber::mouseReleaseEvent(e);
if (m_leftButtonDown && e->button() == Qt::LeftButton) {
m_leftButtonDown = false;
if (rect().contains(e->pos())) {
emit clicked();
}
}
}
領域内でマウスの左ボタンを離すと clicked シグナルを発生させるで 最後に、マウスの左ボタンを押している最中にアプリケーションが
非アクティブになった場合の処理や
void CClickableLCDNumber::guiApplication_applicationStateChanged(Qt::ApplicationState state)
{
if (state == Qt::ApplicationInactive) {
m_leftButtonDown = false;
}
}
コンストラクタ上に次の 1 行を記述して上記のスロットに接続してな
connect(qApp, &QGuiApplication::applicationStateChanged, this, &CClickableLCDNumber::guiApplication_applicationStateChanged);
なぜ必要かというと、非アクティブになった際に mouseReleaseEvent が
発生しないからや
だから、アプリケーションが非アクティブになったことを検知したら、
強制的に m_leftButtonDown フラグを false にしているんや
もしかして、間違っているところがあるかもしれないから、
ちゃんと動作確認しておくれ
ほな、またな 全然スレが進まないから、経験した不具合でも書き留めておくか
パスが深い状態でビルドしたら、エラーも出ずに無限ループ状態になったわ
ご参考までに もしQtのオープンソース版が無くなったら、
やっぱりGTKに避難します?
今なら.NET 5.0 C#+GTKかなぁ
GTKって依存関係が複雑らしいですが・・・ .Net5.0(年末には6.0になるけど)かな
C#なら慣れてるし やっぱりそうですよね
うちの会社超貧乏なんで(つうかケチw)
オープンソースの開発ソフトを使ってるんです
あとで試してみますわ いや、俺ならってだけだよ
今やってる組込Linuxだと、メモリがとストレージがギリギリしかないからQtの無料版で頑張ってるし(CPUも.Netを駆動するほどパワーない)
ただ、メモリもストレージもあるんだったらQt嫌いだから.Netってだけで、 素のC++使うこと考えたらQtって結構いいと思いますが、
まあ、ひとそれぞれですから
(ただ、Qtってランタイムのサイズが大き過ぎるのが気になりますけどね)
C#使ってみて気に入らなかったらQt使える間はQtで
次はgtkmmにするかも・・・C+GTKは流石にキツイので KDEからQt5PatchCollectionが出るぅぅぅ〜 遂に Qt5.12.11 からオフラインインストール出来なくなってしもたか・・・
これからは、GTK みたいに MSYS2 使ってインストールするのが主流になるのかな?
それともみんな自前でビルドしてるん? MFCに似てるといわれてたからwxWidgetsは今まで使わなかったけど、
実際使ってみたら以外に使い易かったわ
Qtのライセンスが今後どう転ぶか分からないから、
選択肢を増やしておいたほうがいいよね MouseAreaとMultiPointTouchAreaを重ねて、タップしたときに両方のonPressedを発生させるみたいなことって出来ないんですかね?
イベントを処理した上で、更に親クラスにも伝えたいんですが Qt始めようと思ったのになんでこんな過疎ってるの? Qtが出た時程は話題もないから。
KDE が Windows11ぽいから、頑張ってみてもいいと思うよ。 あのライセンス形態では多分衰退していくわ
昔と違ってマルチプラットフォーム環境は他にも選択肢増えてるわけだし 無料版の制限が厳しいよね
オープンソースにしてQt側に何かメリットあったんだろうか >>202
それはPyQtもそうなるのですか?
ラズパイで使っているので心配。 昔はQtのクロスプラットフォームという謳い文句に夢があったね 使い道によらないか?
Java よりいいと思うが。 LinuxのGUIアプリ作りたいんだって
C++出来るから手伝えって言われたけど
別の仕事で忙しいから断った なんかQtのblogしばらく更新されとらんな
ライセンス買う人が思いのほか少なくてヤル気無くしたんか? 世界的に同じ価格だとどんどん貧乏になってる日本にとってはかなり高いライセンス料になってるんだけどそのへん日本法人はなんとかしようと思わんのかね そのうち地球温暖化で人間が住めなくなるのと、食糧難がくるので、日本人の給料が気になる奴は農地を買って、農業始めとけ。
金があっても食料が買えるとは限らん。 ちょっとお聞きしたいんですが
ウィンドウズの根本というか中核のプログラムはどういう言語で書かれているんでしょうか? ほとんど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なんかが苦痛になるね qt-5.15.6-lts-lgpl
をビルドしてるつもりなんだけど、
qtscript だけ、ライブラリが、
*.so.5.15.3
になる。
なんで? すんません。
ソースツリーの管理ミスでした。>>325 またqttools のビルドに失敗するようになった > qt-6.4.0
どうして無能なの? 最新のqt creatorでプロジェクトを開くを選択すると妙に引っ掛かりがある
リモートデバイスを設定してる場合はタイムアウトまでチェックしてるっぽい(?) QSerialPortでデータが届いたかどうかを確認するためにbytesAvailableを
使用したかったけど、Qtの実装ではI/O完了ポートの通知が来るまで
bytesAvailableが更新されないみたい
一応、QSerialPort::handle()とClearCommErrorで通知を受け取る前に
受信データがあるかどうかを確認することは出来たのですが、
この程度ならハンドル経由で直接WinAPIにアクセスしても問題ないでしょうか?
それとも、何か別の不具合が発生するでしょうか? >>330
自己レスですが、Qt のソースコードを調べてみると、受信データ数を調べるために
ClearCommError を使っている箇所が見つかったんで大丈夫なのかもしれません。
予め受信データがあることが分かれば waitForReadyRead による遅延を
少しは軽減できるので・・・
(データが無い場合は、waitForReadyRead(1) でも 10msec 遅延するみたいです。
気にするほどかと言われればその通りかもしれませんがw)
同期処理でソフトを組む場合、シグナルを割り込ませる方法は
なるべく使いたくなかったのでこれで良しとします qtinstallerで作成したMacのappってMacの公証化は可能です? qtinstallerじゃない、pyinstallerだった Qtインストールしてるんだけど
もう5時間かかってるんだけど
半分以下の進捗具合だけど
みんなどのくらいかかった? >>334
自分はインストーラからqt6.2とcreator designer入れたけど20分程度だったかな >>335
あー、多分過去バージョンだからってあるだろうなー
もう6時間以上かかってるけど残り20時間って出てるわ
あ、残り3日になった(笑) >>338
それがいつならいいのかよくわからないし
進むしかないんだ 結局インストール失敗でかけた時間全部無駄になった(笑)
ガチで24時間以上無駄に(笑)
ダウンロード工程とインストール工程別にならんの?これ?
( ´Д`)=3
もう一回やるか・・・orz そしてコツがわかった
これインストール時はデフォルト設定で入れて
後からメンテナンスツールで追加でコンポーネント入れれば失敗してもダメージ少なくイケるってわかった 後1項目までキタ―――(゚∀゚)―――― !!
QtInformationFileとか言うのが43GB近くあって他は大した容量じゃないのな
コイツの失敗が怖い(||゚Д゚) よっしゃ!キタ―――(゚∀゚)―――― !!
起きたら終わってた
よかった・・・orz なんかさ
クリーンとかリビルドとか
すべてのプロジェクトをビルドとか
やりまくっても全然
前の全然違うプロジェクトのビルド結果をみて
酷いことになってるけど
クリーンって言ったらクリーンしろよw pythonでQMLに入門してみたけど
デザイナーできいまいちじゃね・・・落ちたりするし自作のQmlElementが最初認識しないしsetContextProperty使えってか うーん
全く異なるプロジェクトに内容の異なる同名のファイルが100ソースファイル以上あるんだけど
妙なキャッシュが効いててずっと同じファイル見ようとするんだよね
同じファイルがあっちゃうときいちいちファイルに変更加えないと
ビルド通らない
今、いちいちツールで一回ウンコって文字列書いてからビルドして
ウンコ文字列消してビルド通してるんだけど
面倒くさすぎる
なんかやりようある? >>350
ええ・・・
普通にgitから落としたファイルが
同名の内容違いでビルドされなくて困る クロス向けでqt6ライブラリをインストールする時は各モジュールは個別に1つ1つ入れてく感じ? インストーラから入れてホストにやれば一括でクロスできるな どのpmlファイルがどの画面か
全くわからないんだけど
Windows3.1かな? pythonでQML使っててぐぐってたらui.qmlと.qmlで分けるとか見かけたけど
Creator9でプロジェクト作ると.ui.qmlが作られないし
どうなってるのかよく分からない。
今も自分で.ui.qmlを別に作ってやるパターンなの? qt creator10でファイル選択ダイアログでのリモートデバイス絡みの不具合が修整されたな 階層の違うmodelにアクセスする方法がわからんから
全部タイマー監視になったけど
こんなダッセェので正解? QMLを事前にチェックする方法ってない?
全部実行してみないとチェックできないってのが結構辛い >>348
ウィジェットのデザイナは役に立つ、QMLのデザイナはだめだ。 https://www.sra.co.jp/qt/inquiry/tabid439.html
Qtを体験しよう! SRAオリジナルセミナー C++/Widgetコース(無料)
2023年 8月 22日(火) 13:00 〜 17:30 (オンライン開催、12:45 受付開始) ※Zoomにて開催
2023年 10月 17日(火) 13:00 〜 17:30 (オンライン開催、12:45 受付開始) ※Zoomにて開催
2023年 12月 19日(火) 13:00 〜 17:30 (オンライン開催、12:45 受付開始) ※Zoomにて開催
Qtを体験しよう! SRAオリジナルセミナー QML/Qt Quick コース(無料)
2023年 7月 11日(火) 13:00 〜 17:30 (オンライン開催、12:45 受付開始) ※Zoomにて開催
2023年 9月 12日(火) 13:00 〜 17:30 (オンライン開催、12:45 受付開始) ※Zoomにて開催
2023年 11月 21日(火) 13:00 〜 17:30 (オンライン開催、12:45 受付開始) ※Zoomにて開催 >>363
絶対最初pythonのQmlElement認識しないの糞 Qtは使わないけどIDEとしてQtCreatorを使ってるという人を見かけたんですが
そんなに使いやすいんですか? 最近マルチプラットフォーム用途でFlutterが増えているけどわざわざqt って何か利点があるの? >>368
eclipseとかvscodeとかかなり設定めんどくさいんで、お手軽にIDEの機能が一通り欲しい場合はいいんじゃないかな 「毎日出社したい」わずか3.8% リモートワーク経験者に聞いた
学研ホールディングスのグループ会社であるベンド(東京都千代田区)は、リモートワーク
経験者を対象に「リモートワークに関するアンケート」を実施した。その結果、半数近くの
人が「週5(フルリモート)」(44.4%)をリモートワークの理想の頻度だと考えていること
が分かった。
次いで「週3〜4」(30.7%)、「週1〜2」(20.1%)と続き、96.2%の人がリモートワークの
継続を希望していることが分かった。毎日出社を希望する人は、わずか3.8%だった。
出社を希望しない理由は「通勤にかかる時間や体力がもったいない」「子どもの都合で、
リモートワークのほうが仕事と家庭のバランスが取りやすい」「職場の人と毎日顔を合わせる
のはさすがにつらい」といった意見が寄せられた。
一方、「コミュニケーションが取りにくくなる」「出社しないとできない業務がある」
「たまには出社もいい気分転換になる」など、完全リモートだと不都合だという声もあった。 QtPushButtonのtext, QtLabelみたいにhtml使えたりしませんか? qt6dbusライブラリが存在してるとqt6のクロスコンパイルでエラーになるっぽいね 12はリモートのデバッガ起動が激遅だったんで11に戻したよ 12にしたらCreatorじゃqmlエラーになるじゃん
Design Studio使うときが来たのか PySide 6.6.3にしたらqtquickcontrols2materialstyleplugin.dllなくて動かないよぉ…! オープンソース版なら自力で解決できるくらいじゃないと後々キツイぞ
商用版なら金払ってるんだからサポートに聞け C++14/17ベースでC++独習し、最近何気なくYoutubeでQt Widgetsアプリでの開発
動画(Video Player)を見て、Win11PCやWsl2のUbuntu24.04にQtCreator入れて弄ってました。
Qt 5.15ではQVideoWidget Classで brightness()や contrast() が使えたけど、
Qr6.8のQVideoWidget Classでは無くなってしまっていた・・・
こんな簡単にC++でVideo Playerが作れるのかと関心していたけど、
情報は少ないし、解説本もほとんど無いみたい。
Qt Widgetsはもう廃れていくのかな Qt Quickも廃れていってるから気にしなくていいよ 使い始めたのにもう廃れているのかよ…まぁ使ってる人見かけない… JavascriptでGUI作るならreactが大正義になってるからしゃーない code.qt.io にgit pull が蹴られる
ブラウザでhttps を覗こうとしても接続不能
何かあったの? テストQt quickってそんなにみんな使ってるの?開発はそっちの方がメインになってるっぽいけど