ハイハイスクールアドベンチャー_qt版
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
ハイハイスクールアドベンチャー_qt版 [2024/02/06 04:30] – [ビルド] araki | ハイハイスクールアドベンチャー_qt版 [2024/10/05 03:34] (現在) – [ダイアログについて] araki | ||
---|---|---|---|
行 98: | 行 98: | ||
ところが、これやったら、ダイアログの左上に出てくるだけで、狙ったところにスクロールバーはつかない。 | ところが、これやったら、ダイアログの左上に出てくるだけで、狙ったところにスクロールバーはつかない。 | ||
- | ((後で考えたらもしかすると QGridLayout *l = qobject_cast< | + | ((後で考えたらもしかすると QGridLayout *l = qobject_cast< |
もうなんか、アイコンのあるなしで場所代わるし、レイアウト触るんじゃなくて、表示してる QLabel の中身をスクロールバーつきの QLabelに変えちゃえばいいんじゃね? | もうなんか、アイコンのあるなしで場所代わるし、レイアウト触るんじゃなくて、表示してる QLabel の中身をスクロールバーつきの QLabelに変えちゃえばいいんじゃね? | ||
行 123: | 行 123: | ||
なお、QMessageBoxを継承した場合は void about()も定義しなおしておかないといけない。 | なお、QMessageBoxを継承した場合は void about()も定義しなおしておかないといけない。 | ||
+ | 最後の setMinimunSize()に関しては、StyleSheetでやっている例もあったが、QLabel { min-width: 300 px; min-height: 300 px; }みたいにしてしまうと、textだけでなく、アイコンの方もそのサイズにされてしまうので、アイコン付きの about()では都合が悪いのだ。 | ||
< | < | ||
行 140: | 行 141: | ||
Qt:: | Qt:: | ||
お手軽だが、こんなの、Qtのソースみないとわからない。 | お手軽だが、こんなの、Qtのソースみないとわからない。 | ||
+ | |||
+ | ==== Qt5/ | ||
+ | |||
+ | 主に[[uConsole]]でコード書いていた関係で、Qt5を使って開発したため、Qt6で動くかどうかとか全然ちゃんと調べてなかった。 | ||
+ | [[DevTerm]]の方は逆にQt6をインストールしてあったので、そっちでビルドできるかトライしたらあっさりこけた。 | ||
+ | |||
+ | ただし、こけたのは QMediaPlayer 周り。 | ||
+ | |||
+ | 音鳴らす機能はおまけなのでなくてもいい。 | ||
+ | |||
+ | とりあえず、動作チェックのために、Qt6 なら飛ばすようにした。 | ||
+ | |||
+ | < | ||
+ | #if QT_VERSION < QT_VERSION_CHECK(6, | ||
+ | _mp.setMedia(QUrl:: | ||
+ | _mp.setVolume(100); | ||
+ | _mp.play(); | ||
+ | #endif | ||
+ | </ | ||
+ | |||
+ | ざっくり、Qt6.0.0より前のバージョンの時だけコンパイルされるようにした。 | ||
+ | |||
+ | でも待って。Qt6のリファレンスにサンプルコードあるじゃん。 | ||
+ | ってことで、速攻で Qt6用のコードも追加した。 | ||
+ | 音もちゃんと鳴った。 | ||
+ | |||
+ | < | ||
+ | #if QT_VERSION < QT_VERSION_CHECK(6, | ||
+ | _mp.setMedia(QUrl:: | ||
+ | _mp.setVolume(100); | ||
+ | _mp.play(); | ||
+ | #else | ||
+ | _mp.setAudioOutput(& | ||
+ | _mp.setSource(QUrl:: | ||
+ | _audio.setVolume(100); | ||
+ | _mp.play(); | ||
+ | #endif | ||
+ | </ | ||
+ | |||
+ | ボリュームの制御が QAudioOutput に移されてて、あとは setMedia()が setSource()になっただけ。 | ||
+ | とはいえ、違いは違い。 | ||
ハイハイスクールアドベンチャー_qt版.1707193803.txt.gz · 最終更新: 2024/02/06 04:30 by araki