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();
}
}