Поддержка Qt для VNC - PullRequest
0 голосов
/ 13 мая 2010

Я хочу проверить, поддерживает ли Qt VNC или нет. Для этого я написал небольшую программу с использованием библиотеки Qt.

Исходный код для программы верстки выглядит следующим образом:

layout.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-ПК. Для этого я настроил Qt и установил так.

  1. . / Configure -qt-gfx-vnc
  2. сделать
  3. сделать установку

Программа работает нормально. Но если я запускаю приложение как приложение VNC-сервера, например

. / Layout -qws -display VNC: 0

Я столкнулся с ошибкой. Он говорит, что «_X11TransSocketINETConnect () не может получить адрес для VNC: 6000: временный сбой в разрешении имени» ..

Пожалуйста, помогите мне, что мне нужно сделать.

Спасибо

1 Ответ

1 голос
/ 14 мая 2010

Вы не настроили Qt для использования QWS, чего вы и хотели.

По этой причине создается впечатление, что ваше приложение молча игнорирует параметр -qws, а параметр -display VNC:0 заставляет его попытаться подключиться к отображаемому на X11 номеру 0 на хосте VNC, который не существует.

Вам нужно передать параметр -embedded при настройке Qt, если вы хотите использовать QWS.

...