質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Qt

QtはGUIプログラムの開発で広く使われているクロスプラットフォーム開発のフレームワークです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

1回答

4268閲覧

[Qt]Qtのデザイン

BeatStar

総合スコア4958

Qt

QtはGUIプログラムの開発で広く使われているクロスプラットフォーム開発のフレームワークです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2017/10/29 05:20

趣味でC++やっています。

馬鹿っぽい質問ですが、Windows上でQtを使う場合でMacのデザインにすることは可能でしょうか。

私はWindows上でしか使ったことがない( Macは何回かあるが電源入れただけのレベル )ですが、

Qtのヘルプファイル ( documemtation ) を見ると Macのデザインが可愛く見えるので

Windows上でも Macみたいな丸っこいデザインに出来ないかなぁと。

やっぱり無理でしょうか?

Macのデザインはいいなぁ。( Macそのものは好きではないが... )

[情報]
言語: C++
Qtバージョン: 5.6
OS: Windows 10 ( or 7 ? )

宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

QApplication::setStyleでスタイルを変更することが出来ます。

C++

1QApplication::setStyle(QStyleFactory::create("Fusion"));

さらに、利用可能なスタイルはQStyleFactory::keysで確認できます。
何が使えるか表示するだけなら次のコードで充分です。

C++

1#include <QtCore/QDebug> 2#include <QtWidgets/QStyleFactory> 3 4int main(int argc, char *argv[]) { 5 qDebug() << QStyleFactory::keys(); 6 return 0; 7}

実行結果

("Windows", "WindowsXP", "WindowsVista", "Fusion")

私の環境(Win10, Qt5.6.0, MSVC2015_64)ではMacスタイルは利用できないようです。

実際、リファレンスに次のような記述があります。

The valid keys can be retrieved using the keys() function. Typically they include "windows" and "fusion". Depending on the platform, "windowsxp", "windowsvista", "gtk" and "macintosh" may be available. Note that keys are case insensitive.

やはり、環境依存のようですね。

ところで

ここまで回答を書いて、一応ググってみたところ...
ほぼ同じ回答を発見してしまいました。stackoverflow - Application Window Style

Qt5 has new way to set style. For example:

C++

1QApplication a(argc, argv); 2qDebug() << QStyleFactory::keys(); 3a.setStyle(QStyleFactory::create("Fusion"));

In my computer output is:

("Windows", "WindowsXP", "WindowsVista", "Fusion")

As you can see, mac os style is not available.

The QStyleFactory class creates QStyle objects.

The QStyle class is an abstract base class that encapsulates the look and feel of a GUI. QStyleFactory creates a QStyle object using the create() function and a key identifying the style. The styles are either built-in or dynamically loaded from a style plugin (see QStylePlugin).

The valid keys can be retrieved using the keys() function. Typically they include "windows" and "fusion". Depending on the platform, "windowsxp", "windowsvista", "gtk" and "macintosh" may be available. Note that keys are case insensitive.

ロジックの流れとコードが一致、引用箇所と強調部分もほぼ一致。
後からパクリと言われるのもあれなので、前もって書いてしまいました。

投稿2017/10/29 08:26

LouiS0616

総合スコア35658

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

BeatStar

2017/11/01 03:11

ご回答ありがとうございます。 なるほど。setStyleメンバ関数でしたか... documentation を見てはいたのですが、イメージができなかったので... 検索しようにも、キーワード ( ご提示された "QStyle" 等 ) が思いつかなかったので... 外出先からなので、帰宅後試してみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問