Skip to content

signal-slot/qtcreator-vnc-plugin

Repository files navigation

Qt Creator VNC Client Plugin

A plugin for Qt Creator that provides an integrated VNC client, allowing you to connect to remote VNC servers directly from the IDE.

Features

  • Connect to VNC servers with various protocol versions (3.3, 3.7, 3.8)
  • Support for different security types (None, VNC Authentication, Tight, TLS)
  • View and interact with remote desktops within Qt Creator
  • Full keyboard and mouse event forwarding to the remote system
  • Dock-based UI that can be positioned anywhere in the IDE
  • Simple and intuitive interface with connection status indicators
  • Keyboard shortcut (Ctrl+Alt+V) for quick access

How to Build

Create a build directory and run:

cmake -DCMAKE_PREFIX_PATH=<path_to_qtcreator> -DCMAKE_BUILD_TYPE=RelWithDebInfo <path_to_plugin_source>
cmake --build .

where <path_to_qtcreator> is the relative or absolute path to a Qt Creator build directory, or to a combined binary and development package (Windows / Linux), or to the Qt Creator.app/Contents/Resources/ directory of a combined binary and development package (macOS), and <path_to_plugin_source> is the relative or absolute path to this plugin directory.

Testing

The plugin can be built with tests by passing the -DWITH_TESTS=ON option to CMake:

cmake -DCMAKE_PREFIX_PATH=<path_to_qtcreator> -DCMAKE_BUILD_TYPE=RelWithDebInfo -DWITH_TESTS=ON <path_to_plugin_source>
cmake --build .

How to Run

Run a compatible Qt Creator with the additional command line argument:

-pluginpath <path_to_plugin>

where <path_to_plugin> is the path to the resulting plugin library in the build directory (<plugin_build>/lib/qtcreator/plugins on Windows and Linux, <plugin_build>/Qt Creator.app/Contents/PlugIns on macOS).

You might want to add -temporarycleansettings (or -tcs) to ensure that the opened Qt Creator instance cannot mess with your user-global Qt Creator settings.

When building and running the plugin from Qt Creator, you can use:

-pluginpath "%{buildDir}/lib/qtcreator/plugins" -tcs

on Windows and Linux, or

-pluginpath "%{buildDir}/Qt Creator.app/Contents/PlugIns" -tcs

for the Command line arguments field in the run settings.

Usage

  1. After installing the plugin, you can access the VNC client from the "Tools > VNC Client" menu or by using the keyboard shortcut Ctrl+Alt+V.
  2. Click on "Open VNC Client" to open the VNC client dock widget.
  3. Enter the VNC server details:
    • Host: The hostname or IP address of the VNC server (default is "localhost")
    • Port: The port number (default is 5900)
  4. Click "Connect" to establish a connection to the VNC server.
  5. Once connected, you can interact with the remote desktop directly within Qt Creator:
    • Mouse clicks and movements are forwarded to the remote system
    • Keyboard input is sent to the remote system
    • The remote desktop is displayed in real-time
  6. The connection status is shown at the bottom of the widget.
  7. Click "Disconnect" to close the VNC connection when you're done.

Requirements

License

This project is licensed under LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only.

Development

The plugin is structured with the following main components:

  • qtcreatorvncplugin.cpp: Main plugin implementation that integrates with Qt Creator
  • vncwidget.h/cpp: The VNC client widget and view implementation
  • qtcreatorvncpluginconstants.h: Constants used throughout the plugin

This plugin depends on the QtVncClient library, which provides the core VNC protocol implementation. The QtVncClient library needs to be installed as a Qt module for the plugin to build and function correctly.

Contributions are welcome! Please ensure your code follows the existing style and includes appropriate tests.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published