- Published on
Windows で QtJambi を使う
- Authors
- Name
- Daisuke Kobayashi
- https://twitter.com
Qt Jambi を使った時のメモです.
僕は GUI が苦手です.どうせやるなら他の言語にも応用できるものがいい,ということで QtJambi です.数年前からあまり開発が活発ではないみたいですが使ってみました.
インストール
ここ から Windows 32bit 4.8.5-beta4 をダウンロードしてインストールします.
main を書きます.
import com.trolltech.qt.gui.QApplication;
import com.trolltech.qt.gui.QPushButton;
public class Main {
public static void main(String[] args) {
QApplication.initialize(args);
QPushButton hello = new QPushButton("Hello World!");
hello.resize(120, 40);
hello.setWindowTitle("Hello World");
hello.show();
QApplication.execStatic();
}
}
インストールしたフォルダからqtjambi-4.8.5.jar
とqtjambi-native-win32-mingw-4.8.5.jar
をカレントフォルダにコピーし,コマンドラインから下記を入力します.
jar cvf Main.jar *.class $ java -cp qtjambi-4.8.5.jar;qtjambi-native-win32-mingw-4.8.5.jar;Main.jar Main
IntelliJ 用プロジェクトを作成
IntelliJ から読込できるプロジェクトを作成します.フォルダ構成は下記のようにします.
QtJambiTest --- lib --- qtjambi-4.8.5.jar
| +- qtjambi-native-win32-mingw-4.8.5.jar
|
+- project --- plugins.sbt
|
+- src --- main --- java --- Main.java
|
+- build.sbt
project/plugins.sbt
に下記を追加します.
addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.6.0")
build.sbt
を下記のような感じで書きます.
name := "QtJambiTest"
version := "0.0.1"
scalaVersion := "2.11.2"
libraryDependencies ++= Seq(
)
コマンドラインから下記を入力して,Intellij のプロジェクトを作成します.
$ sbt gen-idea
作成されたプロジェクトからプログラムを実行できるかと思います.
QtDesigner で作成した ui ファイルからソースを生成
下記の手順で.ui
ファイルからソースコードが生成されますが,一部の機能は対応していない?模様です.enum 系のパラメータで警告が出ます.
*.ui
を*.jui
にリネーム- ui ファイルを開き,
<?xml version="1.0" encoding="UTF-8"?>
を削除 - 一番上の空白行を削除
<ui version="4.0">
を<ui version="4.0" language="jambi">
に変更juic -cp .