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();
}
}
参考文献
外部链接
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.