0

我想测试qt是否支持VNC。为此,我使用 Qt 库编写了一个小型布局程序。

布局程序的源代码如下:

布局.cpp

#include <QApplication>
#include <QHBoxLayout>
#include <QSlider>
#include <QSpinBox>
int main(int argc, char *argv[])
{
        QApplication app(argc, argv);
        QWidget *window = new QWidget;
        window->setWindowTitle("Enter The Age of the person");
        QSpinBox *spinBox = new QSpinBox;
        QSlider *slider = new QSlider(Qt::Horizontal);
        spinBox->setRange(0, 130);
        slider->setRange(0, 130);
        QObject::connect(spinBox, SIGNAL(valueChanged(int)),
        slider, SLOT(setValue(int)));
        QObject::connect(slider, SIGNAL(valueChanged(int)),
        spinBox, SLOT(setValue(int)));
        spinBox->setValue(35);
        QHBoxLayout *layout = new QHBoxLayout;
        layout->addWidget(spinBox);
        layout->addWidget(slider);
        window->setLayout(layout);
        window->show();
        return app.exec();
 }

我想在我的 linux PC 上将它作为服务器应用程序运行。为此,我配置了 Qt 并像这样安装。

  1. ./configure -qt-gfx-vnc
  2. 制作
  3. 进行安装

该程序运行良好。但是,如果我将应用程序作为 VNC 服务器应用程序运行,例如

./layout -qws -display VNC:0

我遇到了一个错误。它说“_X11TransSocketINETConnect() 无法获取 VNC:6000 的地址:名称解析暂时失败”..

请帮我做我需要做的事情。

谢谢

4

1 回答 1

0

您没有将 Qt 配置为使用 QWS,这正是您想要的。

出于这个原因,您的应用程序似乎在默默地忽略该-qws选项,并且该-display VNC:0选项导致它尝试连接到主机 VNC 上不存在的 X11 显示器编号 0。

-embedded如果要使用 QWS,则需要在配置 Qt 时传递该选项。

于 2010-05-14T00:03:58.700 回答