Qt Jambi
目前版本 | 4.8.6(2015年1月31日 | )
---|---|
原始碼庫 | |
程式語言 | Java |
作業系統 | 跨平台 |
許可協定 | LGPL |
網站 | http://qt-jambi.org |
Qt Jambi是跨平台的應用程式框架Qt的java綁定版本。對Java開發人員來說可以使用Java標準版和Java企業版進行開發,並且對C++程式設計師也提供了Qt Jambi generator,可以方便地將其C++寫成的Qt代碼整合到Java中。
Qt Jambi最初是由Qt Development Frameworks開發。Qt Jambi 4.5.0_01之後以LGPL釋出原始碼,並轉交由開源社群繼續維護開發。[1]
Qt Jambi支援X Window System(包含Linux操作系統和其他Unix),以及Mac OS X操作系統和微軟Windows。
相較於Swing的Listener架構需要實作一堆介面,介面的限制造成了有時需要透過中介的物件來將事件交給適當的物件處理
Qt的signal/slot設計則更為直覺更有效率
在白皮書中舉了下列例子比較
Swing:
slider.addChangeListener(new ChangeListener(){
public void stateChanged (ChangeEvent e) {
spinner.setValue(slider.getValue());
}
});
spinner.addChangeListener(new ChangeListener(){
public void stateChanged (ChangeEvent e) {
slider.setValue((Integer)spinner.getValue());
}
});
Qt Jambi:
slider.valueChanged.connect(spinBox, "setValue(int)");
spinBox.valueChanged.connect(slider, "setValue(int)");
Qt Jambi的hello world
package com.trolltech.examples.tutorial;
import com.trolltech.qt.gui.*;
public class HelloWorld
{
public static void main(String args[])
{
QApplication.initialize(args);
QPushButton hello = new QPushButton("Hello World!");
hello.show();
QApplication.exec();
}
}