【Win/Mac/Linux/Android/iOS】 Qt 総合スレ 19
- 1 :デフォルトの名無しさん:2019/10/24(木) 13:32:07.93 ID:rWKhVVJ5.net
- 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/
- 93 :デフォルトの名無しさん:2020/05/07(木) 10:55:50 ID:xyO/EXA1.net
- shotcutという動画編集ソフトを使用しているのですが、qt_scale_factorは整数しか使えないのでしょうか?
1.3というような数値だと2として扱われるように見えます
- 94 :デフォルトの名無しさん:2020/05/10(日) 06:29:49 ID:MdXjYqca.net
- >>92
安心して今までヘルプを確認していなかったが、昨日確認したら
オフラインインストールした5.12.6のヘルプが表示されてることに気が付いた・・・
(説明していなかったけど、qtcreatorだけじゃなくqt5.12.8もビルドしてたんや)
一応調べたら別途make docsを実行することでヘルプを
ビルド出来ることが分かったけど、docsって自動でビルドされないのか?
それともconfigure時に何か指定しなければならなかったのやろか?
- 95 :デフォルトの名無しさん:2020/06/12(金) 23:14:32 ID:5I6maKfm.net
- Qt5.15出たのに話題にならないとは・・・
- 96 :デフォルトの名無しさん:2020/06/12(金) 23:32:04.69 ID:0juPXsBO.net
- 5.15はQt6への橋渡しだからな
興味は6よ
- 97 :デフォルトの名無しさん:2020/06/16(火) 10:50:14 ID:ft0Z6DhG.net
- Qt6ってどういう方向に進歩するんだろうか。decraretive widgetsとかやるの?
- 98 :デフォルトの名無しさん:2020/06/16(火) 11:06:56.47 ID:NO1qg5y9.net
- ReactのようなModelからの自動更新機能をJavaScriptに頼らず実現してほしいね。
- 99 :デフォルトの名無しさん:2020/06/23(火) 23:41:37 ID:kovWaTXm.net
- Qt6のバイナリーパッケージの配布が始まったがどんな印象?
- 100 :デフォルトの名無しさん:2020/06/24(水) 02:53:49.17 ID:9VapQj5L.net
- いまさらなんだが・・QTって何て読むんだ?
キュウティー?
- 101 :デフォルトの名無しさん:2020/06/24(水) 09:52:27.45 ID:4I9Zugsa.net
- >>100
>>1
- 102 :デフォルトの名無しさん:2020/06/24(水) 09:59:52.43 ID:Y4c4n+Ed.net
- Qt5.15にしたらQJsonObjectでkey名に一部を除く2バイト文字を含んだkeyの処理に失敗するようになった
for (QString key : jsonObj.keys())からjsonObj.contains(key)で失敗するってなんだよ
書き込みでも存在しないと認識されるせいで同じ名前のkeyが作られるし
toVariantHashで変換すれば読み書きできるけど既にファイルは壊れちまったよ
- 103 :デフォルトの名無しさん:2020/06/24(水) 10:47:03.40 ID:6+kkBVmV.net
- 2バイト文字ωω
- 104 :デフォルトの名無しさん:2020/06/24(水) 12:33:56.40 ID:yJo1RSUy.net
- JSONのキー名に日本語を使うとか頭おかしいとしか。
- 105 :デフォルトの名無しさん:2020/06/24(水) 13:28:15.70 ID:Y4c4n+Ed.net
- 前までは問題なかったしファイル名をキー名にすると楽だったんだもの・・・
- 106 :デフォルトの名無しさん:2020/06/24(水) 13:34:26.44 ID:6+kkBVmV.net
- 漏れなら万一を考えて
ファイル名をバイト列でエンコードしてからキーにする
仮に一バイト文字のファイルであっても
"aaa.txt" というファイルだとしたら
キーのバイト列は "\61\61\61\2e\74\78\74" を与える
- 107 :デフォルトの名無しさん:2020/06/24(水) 13:35:26.44 ID:6+kkBVmV.net
- すまん最後可笑しかった
キーのバイト列は "6161612e747874" を与える
- 108 :デフォルトの名無しさん:2020/06/24(水) 14:33:34 ID:Y4c4n+Ed.net
- >>107
そうやってエンコードしとけばよかったのか
一応ファイル名のままならjson自体を開いても構成がわかりやすいってのもあったんだけど壊れるよりましだね
今度から気をつけるわthx
- 109 :デフォルトの名無しさん:2020/06/24(水) 14:50:01.15 ID:7DLmzV7c.net
- いや、日本語をキーにしても仕様上問題ないだろ
実装がバグってるだけだろ
- 110 :デフォルトの名無しさん:2020/06/24(水) 15:50:25.60 ID:rM4tv+8j.net
- UTF-8 じゃなくて、CP932 を使っているのかも?
- 111 :デフォルトの名無しさん:2020/06/24(水) 16:25:29.58 ID:OLeI57gB.net
- UTF-8 なら大体 3 バイト文字だしな
- 112 :デフォルトの名無しさん:2020/06/24(水) 17:51:21 ID:B4AJ9uyI.net
- win版Qtcreatorのアプリケーション出力枠もutf-8にしてほしい
- 113 :デフォルトの名無しさん:2020/06/24(水) 19:00:56.56 ID:JMDGovWD.net
- https://wiki.qt.io/Strings_and_encodings_in_Qt
- 114 :デフォルトの名無しさん:2020/06/25(木) 23:19:11.68 ID:HDoOrRNK.net
- 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
- 115 :デフォルトの名無しさん:2020/06/26(金) 08:10:27.14 ID:O2lfWVqP.net
- /utf8オプションつけりゃいいんじゃないの
- 116 :デフォルトの名無しさん:2020/06/26(金) 13:06:49 ID:PjbtVFt+.net
- /source-charset:utf-8 /execution-charset:utf-8
- 117 :デフォルトの名無しさん:2020/06/26(金) 13:08:52 ID:PjbtVFt+.net
- >>116 で BOM も不要
- 118 :デフォルトの名無しさん:2020/07/04(土) 11:44:18.55 ID:TS5b/UER.net
- QMLのSplitViewってハンドル上にカーソル持ってってもカーソルの形が変わらないのって普通?
- 119 :デフォルトの名無しさん:2020/07/06(月) 07:44:04.78 ID:CV9wgtZz.net
- 5.15のMSVC2019環境ではカーソル変わるよ
- 120 :デフォルトの名無しさん:2020/08/30(日) 09:19:37 ID:vbJSx4vV.net
- Qt6ってオープンソース版の提供は商用版から1年遅れるって話あったけど、
結局どうなったんやろ?
- 121 :デフォルトの名無しさん:2020/08/30(日) 14:01:58.32 ID:GgAZZaQa.net
- Perl6って結局どうなったんやろ?
- 122 :デフォルトの名無しさん:2020/09/08(火) 23:59:47.51 ID:L2ZCtfX62
- 大学で学ぶ物理を板書1枚にまとめてみた
https://www.youtube.com/watch?v=naBcXoq4aOI
物理の研究分野を板書1枚にまとめてみた
https://www.youtube.com/watch?v=4W-pWuXUaZQ
理学部と工学部の違いとは?
https://www.youtube.com/watch?v=eJH4nKU6mJA&t=80s
大学と大学院の違い
https://www.youtube.com/watch?v=xBKAEvTegN8
高校と大学の積分は決定的に違う?微分積分学の基本定理は実はすごい!
https://www.youtube.com/watch?v=V9i_zlbssbs&t=475s
数学にはどんな研究分野がある?数学の世界地図を一枚に描いて紹介してみた!
https://www.youtube.com/watch?v=fK_JGVti5y8
- 123 :デフォルトの名無しさん:2020/09/11(金) 19:47:35.61 ID:vL4h/iJU.net
- Qt5.15.1がキターーーーーーッ!!!
- 124 :デフォルトの名無しさん:2020/09/28(月) 22:00:51.47 ID:iMi4NbKw.net
- マルチスレッドで、QThreadの管理用のクラスを作りたくない人向けの書き方考えたんですがどうでしょう
myClassオブジェクトを作ると勝手に別スレッドに移行して、fin()スロットを呼べば元のスレッドに帰ってきます
- 125 :デフォルトの名無しさん:2020/09/28(月) 22:01:36.75 ID:iMi4NbKw.net
- 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();
}
- 126 :デフォルトの名無しさん:2020/10/02(金) 13:14:32.74 ID:lhs/Zzv9.net
- >>124
素直にQtConcurrentを使え
- 127 :デフォルトの名無しさん:2020/10/02(金) 13:24:07.57 ID:CQjBWPIk.net
- キュートな股間を使う
- 128 :デフォルトの名無しさん:2020/11/10(火) 19:11:21.45 ID:hiC/5cy6.net
- >>121
Qt6はPerl6と同じ運命を辿るという予言ですね?
で、Qt5がforkして新たなQt史が始まるのです・・・
- 129 :デフォルトの名無しさん:2020/11/12(木) 12:46:01.83 ID:/hZrOu15.net
- Qt6でもwidgetは追加なしなんでしょ。Javascript風やるくらいならReact行くわ
- 130 :デフォルトの名無しさん:2020/11/12(木) 14:20:22.70 ID:AJXYfkPS.net
- 実際組み込みにライバルが出てきたら
この体たらくでは終わるかもなQt
- 131 :デフォルトの名無しさん:2020/11/12(木) 17:35:40.49 ID:epAR/nsF.net
- 出てくると?
- 132 :デフォルトの名無しさん:2020/11/25(水) 10:42:20.87 ID:9s0iE7Zc.net
- C++のGUIフレームワークはQt一択?
- 133 :デフォルトの名無しさん:2020/11/26(木) 15:13:32.69 ID:mHPCh9BG.net
- >>132
数年前にクロスプラットフォーム下でwxWidgetsを試したけど、
環境の差異を自前で解決する必要があるっぽかった。(CMakeとか?)
Qtはqmakeがあって楽。
- 134 :デフォルトの名無しさん:2020/11/27(金) 15:15:13.73 ID:4Efa0NLX.net
- >>133
えっ、CMakeってめんどいの?
QtはqmakeからCMakeに移行するらしいのだが・・・
- 135 :デフォルトの名無しさん:2020/12/03(木) 02:03:34.69 ID:YAQUOpck.net
- Perl6を検索したら
じんめんちょうとケモミミメガネっ娘イラストが出て来たでござる
- 136 :デフォルトの名無しさん:2020/12/03(木) 19:22:12.66 ID:wbyvq2tU.net
- なんじゃこりゃぁ・・
- 137 :デフォルトの名無しさん:2020/12/04(金) 14:07:07.48 ID:xKyYFCXW.net
- Qtの(前向きな)話題がないのが寂しい
- 138 :デフォルトの名無しさん:2020/12/04(金) 14:27:23.48 ID:73vN5HmW.net
- 新しく勉強する人はQt4用と古くなってしまったが、オライリーの本でいいの?
- 139 :デフォルトの名無しさん:2020/12/05(土) 08:57:45.38 ID:vIbLkVkt.net
- もうすぐQt6が出るんでさすがに4の本はやめといたほうがいい
- 140 :デフォルトの名無しさん:2020/12/08(火) 05:23:00.53 ID:rGwGc8ih.net
- マルチプラットホームでゴニョゴニョやる人はFlutterに流れた?
- 141 :デフォルトの名無しさん:2020/12/08(火) 23:04:24.86 ID:9BQY2QjS.net
- Qtだからって必ずマルチで動かさなくてはならないということも無いんじゃね?
オレはMFCより使いやすそうだからQt使ってるだけだし・・・
- 142 :デフォルトの名無しさん:2020/12/09(水) 12:04:19.16 ID:FeP1mPcl.net
- 初期KDEに感動してQtカッコいいと思っているが動機かな。
LinuxとかはQtアプリがメインになればいいのに、と思っていますが、思っているだけです。
- 143 :デフォルトの名無しさん:2020/12/11(金) 20:38:19.71 ID:W8JmW3Wr.net
- PyQt5スレで質問したが過疎化しているみたいなのでこちらでよろしく。
ラズパイでPyQt5にてソフトを作っていますが、ラズパイごと販売する場合、ソースリストがPythonなんでソース公開になりますが、これでも商業利用だとライセンス違反になりますか?
- 144 :デフォルトの名無しさん:2020/12/11(金) 23:07:53.61 ID:Xb6Q9kn/.net
- >>143
GPL版のpyqt使ってるなら自分の派生コードもGPLにしないと駄目というだけて、商用非商用関係ないんじゃないの
- 145 :デフォルトの名無しさん:2020/12/12(土) 06:12:15.22 ID:0FYow1gT.net
- >>144
ありがとうございます。
自分のもGPLにするので大丈夫ですね。
販促品なので良かったです。
- 146 :デフォルトの名無しさん:2020/12/15(火) 00:30:57.81 ID:qJ1aFYR/.net
- Qtのツールキットってどうやって作ればいいの?
WindowsのQtからラズパイをLANでつないでクロスコンパイルして、デバッグまでしたいのだけどどうやって検索すればいいのかすらわからない・・・
と言うか、ラズパイだとVisual StudioからC#で作った方が楽なんだろうか・・・
- 147 :デフォルトの名無しさん:2020/12/15(火) 09:49:16.43 ID:lCiyDn/+.net
- >>146
ラズパイでARM版Windows動かすという話?
- 148 :デフォルトの名無しさん:2020/12/15(火) 09:51:29.29 ID:x2jnVkC/.net
- そのままググればいくらでも出てきそうだけど
無理しなくてもセルフコンパイルでできるんじゃない?
- 149 :デフォルトの名無しさん:2020/12/16(水) 13:42:42.43 ID:+Vs3RHJW.net
- Qt6キタ━━━━(゚∀゚)━━━━!!
- 150 :デフォルトの名無しさん:2020/12/16(水) 15:43:52.63 ID:QJd1nMyw.net
- >>146
「Qtのツールキットを作る」
という言葉の意味がいまいち分からない。
Qt自体がツールキットなのだが、それにさらに何かをかぶせた
独自ツールキットを作るという意味か?
>WindowsのQtからラズパイをLANでつないで
これも、Qtはライブラリであって完成したプログラムではないので
それにLANを繋ぐということも意味が分からない。
- 151 :デフォルトの名無しさん:2020/12/17(木) 00:47:02.12 ID:2qkNMdZn.net
- >>147>>150
ツールキットって
プロジェクト作る時に
mingWIN64かVisualStudio2017か選べるようにするじゃん
そのキットのこと
なんかウインドウズ上でもラズパイ用のキットが作れそうだと思ったの
- 152 :デフォルトの名無しさん:2020/12/17(木) 09:55:24.94 ID:hrUJzhO1.net
- >>151
ツールキットって言ってもなにか特別なことをしているわけではなく、ライブラリと設定の集まりだから
1.クロスコンパイラをインストール
2.Qtの依存しているライブラリをクロスコンパイル
3.Qtをクロスコンパイル
4.Qt Createrのオプションメニューでコンパイラやライブラリパスを指定してユーザーカスタムツールキットを作成
でいける。2.が死ぬほどめんどいからお勧めはできない。特にWindowsでは。
- 153 :デフォルトの名無しさん:2020/12/17(木) 12:56:53.13 ID:Ijkl2C0z.net
- vcpkg使うと楽やで
- 154 :150:2020/12/21(月) 23:40:40.25 ID:e1k6bUCY.net
- 二人ともありがと
なんか難しそうだなぁ
vcpkgも難しそう
cmakeとかやったこと無いよ・・
- 155 :デフォルトの名無しさん:2020/12/22(火) 11:01:32.42 ID:RyG/lCSq.net
- >>154
素直にセルフコンパイルしたほうがいいよ。Qtわりかしクロスプラットフォーム性あるんだしWindows使いたければ普段Windowsで開発して必要に応じてラズパイにソース移せばいい。
環境依存する部分あるから無理っていうなら、そもそもそんなもんクロスコンパイル出来ないでしょ。多分
- 156 :デフォルトの名無しさん:2020/12/25(金) 01:15:51.86 ID:u0aldcxK.net
- QtってC++とQMLってあるけど
みんなどっちでやってるの?
- 157 :デフォルトの名無しさん:2020/12/25(金) 06:05:11.33 ID:96G2tBdf.net
- python
- 158 :デフォルトの名無しさん:2020/12/25(金) 12:14:18.15 ID:5DQjcGeE.net
- どなたか御教授おねがいします。いろいろググってもそれらしい記事にヒットしませんでした。
QtでFrameなどのウィジェットを書き換え→印刷→書き換え→印刷....と連続で行うことは可能ですか?
QtでSQLiteのフロントエンドを作ってカード型データベースを作ろうと思っているのですが、
検索結果10件のレコードがヒットして、1レコード1枚の印刷をしたい場合は如何したもんかと悩んでいます。
よろしくお願いします。
ちなみにPyQtです。
- 159 :デフォルトの名無しさん:2020/12/25(金) 20:39:44.01 ID:TByuSfX9.net
- >>158
普通に検索結果Listに入れてループ回してQFrame変更と印刷繰り返すだけやないの?
- 160 :デフォルトの名無しさん:2020/12/28(月) 11:07:17.58 ID:UlDvGW4N.net
- >>159
ありがとうございます。
QPrintDialogをループ前に呼んでループ回すごとにQPrinterクラスに描画&印刷って感じですか?
- 161 :デフォルトの名無しさん:2021/01/13(水) 18:01:01.88 ID:7VVzUimR.net
- QMAKE_INCDIR_OPENGL,EGL が /usr/include/libdrm になるのがムカツク
うざけんな
- 162 :デフォルトの名無しさん:2021/02/05(金) 21:22:13.17 ID:bhn4d8D9.net
- Qt for Rust が欲しいわ〜
- 163 :デフォルトの名無しさん:2021/02/08(月) 23:33:54.93 ID:dQ8TTNE6.net
- 直リンは無いけどアーカイブ上に存在する
Qt5.12.10のオフラインインストーラは使ってもいいんだよね?
(ちなみに、LANケーブル引っこ抜いてオフライン状態にしたら、
未登録でもインストール出来てしまう...まあ、オフラインインストーラなんだから
あたりまえかもしれないが)
- 164 :デフォルトの名無しさん:2021/03/06(土) 02:09:16.52 ID:ZmFBbMdQ.net
- 個人で商用ライセンス買ってる人いるのかな?
年間5万ちょいだが。
- 165 :デフォルトの名無しさん:2021/03/06(土) 02:15:34.82 ID:t6oqPQ7k.net
- >>163
直リンあるぞ
ダウンロードサイトから薄ーい色で書いてあるOfflineのところからクリックするとそのページに行く
- 166 :デフォルトの名無しさん:2021/03/06(土) 02:18:11.20 ID:t6oqPQ7k.net
- 何かうちの会社がやるとき一人年間6000ドルとか言われて
急いで決めなきゃいけないのに稟議面倒くさくて結局止めちゃったのに今そんな金額なのかよ
- 167 :デフォルトの名無しさん:2021/03/06(土) 06:05:12.50 ID:UvQPKsws.net
- 一人年間100万だか言われた気が
- 168 :デフォルトの名無しさん:2021/03/06(土) 08:17:14.46 ID:N1UPRC8r.net
- >>165
ほんとだ!いつの間にか直リン出来てるわ
以前は無かったんだけど、サイト更新前だったのかなぁ・・・
- 169 :デフォルトの名無しさん:2021/03/07(日) 00:20:31.78 ID:XG5iDLD/.net
- 5.15.3は以前のアナウンスの通り商用オンリーになってしまったな
もしやQt5.15にもフォークの嵐が!?
- 170 :デフォルトの名無しさん:2021/03/09(火) 00:32:23.71 ID:2EcPBb3J.net
- 重い腰あげてQMLやるわ
UIが綺麗だもんしょうがないね
- 171 :デフォルトの名無しさん:2021/03/09(火) 00:52:53.42 ID:jPxQYiua.net
- QMLってロジック部分もQMLなの?
なんか解説サイトは入門しか無くていまいち理解出来ん
- 172 :デフォルトの名無しさん:2021/03/09(火) 01:36:59.88 ID:2EcPBb3J.net
- 俺もまだ入門読んでる段階だから分からん
けど複雑な部分はJavaScriptで書くらしい
- 173 :デフォルトの名無しさん:2021/03/09(火) 01:38:41.75 ID:2EcPBb3J.net
- 実質JavaScript/cssみたいな感じじゃないか
- 174 :デフォルトの名無しさん:2021/03/09(火) 02:37:14.59 ID:QrjThQpk.net
- 此方はコア機能はc++で書いてjsはguiの味付け程度にしてる
- 175 :デフォルトの名無しさん:2021/03/09(火) 08:38:43.07 ID:HV3G9kxd.net
- ファイル入出力とかはC++でUIがQMLロジックのほとんどはJS
最近慣れてきてやっとQtQuick悪くないと思えてきた
- 176 :デフォルトの名無しさん:2021/03/09(火) 14:13:02.45 ID:iP4nVCks.net
- 痛いのは最初だけ
- 177 :デフォルトの名無しさん:2021/03/09(火) 15:04:39.69 ID:QRjKQIVx.net
- qt 6でUIが綺麗になったの?
- 178 :169:2021/03/09(火) 19:54:34.95 ID:SIG6GrEl.net
- 知らん
qt quickならMaterialテーマとかが使えるから、そのためにQMLの入門ブログ一通り読んだけど
調べたところPythonからでもMaterialテーマ(に近いもの)は使えるみたい(qt-material)
つまるところ徒労だったわけだが、折角QMLを学んだので使ってみようと思う
ちなみにQMLで良いなと思ったのは、親要素の高さと幅に対するパーセンテージで子要素のジオメトリが指定できるところかな
- 179 :デフォルトの名無しさん:2021/03/09(火) 19:56:35.86 ID:SIG6GrEl.net
- 体性
>パーセンテージで指定できる
正確にはJSで「parent.width * 0.8」とか書く
- 180 :デフォルトの名無しさん:2021/03/09(火) 19:57:23.58 ID:SIG6GrEl.net
- ×体性
○訂正
グダグダですまn
- 181 :デフォルトの名無しさん:2021/03/12(金) 17:24:50.76 ID:SLhJb7L+.net
- mousePressEventでevent.x()とevent.y()の座標からWidegetのgeometry()の範囲の場合はWidget上でタッチしたと処理をしていました。
WidgetをTabとかGroupに置いたらgeometry()は、親Widgetからの相対位置になりましが、MainWindowの座標値からにするにはどうしたら良いのでしょうか?
- 182 :デフォルトの名無しさん:2021/03/12(金) 20:51:37.44 ID:NAIHKCkj.net
- >>181
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() にそれぞれ足せばいい
- 183 :デフォルトの名無しさん:2021/03/12(金) 21:12:38.77 ID:NAIHKCkj.net
- >>182
■ 追記
元々は centralwidget が親だったのだろうから、
this (MainWindow) じゃなくて ui->centralwidget の方が正しいかもしれない
- 184 :デフォルトの名無しさん:2021/03/12(金) 21:33:46.50 ID:SLhJb7L+.net
- >>182
ありがとうございます。
C++じゃなくてpythonでどう書けば良いのかわかりません。
PyQt5とraspberry piなんです。
- 185 :デフォルトの名無しさん:2021/03/12(金) 21:35:52.88 ID:SLhJb7L+.net
- thisをselfに置き換えて書けば良いのかな?
- 186 :デフォルトの名無しさん:2021/03/12(金) 21:38:03.51 ID:SLhJb7L+.net
- 明日、mapToをしらべます。
- 187 :デフォルトの名無しさん:2021/03/12(金) 21:41:15.83 ID:SLhJb7L+.net
- tabの上にgroup置いて、そこにwidget置いたから順番にmapToやるんですね?
- 188 :デフォルトの名無しさん:2021/03/12(金) 23:35:27.97 ID:NAIHKCkj.net
- >>187
Python 知らないから PyQt5 については何とも言えないけど、
順番にたどる必要はないと思うよ
要は、groupBox の上に乗せたせいで geometry の基準が変わってしまったから、
mapTo で centralwidget 基準に変えてあげる感じかなぁ
俺自身も勉強中なんでうまく説明できませんがw
あとは試行錯誤してね
- 189 :おお:2021/03/16(火) 19:36:39.99 ID:D5q0wqIcG
- 【ITエンジニア】SES会社辞めた後に気付いたこと
https://www.youtube.com/watch?v=tTOmfJ05GEM
IT人材派遣SESメインの会社はお、し、ま、い です。
https://www.youtube.com/watch?v=pvb9PVvMzCk
【IT悩み相談】SEのフリーランスって難しいですか?
https://www.youtube.com/watch?v=kdw5TYWonfk
会社員時代に思っていた"フリーランスエンジニア"と今のギャップ
https://www.youtube.com/watch?v=GJDT5HEqPBg
- 190 :デフォルトの名無しさん:2021/03/13(土) 10:39:09.49 ID:4YFPPFoi.net
- >>188
何とか出来ました。
通常は最大化して、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をクリックしたら数値入力のダイアログが出るようにしたかっただけです。
- 191 :デフォルトの名無しさん:2021/03/13(土) 18:48:36.97 ID:Fatapp6W.net
- flutterで組み込みとかqt余裕ぶっこいてて大丈夫なの?
- 192 :デフォルトの名無しさん:2021/03/19(金) 22:13:08.50 ID:KNxdQ/y/.net
- >>190
今更だけど、QLcdNumber をサブクラス化して自前で clicked シグナルを
実装すれば行けるんちゃう?
mousePressEvent と mouseReleaseEvent を使うんやで
98 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200