跳转至

QtJambi 简介

原文: http://zetcode.com/gui/qtjambi/introduction/

在 QtJambi 编程教程的这一部分中,我们将介绍 QtJambi 工具包并创建我们的第一个 QtJambi 程序。

本教程的目的是帮助您开始使用 QtJambi 工具包。 可以在此处下载本教程中使用的图像。 我使用了 Gnome 项目的探戈图标包中的一些图标。

关于

QtJambi是用于创建图形用户界面的跨平台工具包。 它基于两种非常成功的技术。 Qt 库和 Java 编程语言。 Qt 是功能强大的跨平台应用开发框架。 它的母语是 C++ 。 Java 是非常成功的编程语言。 QtJambi 是 Qt 库的 Java 绑定。 与 Python,C# 和 Ruby 绑定不同,诺基亚公司正式支持 Java 绑定。

创建工具提示

第一个示例将显示一个工具提示。 工具提示是一个小的矩形窗口,它提供有关对象的简短信息。 它通常是一个 GUI 组件。 它是应用帮助系统的一部分。

package com.zetcode;

import com.trolltech.qt.gui.QApplication;
import com.trolltech.qt.gui.QWidget;

/**
 * ZetCode QtJambi tutorial
 *
 * This program displays a
 * tooltip
 *
 * @author jan bodnar
 * website zetcode.com
 * last modified March 2009
 */

public class JambiApp extends QWidget {

    public JambiApp() {

        setWindowTitle("Tooltip");

        setToolTip("This is QWidget");

        resize(250, 150);
        move(300, 300);
        show();
    }

    public static void main(String args[])
    {
        QApplication.initialize(args);
        new JambiApp();
        QApplication.exec();
    }
}

该示例创建一个窗口。 如果将鼠标指针悬停在窗口区域上方,则会弹出一个工具提示。

import com.trolltech.qt.gui.QApplication;
import com.trolltech.qt.gui.QWidget;

这些是我们在代码示例中使用的组件的必要导入。

public class JambiApp extends QWidget {

该示例继承自QWidgetQWidget类是所有用户界面对象的基类。 小部件是用户界面的原子。 它从窗口系统接收鼠标,键盘和其他事件。

setWindowTitle("Tooltip");

此方法调用为窗口创建标题。

setToolTip("This is QWidget");

setToolTip方法为QWidget对象创建一个工具提示。

resize(250, 150);

在这里,我们设置窗口的宽度和高度。

move(300, 300);

move()方法在屏幕上移动窗口。

show();

一切准备就绪后,我们在屏幕上显示窗口。

QApplication.initialize(args);
new JambiApp();
QApplication.exec();

这三行设置了应用。

Tooltip

图:工具提示

使窗口居中

在第二个示例中,我们将窗口置于屏幕中央。

package com.zetcode;

import com.trolltech.qt.gui.QApplication;
import com.trolltech.qt.gui.QDesktopWidget;
import com.trolltech.qt.gui.QWidget;

/**
 * ZetCode QtJambi tutorial
 *
 * This program centers a window
 * on the screen
 * 
 * @author jan bodnar
 * website zetcode.com
 * last modified April 2009
 */

public class JambiApp extends QWidget {

    private final int WIDTH = 250;
    private final int HEIGHT = 150;

    public JambiApp() {

        QDesktopWidget qdw = new QDesktopWidget();

        int screenWidth = qdw.width();
        int screenHeight = qdw.height();

        int x = (screenWidth - WIDTH) / 2;
        int y = (screenHeight - HEIGHT) / 2;

        resize(WIDTH, HEIGHT);
        move(x, y);
        setWindowTitle("Center");
        show();
    }

    public static void main(String[] args) {
        QApplication.initialize(args);
        new JambiApp();
        QApplication.exec();
    }
}

QtJambi 没有使窗口居中的单一方法。

private final int WIDTH = 250;
private final int HEIGHT = 150;

这两个常数定义了应用窗口的宽度和高度。

QDesktopWidget qdw = new QDesktopWidget();

QDesktopWidget类提供有关屏幕的信息。

int screenWidth = qdw.width();
int screenHeight = qdw.height();

在这里,我们确定屏幕的宽度和高度。

int x = (screenWidth - WIDTH) / 2;
int y = (screenHeight - HEIGHT) / 2;

在这里,我们计算居中窗口的 x,y 坐标。 为了使窗口在屏幕上居中,我们需要知道屏幕的大小和窗口的大小。

move(x, y);

我们将窗口移至计算出的 x,y 坐标。

退出按钮

在本节的最后一个示例中,我们将创建一个退出按钮。 当我们按下此按钮时,应用终止。

package com.zetcode;

import com.trolltech.qt.gui.QApplication;
import com.trolltech.qt.gui.QPushButton;
import com.trolltech.qt.gui.QWidget;

/**
 * ZetCode QtJambi tutorial
 *
 * This program creates a quit
 * button. When we press the button,
 * the application terminates
 *
 * @author jan bodnar
 * website zetcode.com
 * last modified April 2009
 */

public class JambiApp extends QWidget
{

    public JambiApp() {

        setWindowTitle("Quit button");

        initUI();

        resize(250, 150);
        move(300, 300);

        show();
    }

    private void initUI() {

        QPushButton quit = new QPushButton("Quit", this);
        quit.setGeometry(30, 30, 75, 30);

        quit.clicked.connect(QApplication.instance(), "quit()");
    }

    public static void main(String args[])
    {
        QApplication.initialize(args);
        new JambiApp();
        QApplication.exec();
    }
}

我们使用QPushButton。这是一个非常常见的小部件。 它是一个矩形,通常显示一个文本标签。

initUI();

我们将用户界面的创建委托给initUI()方法。

QPushButton quit = new QPushButton("Quit", this);

我们创建按钮小部件。 构造器的第一个参数是标签,按钮将显示该标签。 第二个参数是按钮的父窗口小部件。

quit.setGeometry(30, 30, 75, 30);

我们定位和调整按钮小部件的大小。 前两个参数是按钮的 x,y 坐标。 最后两个参数是按钮的宽度和高度。

quit.clicked.connect(QApplication.instance(), "quit()");

当我们点击按钮时,会发出clicked信号。 connect()方法将信号连接到对象的特定槽。 该方法的第一个参数是接收信号的对象。 在我们的例子中,它是应用对象。 第二个参数是方法,称为。 在我们的情况下,它是应用对象的quit()方法。

Quit button

图:退出按钮

本节是 QtJambi 工具包的介绍。



回到顶部