気ままにやっていくプログラミングとかブログ

中学1年生が気ままにプログラムのことを中心に書いていくブログです。

GtkかQtかwxWidgetsか

こんにちは。

Kitachisukuです。

 

皆さんはGUIツールキット何を利用していますか?

 

少し前までは自分はGtk派だったんですが、

とあるややこしい部分があり、

結果的にはwxWidgetsに移行することになりました。

 

今回はGUIツールキットを求めて探す人に参考になればと、

それらをまとめたものを書いていきます。

 

※ちなみにUIデザイナが存在するものだけを載せています

 

広告

 


 1.GTK

2.Qt

3.wxWidgets


 

 1.GTK

www.gtk.org

 

UIデザイナの「Glade」

glade.gnome.org

 

GTKはGimpの開発に使われたGUIツールキットです。

 

「テーマ」というものがあり、

他のGUIツールキットより高いデザインの拡張性を持っており、

基本的に並べていく方式でデザインしていくので、

センスがなくて絶対指定だとうまくできない自分みたいな人たちに優しいGUIツールキットとなっております。

 

また、

もともとはC言語用なのですが、

C++Python、Rustなど、

様々な言語へのバインディングがあります。

 

これの利点は以下です。

  • フリー
  • レイアウトがかんたん
  • 好きなデザインを使うことができる
  • 自分が使っている言語で使える可能性大

 

逆に欠点は以下です。

  • インストールが超★面★倒
  • 依存ライブラリとかが結構ある
  • ライセンスはLGPLなんだけど、依存ライブラリとかの関係でライセンスがよくわからない
  • ネイティブなUIではない

 

自分がやめた理由は「ライセンス」です。

 

2.Qt

www.qt.io

 

GUIデザイナは開発ツールに付属

 

Qtはデザインが美しいGUIツールキットです。

 

QtにはIDEが付属しており、

そのIDEで開発を行うことができます。

 

開発は企業が行ってるので、

サポート的にも安心です。

 

配置は絶対指定...かな?

 

使ったことないのでよくわかりません。

 

C++特化なんですが、

一応Pythonなどへのバインディングが存在します。

 

これの利点は以下です。

  • 美しいデザインが作れる
  • 企業が作ってるという安心感
  • C++人にはいい
  • IDEにUIデザイナが付属(つまりインストールがかんたん)

 

逆に欠点は以下です。

  • 有料版、無料版があり、無料版はライセンスがGPLである ←ココ重要

2021/04/28 追記

LGPL版あります

  • インストールサイズが超デカイ
  • 依存ライブラリ多し
  • ネイティブなUIではない
  • GTKのようにテーマがない

 

ここですよここ。

 

ここさえなければこれ使ってた。

 

これライセンスがGPLなんですよ!!

※2021/04/28 追記 LGPL版ありました

 

つまりこれで作ったものは全部GPLライセンスで配布しなければいけない、と。

 

やってられるかァァァァァァァァァァッ"。

 

3.wxWidgets

www.wxwidgets.org

 

UIデザイナ

Code::BlocksプラグインのwxSmith

wiki.codeblocks.org

wxFormBuilder など

github.com

 

「こんなのじゃまともにアプリが作れないじゃないか!!!」

 

んなあなたにおすすめ、(広告風)

wxWidgets

 

C++GUIアプリが作れるものです。

 

wxWidgetsは可能な限りそのOSのネイティブのUIを使います。

 

フリーでかつUIビルダーもあってかつ、

ライセンスはLGPLです。

 

さらに依存ライブラリもなし!!!!!!

 

いいやん!!!!!

 

利点

  • ネイティブなUIを使う
  • ライセンスは大丈夫。どんなライセンスでも配布できる。
  • 依存ライブラリなし!!!!

 

いいじゃないですか!!

 

逆に欠点は、

  • GTKのようにテーマがない
  • C++特化

 

このぐらいです。

 

つまり結論として、

wxWidgetsはいいぞ、ということです。

 

では。