2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

【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
名前: E-mail (省略可) :

read.cgi ver.24052200