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/
探検
【Win/Mac/Linux/Android/iOS】 Qt 総合スレ 19
1デフォルトの名無しさん
2019/10/24(木) 13:32:07.93ID:rWKhVVJ5108デフォルトの名無しさん
2020/06/24(水) 14:33:34.04ID:Y4c4n+Ed109デフォルトの名無しさん
2020/06/24(水) 14:50:01.15ID:7DLmzV7c いや、日本語をキーにしても仕様上問題ないだろ
実装がバグってるだけだろ
実装がバグってるだけだろ
110デフォルトの名無しさん
2020/06/24(水) 15:50:25.60ID:rM4tv+8j UTF-8 じゃなくて、CP932 を使っているのかも?
111デフォルトの名無しさん
2020/06/24(水) 16:25:29.58ID:OLeI57gB UTF-8 なら大体 3 バイト文字だしな
112デフォルトの名無しさん
2020/06/24(水) 17:51:21.37ID:B4AJ9uyI win版Qtcreatorのアプリケーション出力枠もutf-8にしてほしい
113デフォルトの名無しさん
2020/06/24(水) 19:00:56.56ID:JMDGovWD114デフォルトの名無しさん
2020/06/25(木) 23:19:11.68ID:HDoOrRNK 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
(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
115デフォルトの名無しさん
2020/06/26(金) 08:10:27.14ID:O2lfWVqP /utf8オプションつけりゃいいんじゃないの
116デフォルトの名無しさん
2020/06/26(金) 13:06:49.31ID:PjbtVFt+ /source-charset:utf-8 /execution-charset:utf-8
117デフォルトの名無しさん
2020/06/26(金) 13:08:52.73ID:PjbtVFt+ >>116 で BOM も不要
118デフォルトの名無しさん
2020/07/04(土) 11:44:18.55ID:TS5b/UER QMLのSplitViewってハンドル上にカーソル持ってってもカーソルの形が変わらないのって普通?
119デフォルトの名無しさん
2020/07/06(月) 07:44:04.78ID:CV9wgtZz 5.15のMSVC2019環境ではカーソル変わるよ
120デフォルトの名無しさん
2020/08/30(日) 09:19:37.26ID:vbJSx4vV Qt6ってオープンソース版の提供は商用版から1年遅れるって話あったけど、
結局どうなったんやろ?
結局どうなったんやろ?
121デフォルトの名無しさん
2020/08/30(日) 14:01:58.32ID:GgAZZaQa Perl6って結局どうなったんやろ?
122デフォルトの名無しさん
2020/09/11(金) 19:47:35.61ID:vL4h/iJU Qt5.15.1がキターーーーーーッ!!!
123デフォルトの名無しさん
2020/09/28(月) 22:00:51.47ID:iMi4NbKw マルチスレッドで、QThreadの管理用のクラスを作りたくない人向けの書き方考えたんですがどうでしょう
myClassオブジェクトを作ると勝手に別スレッドに移行して、fin()スロットを呼べば元のスレッドに帰ってきます
myClassオブジェクトを作ると勝手に別スレッドに移行して、fin()スロットを呼べば元のスレッドに帰ってきます
124デフォルトの名無しさん
2020/09/28(月) 22:01:36.75ID:iMi4NbKw 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();
}
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();
}
125デフォルトの名無しさん
2020/10/02(金) 13:14:32.74ID:lhs/Zzv9 >>123
素直にQtConcurrentを使え
素直にQtConcurrentを使え
126デフォルトの名無しさん
2020/10/02(金) 13:24:07.57ID:CQjBWPIk キュートな股間を使う
127デフォルトの名無しさん
2020/11/10(火) 19:11:21.45ID:hiC/5cy6128デフォルトの名無しさん
2020/11/12(木) 12:46:01.83ID:/hZrOu15 Qt6でもwidgetは追加なしなんでしょ。Javascript風やるくらいならReact行くわ
129デフォルトの名無しさん
2020/11/12(木) 14:20:22.70ID:AJXYfkPS 実際組み込みにライバルが出てきたら
この体たらくでは終わるかもなQt
この体たらくでは終わるかもなQt
130デフォルトの名無しさん
2020/11/12(木) 17:35:40.49ID:epAR/nsF 出てくると?
131デフォルトの名無しさん
2020/11/25(水) 10:42:20.87ID:9s0iE7Zc C++のGUIフレームワークはQt一択?
132デフォルトの名無しさん
2020/11/26(木) 15:13:32.69ID:mHPCh9BG133デフォルトの名無しさん
2020/11/27(金) 15:15:13.73ID:4Efa0NLX134デフォルトの名無しさん
2020/12/03(木) 02:03:34.69ID:YAQUOpck Perl6を検索したら
じんめんちょうとケモミミメガネっ娘イラストが出て来たでござる
じんめんちょうとケモミミメガネっ娘イラストが出て来たでござる
135デフォルトの名無しさん
2020/12/03(木) 19:22:12.66ID:wbyvq2tU なんじゃこりゃぁ・・
136デフォルトの名無しさん
2020/12/04(金) 14:07:07.48ID:xKyYFCXW Qtの(前向きな)話題がないのが寂しい
137デフォルトの名無しさん
2020/12/04(金) 14:27:23.48ID:73vN5HmW 新しく勉強する人はQt4用と古くなってしまったが、オライリーの本でいいの?
138デフォルトの名無しさん
2020/12/05(土) 08:57:45.38ID:vIbLkVkt もうすぐQt6が出るんでさすがに4の本はやめといたほうがいい
139デフォルトの名無しさん
2020/12/08(火) 05:23:00.53ID:rGwGc8ih マルチプラットホームでゴニョゴニョやる人はFlutterに流れた?
140デフォルトの名無しさん
2020/12/08(火) 23:04:24.86ID:9BQY2QjS Qtだからって必ずマルチで動かさなくてはならないということも無いんじゃね?
オレはMFCより使いやすそうだからQt使ってるだけだし・・・
オレはMFCより使いやすそうだからQt使ってるだけだし・・・
141デフォルトの名無しさん
2020/12/09(水) 12:04:19.16ID:FeP1mPcl 初期KDEに感動してQtカッコいいと思っているが動機かな。
LinuxとかはQtアプリがメインになればいいのに、と思っていますが、思っているだけです。
LinuxとかはQtアプリがメインになればいいのに、と思っていますが、思っているだけです。
142デフォルトの名無しさん
2020/12/11(金) 20:38:19.71ID:W8JmW3Wr PyQt5スレで質問したが過疎化しているみたいなのでこちらでよろしく。
ラズパイでPyQt5にてソフトを作っていますが、ラズパイごと販売する場合、ソースリストがPythonなんでソース公開になりますが、これでも商業利用だとライセンス違反になりますか?
ラズパイでPyQt5にてソフトを作っていますが、ラズパイごと販売する場合、ソースリストがPythonなんでソース公開になりますが、これでも商業利用だとライセンス違反になりますか?
143デフォルトの名無しさん
2020/12/11(金) 23:07:53.61ID:Xb6Q9kn/ >>142
GPL版のpyqt使ってるなら自分の派生コードもGPLにしないと駄目というだけて、商用非商用関係ないんじゃないの
GPL版のpyqt使ってるなら自分の派生コードもGPLにしないと駄目というだけて、商用非商用関係ないんじゃないの
144デフォルトの名無しさん
2020/12/12(土) 06:12:15.22ID:0FYow1gT145デフォルトの名無しさん
2020/12/15(火) 00:30:57.81ID:qJ1aFYR/ Qtのツールキットってどうやって作ればいいの?
WindowsのQtからラズパイをLANでつないでクロスコンパイルして、デバッグまでしたいのだけどどうやって検索すればいいのかすらわからない・・・
と言うか、ラズパイだとVisual StudioからC#で作った方が楽なんだろうか・・・
WindowsのQtからラズパイをLANでつないでクロスコンパイルして、デバッグまでしたいのだけどどうやって検索すればいいのかすらわからない・・・
と言うか、ラズパイだとVisual StudioからC#で作った方が楽なんだろうか・・・
146デフォルトの名無しさん
2020/12/15(火) 09:49:16.43ID:lCiyDn/+ >>145
ラズパイでARM版Windows動かすという話?
ラズパイでARM版Windows動かすという話?
147デフォルトの名無しさん
2020/12/15(火) 09:51:29.29ID:x2jnVkC/ そのままググればいくらでも出てきそうだけど
無理しなくてもセルフコンパイルでできるんじゃない?
無理しなくてもセルフコンパイルでできるんじゃない?
148デフォルトの名無しさん
2020/12/16(水) 13:42:42.43ID:+Vs3RHJW Qt6キタ━━━━(゚∀゚)━━━━!!
149デフォルトの名無しさん
2020/12/16(水) 15:43:52.63ID:QJd1nMyw >>145
「Qtのツールキットを作る」
という言葉の意味がいまいち分からない。
Qt自体がツールキットなのだが、それにさらに何かをかぶせた
独自ツールキットを作るという意味か?
>WindowsのQtからラズパイをLANでつないで
これも、Qtはライブラリであって完成したプログラムではないので
それにLANを繋ぐということも意味が分からない。
「Qtのツールキットを作る」
という言葉の意味がいまいち分からない。
Qt自体がツールキットなのだが、それにさらに何かをかぶせた
独自ツールキットを作るという意味か?
>WindowsのQtからラズパイをLANでつないで
これも、Qtはライブラリであって完成したプログラムではないので
それにLANを繋ぐということも意味が分からない。
150デフォルトの名無しさん
2020/12/17(木) 00:47:02.12ID:2qkNMdZn >>146>>149
ツールキットって
プロジェクト作る時に
mingWIN64かVisualStudio2017か選べるようにするじゃん
そのキットのこと
なんかウインドウズ上でもラズパイ用のキットが作れそうだと思ったの
ツールキットって
プロジェクト作る時に
mingWIN64かVisualStudio2017か選べるようにするじゃん
そのキットのこと
なんかウインドウズ上でもラズパイ用のキットが作れそうだと思ったの
151デフォルトの名無しさん
2020/12/17(木) 09:55:24.94ID:hrUJzhO1 >>150
ツールキットって言ってもなにか特別なことをしているわけではなく、ライブラリと設定の集まりだから
1.クロスコンパイラをインストール
2.Qtの依存しているライブラリをクロスコンパイル
3.Qtをクロスコンパイル
4.Qt Createrのオプションメニューでコンパイラやライブラリパスを指定してユーザーカスタムツールキットを作成
でいける。2.が死ぬほどめんどいからお勧めはできない。特にWindowsでは。
ツールキットって言ってもなにか特別なことをしているわけではなく、ライブラリと設定の集まりだから
1.クロスコンパイラをインストール
2.Qtの依存しているライブラリをクロスコンパイル
3.Qtをクロスコンパイル
4.Qt Createrのオプションメニューでコンパイラやライブラリパスを指定してユーザーカスタムツールキットを作成
でいける。2.が死ぬほどめんどいからお勧めはできない。特にWindowsでは。
152デフォルトの名無しさん
2020/12/17(木) 12:56:53.13ID:Ijkl2C0z vcpkg使うと楽やで
153150
2020/12/21(月) 23:40:40.25ID:e1k6bUCY 二人ともありがと
なんか難しそうだなぁ
vcpkgも難しそう
cmakeとかやったこと無いよ・・
なんか難しそうだなぁ
vcpkgも難しそう
cmakeとかやったこと無いよ・・
154デフォルトの名無しさん
2020/12/22(火) 11:01:32.42ID:RyG/lCSq >>153
素直にセルフコンパイルしたほうがいいよ。Qtわりかしクロスプラットフォーム性あるんだしWindows使いたければ普段Windowsで開発して必要に応じてラズパイにソース移せばいい。
環境依存する部分あるから無理っていうなら、そもそもそんなもんクロスコンパイル出来ないでしょ。多分
素直にセルフコンパイルしたほうがいいよ。Qtわりかしクロスプラットフォーム性あるんだしWindows使いたければ普段Windowsで開発して必要に応じてラズパイにソース移せばいい。
環境依存する部分あるから無理っていうなら、そもそもそんなもんクロスコンパイル出来ないでしょ。多分
155デフォルトの名無しさん
2020/12/25(金) 01:15:51.86ID:u0aldcxK QtってC++とQMLってあるけど
みんなどっちでやってるの?
みんなどっちでやってるの?
156デフォルトの名無しさん
2020/12/25(金) 06:05:11.33ID:96G2tBdf python
157デフォルトの名無しさん
2020/12/25(金) 12:14:18.15ID:5DQjcGeE どなたか御教授おねがいします。いろいろググってもそれらしい記事にヒットしませんでした。
QtでFrameなどのウィジェットを書き換え→印刷→書き換え→印刷....と連続で行うことは可能ですか?
QtでSQLiteのフロントエンドを作ってカード型データベースを作ろうと思っているのですが、
検索結果10件のレコードがヒットして、1レコード1枚の印刷をしたい場合は如何したもんかと悩んでいます。
よろしくお願いします。
ちなみにPyQtです。
QtでFrameなどのウィジェットを書き換え→印刷→書き換え→印刷....と連続で行うことは可能ですか?
QtでSQLiteのフロントエンドを作ってカード型データベースを作ろうと思っているのですが、
検索結果10件のレコードがヒットして、1レコード1枚の印刷をしたい場合は如何したもんかと悩んでいます。
よろしくお願いします。
ちなみにPyQtです。
158デフォルトの名無しさん
2020/12/25(金) 20:39:44.01ID:TByuSfX9 >>157
普通に検索結果Listに入れてループ回してQFrame変更と印刷繰り返すだけやないの?
普通に検索結果Listに入れてループ回してQFrame変更と印刷繰り返すだけやないの?
159デフォルトの名無しさん
2020/12/28(月) 11:07:17.58ID:UlDvGW4N160デフォルトの名無しさん
2021/01/13(水) 18:01:01.88ID:7VVzUimR QMAKE_INCDIR_OPENGL,EGL が /usr/include/libdrm になるのがムカツク
うざけんな
うざけんな
161デフォルトの名無しさん
2021/02/05(金) 21:22:13.17ID:bhn4d8D9 Qt for Rust が欲しいわ〜
162デフォルトの名無しさん
2021/02/08(月) 23:33:54.93ID:dQ8TTNE6 直リンは無いけどアーカイブ上に存在する
Qt5.12.10のオフラインインストーラは使ってもいいんだよね?
(ちなみに、LANケーブル引っこ抜いてオフライン状態にしたら、
未登録でもインストール出来てしまう...まあ、オフラインインストーラなんだから
あたりまえかもしれないが)
Qt5.12.10のオフラインインストーラは使ってもいいんだよね?
(ちなみに、LANケーブル引っこ抜いてオフライン状態にしたら、
未登録でもインストール出来てしまう...まあ、オフラインインストーラなんだから
あたりまえかもしれないが)
163デフォルトの名無しさん
2021/03/06(土) 02:09:16.52ID:ZmFBbMdQ 個人で商用ライセンス買ってる人いるのかな?
年間5万ちょいだが。
年間5万ちょいだが。
164デフォルトの名無しさん
2021/03/06(土) 02:15:34.82ID:t6oqPQ7k165デフォルトの名無しさん
2021/03/06(土) 02:18:11.20ID:t6oqPQ7k 何かうちの会社がやるとき一人年間6000ドルとか言われて
急いで決めなきゃいけないのに稟議面倒くさくて結局止めちゃったのに今そんな金額なのかよ
急いで決めなきゃいけないのに稟議面倒くさくて結局止めちゃったのに今そんな金額なのかよ
166デフォルトの名無しさん
2021/03/06(土) 06:05:12.50ID:UvQPKsws 一人年間100万だか言われた気が
167デフォルトの名無しさん
2021/03/06(土) 08:17:14.46ID:N1UPRC8r168デフォルトの名無しさん
2021/03/07(日) 00:20:31.78ID:XG5iDLD/ 5.15.3は以前のアナウンスの通り商用オンリーになってしまったな
もしやQt5.15にもフォークの嵐が!?
もしやQt5.15にもフォークの嵐が!?
169デフォルトの名無しさん
2021/03/09(火) 00:32:23.71ID:2EcPBb3J 重い腰あげてQMLやるわ
UIが綺麗だもんしょうがないね
UIが綺麗だもんしょうがないね
170デフォルトの名無しさん
2021/03/09(火) 00:52:53.42ID:jPxQYiua QMLってロジック部分もQMLなの?
なんか解説サイトは入門しか無くていまいち理解出来ん
なんか解説サイトは入門しか無くていまいち理解出来ん
171デフォルトの名無しさん
2021/03/09(火) 01:36:59.88ID:2EcPBb3J 俺もまだ入門読んでる段階だから分からん
けど複雑な部分はJavaScriptで書くらしい
けど複雑な部分はJavaScriptで書くらしい
172デフォルトの名無しさん
2021/03/09(火) 01:38:41.75ID:2EcPBb3J 実質JavaScript/cssみたいな感じじゃないか
173デフォルトの名無しさん
2021/03/09(火) 02:37:14.59ID:QrjThQpk 此方はコア機能はc++で書いてjsはguiの味付け程度にしてる
174デフォルトの名無しさん
2021/03/09(火) 08:38:43.07ID:HV3G9kxd ファイル入出力とかはC++でUIがQMLロジックのほとんどはJS
最近慣れてきてやっとQtQuick悪くないと思えてきた
最近慣れてきてやっとQtQuick悪くないと思えてきた
175デフォルトの名無しさん
2021/03/09(火) 14:13:02.45ID:iP4nVCks 痛いのは最初だけ
176デフォルトの名無しさん
2021/03/09(火) 15:04:39.69ID:QRjKQIVx qt 6でUIが綺麗になったの?
177169
2021/03/09(火) 19:54:34.95ID:SIG6GrEl 知らん
qt quickならMaterialテーマとかが使えるから、そのためにQMLの入門ブログ一通り読んだけど
調べたところPythonからでもMaterialテーマ(に近いもの)は使えるみたい(qt-material)
つまるところ徒労だったわけだが、折角QMLを学んだので使ってみようと思う
ちなみにQMLで良いなと思ったのは、親要素の高さと幅に対するパーセンテージで子要素のジオメトリが指定できるところかな
qt quickならMaterialテーマとかが使えるから、そのためにQMLの入門ブログ一通り読んだけど
調べたところPythonからでもMaterialテーマ(に近いもの)は使えるみたい(qt-material)
つまるところ徒労だったわけだが、折角QMLを学んだので使ってみようと思う
ちなみにQMLで良いなと思ったのは、親要素の高さと幅に対するパーセンテージで子要素のジオメトリが指定できるところかな
178デフォルトの名無しさん
2021/03/09(火) 19:56:35.86ID:SIG6GrEl 体性
>パーセンテージで指定できる
正確にはJSで「parent.width * 0.8」とか書く
>パーセンテージで指定できる
正確にはJSで「parent.width * 0.8」とか書く
179デフォルトの名無しさん
2021/03/09(火) 19:57:23.58ID:SIG6GrEl ×体性
○訂正
グダグダですまn
○訂正
グダグダですまn
180デフォルトの名無しさん
2021/03/12(金) 17:24:50.76ID:SLhJb7L+ mousePressEventでevent.x()とevent.y()の座標からWidegetのgeometry()の範囲の場合はWidget上でタッチしたと処理をしていました。
WidgetをTabとかGroupに置いたらgeometry()は、親Widgetからの相対位置になりましが、MainWindowの座標値からにするにはどうしたら良いのでしょうか?
WidgetをTabとかGroupに置いたらgeometry()は、親Widgetからの相対位置になりましが、MainWindowの座標値からにするにはどうしたら良いのでしょうか?
181デフォルトの名無しさん
2021/03/12(金) 20:51:37.44ID:NAIHKCkj >>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() にそれぞれ足せばいい
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() にそれぞれ足せばいい
182デフォルトの名無しさん
2021/03/12(金) 21:12:38.77ID:NAIHKCkj183デフォルトの名無しさん
2021/03/12(金) 21:33:46.50ID:SLhJb7L+184デフォルトの名無しさん
2021/03/12(金) 21:35:52.88ID:SLhJb7L+ thisをselfに置き換えて書けば良いのかな?
185デフォルトの名無しさん
2021/03/12(金) 21:38:03.51ID:SLhJb7L+ 明日、mapToをしらべます。
186デフォルトの名無しさん
2021/03/12(金) 21:41:15.83ID:SLhJb7L+ tabの上にgroup置いて、そこにwidget置いたから順番にmapToやるんですね?
187デフォルトの名無しさん
2021/03/12(金) 23:35:27.97ID:NAIHKCkj >>186
Python 知らないから PyQt5 については何とも言えないけど、
順番にたどる必要はないと思うよ
要は、groupBox の上に乗せたせいで geometry の基準が変わってしまったから、
mapTo で centralwidget 基準に変えてあげる感じかなぁ
俺自身も勉強中なんでうまく説明できませんがw
あとは試行錯誤してね
Python 知らないから PyQt5 については何とも言えないけど、
順番にたどる必要はないと思うよ
要は、groupBox の上に乗せたせいで geometry の基準が変わってしまったから、
mapTo で centralwidget 基準に変えてあげる感じかなぁ
俺自身も勉強中なんでうまく説明できませんがw
あとは試行錯誤してね
188デフォルトの名無しさん
2021/03/13(土) 10:39:09.49ID:4YFPPFoi >>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をクリックしたら数値入力のダイアログが出るようにしたかっただけです。
何とか出来ました。
通常は最大化して、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をクリックしたら数値入力のダイアログが出るようにしたかっただけです。
189デフォルトの名無しさん
2021/03/13(土) 18:48:36.97ID:Fatapp6W flutterで組み込みとかqt余裕ぶっこいてて大丈夫なの?
190デフォルトの名無しさん
2021/03/19(金) 22:13:08.50ID:KNxdQ/y/ >>188
今更だけど、QLcdNumber をサブクラス化して自前で clicked シグナルを
実装すれば行けるんちゃう?
mousePressEvent と mouseReleaseEvent を使うんやで
今更だけど、QLcdNumber をサブクラス化して自前で clicked シグナルを
実装すれば行けるんちゃう?
mousePressEvent と mouseReleaseEvent を使うんやで
191デフォルトの名無しさん
2021/03/20(土) 06:03:54.11ID:RzELqpcm >>190
それ書いて
それ書いて
192デフォルトの名無しさん
2021/03/20(土) 08:21:48.45ID:SCCZ0sPW >>191
オープンソースの情報共有は大事やけ、サンプル作ってみたわ
C++ だけど参考にしてな
(ただ、改行数に制限があるから小出しにするで)
まず、マウスの左ボタンを押したときの処理や
void CClickableLCDNumber::mousePressEvent(QMouseEvent *e)
{
QLCDNumber::mousePressEvent(e);
if (e->button() == Qt::LeftButton && rect().contains(e->pos())) {
m_leftButtonDown = true;
}
}
マウスボタンが押された判定だから、一見領域判定必要ない気もするけど、
先に右ボタンを押したままの状態にすると、領域外で左ボタンを押した際に
mousePressEvent が呼ばれてしまうから、一応領域判定を入れてみたで
オープンソースの情報共有は大事やけ、サンプル作ってみたわ
C++ だけど参考にしてな
(ただ、改行数に制限があるから小出しにするで)
まず、マウスの左ボタンを押したときの処理や
void CClickableLCDNumber::mousePressEvent(QMouseEvent *e)
{
QLCDNumber::mousePressEvent(e);
if (e->button() == Qt::LeftButton && rect().contains(e->pos())) {
m_leftButtonDown = true;
}
}
マウスボタンが押された判定だから、一見領域判定必要ない気もするけど、
先に右ボタンを押したままの状態にすると、領域外で左ボタンを押した際に
mousePressEvent が呼ばれてしまうから、一応領域判定を入れてみたで
193デフォルトの名無しさん
2021/03/20(土) 08:24:45.80ID:SCCZ0sPW おお、インデントが無くなってしまう...まあいいか
次に、マウスの左ボタンを離したときの処理や
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::mouseReleaseEvent(QMouseEvent *e)
{
QLCDNumber::mouseReleaseEvent(e);
if (m_leftButtonDown && e->button() == Qt::LeftButton) {
m_leftButtonDown = false;
if (rect().contains(e->pos())) {
emit clicked();
}
}
}
領域内でマウスの左ボタンを離すと clicked シグナルを発生させるで
194デフォルトの名無しさん
2021/03/20(土) 08:29:47.70ID:SCCZ0sPW 最後に、マウスの左ボタンを押している最中にアプリケーションが
非アクティブになった場合の処理や
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 にしているんや
もしかして、間違っているところがあるかもしれないから、
ちゃんと動作確認しておくれ
ほな、またな
非アクティブになった場合の処理や
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 にしているんや
もしかして、間違っているところがあるかもしれないから、
ちゃんと動作確認しておくれ
ほな、またな
195デフォルトの名無しさん
2021/03/25(木) 18:45:41.30ID:PZzyM+xs 全然スレが進まないから、経験した不具合でも書き留めておくか
パスが深い状態でビルドしたら、エラーも出ずに無限ループ状態になったわ
ご参考までに
パスが深い状態でビルドしたら、エラーも出ずに無限ループ状態になったわ
ご参考までに
196デフォルトの名無しさん
2021/04/05(月) 23:35:47.54ID:KnjD4N4/ もしQtのオープンソース版が無くなったら、
やっぱりGTKに避難します?
今なら.NET 5.0 C#+GTKかなぁ
GTKって依存関係が複雑らしいですが・・・
やっぱりGTKに避難します?
今なら.NET 5.0 C#+GTKかなぁ
GTKって依存関係が複雑らしいですが・・・
197デフォルトの名無しさん
2021/04/05(月) 23:48:00.12ID:meI3V/yI .Net5.0(年末には6.0になるけど)かな
C#なら慣れてるし
C#なら慣れてるし
198デフォルトの名無しさん
2021/04/05(月) 23:58:16.91ID:KnjD4N4/ やっぱりそうですよね
うちの会社超貧乏なんで(つうかケチw)
オープンソースの開発ソフトを使ってるんです
あとで試してみますわ
うちの会社超貧乏なんで(つうかケチw)
オープンソースの開発ソフトを使ってるんです
あとで試してみますわ
199デフォルトの名無しさん
2021/04/06(火) 00:01:30.46ID:Zjz/AYhL いや、俺ならってだけだよ
今やってる組込Linuxだと、メモリがとストレージがギリギリしかないからQtの無料版で頑張ってるし(CPUも.Netを駆動するほどパワーない)
ただ、メモリもストレージもあるんだったらQt嫌いだから.Netってだけで、
今やってる組込Linuxだと、メモリがとストレージがギリギリしかないからQtの無料版で頑張ってるし(CPUも.Netを駆動するほどパワーない)
ただ、メモリもストレージもあるんだったらQt嫌いだから.Netってだけで、
200デフォルトの名無しさん
2021/04/06(火) 00:08:19.94ID:mC+OcVeH 素のC++使うこと考えたらQtって結構いいと思いますが、
まあ、ひとそれぞれですから
(ただ、Qtってランタイムのサイズが大き過ぎるのが気になりますけどね)
C#使ってみて気に入らなかったらQt使える間はQtで
次はgtkmmにするかも・・・C+GTKは流石にキツイので
まあ、ひとそれぞれですから
(ただ、Qtってランタイムのサイズが大き過ぎるのが気になりますけどね)
C#使ってみて気に入らなかったらQt使える間はQtで
次はgtkmmにするかも・・・C+GTKは流石にキツイので
201デフォルトの名無しさん
2021/04/12(月) 19:29:48.67ID:mGWa6gln KDEからQt5PatchCollectionが出るぅぅぅ〜
202デフォルトの名無しさん
2021/05/28(金) 19:15:57.36ID:YeTIq8k4 遂に Qt5.12.11 からオフラインインストール出来なくなってしもたか・・・
これからは、GTK みたいに MSYS2 使ってインストールするのが主流になるのかな?
それともみんな自前でビルドしてるん?
これからは、GTK みたいに MSYS2 使ってインストールするのが主流になるのかな?
それともみんな自前でビルドしてるん?
203デフォルトの名無しさん
2021/06/16(水) 15:38:33.15ID:VrNuOB3Y MFCに似てるといわれてたからwxWidgetsは今まで使わなかったけど、
実際使ってみたら以外に使い易かったわ
Qtのライセンスが今後どう転ぶか分からないから、
選択肢を増やしておいたほうがいいよね
実際使ってみたら以外に使い易かったわ
Qtのライセンスが今後どう転ぶか分からないから、
選択肢を増やしておいたほうがいいよね
204デフォルトの名無しさん
2021/06/29(火) 22:54:40.56ID:MW8nuyaY MouseAreaとMultiPointTouchAreaを重ねて、タップしたときに両方のonPressedを発生させるみたいなことって出来ないんですかね?
イベントを処理した上で、更に親クラスにも伝えたいんですが
イベントを処理した上で、更に親クラスにも伝えたいんですが
205デフォルトの名無しさん
2021/07/14(水) 15:08:51.67ID:ind6dggl Qt始めようと思ったのになんでこんな過疎ってるの?
206デフォルトの名無しさん
2021/07/14(水) 17:34:15.43ID:5iDWVKzR Qtが出た時程は話題もないから。
KDE が Windows11ぽいから、頑張ってみてもいいと思うよ。
KDE が Windows11ぽいから、頑張ってみてもいいと思うよ。
207デフォルトの名無しさん
2021/07/15(木) 09:12:20.33ID:Gtu2qr9m あのライセンス形態では多分衰退していくわ
昔と違ってマルチプラットフォーム環境は他にも選択肢増えてるわけだし
昔と違ってマルチプラットフォーム環境は他にも選択肢増えてるわけだし
レスを投稿する
ニュース
- 中国側が首相答弁の撤回要求、日本側拒否 [夜のけいちゃん★]
- 債券・円・株「トリプル安」に…長期金利1.755%まで上昇、円は対ユーロで史上最安値 [蚤の市★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★5 [ぐれ★]
- 映画「鬼滅の刃」の興行収入急減、日本行き航空券大量キャンセル…中国メディア報道 [蚤の市★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- フランス「G7に習近平主席を呼びたい」ドイツ「良い考えだ」 高市さん...? [237216734]
- 麻生太郎氏、高市政権と距離を置きはじめる(´・ω・`) [399259198]
- 【悲報】中国営業に熱心な日本人タレントたち、中国のイベントが続々と中止に… まだ予定中のアイドルとか歌手とかたくさんいるけど [452836546]
- 自閉症が「んなっしょい」と連呼するお🏡
- 【悲報】高市効果で「1ドル=160円」が相場へwwwwwwwwwwwwwwwwwwwwwwwwwwwww 止まらぬ高市円安💥💥 [871926377]
- 【悲報】SP500今日も暴落で完全に世界恐慌。高市恐慌として全世界で語り継がれそう [686538148]
