May 27, 2019, 4:57 a.m.

Qt

Переносимость приложений, переносимость qt, Qt, Run Linux Application, QML, windows, deployment, cqtdeployer, Развертывание, deploy, linux

Introduction

In this article we will look at how to properly collect all qt dependencies for your application, which was collected dynamically.

Jan. 15, 2019, 9:40 a.m.
Денис Широкий

Добрый день! Установил Qt Creator под Windows, но не могу его настроить для удаленной работы с Ubuntu Server. В разделе Инструменты -> Параметры -> Устройство настроил обычное Linux устройство. Проверка связи по SSH проходит успешно, подключение есть. Однако при попытке добавить комплект выдает предупреждение: устройства этого типа не поддерживаются профилем Qt. Пробовал как Qt 5.12.0 MSVC2017 64bit, так и Qt 5.12.0 MinGW 64bit. До этого на ноутбуке без проблем настроил Qt Creator для удаленной работы из Ubuntu на тот же Ubuntu Server, но там естественно была версия под Linux. Можно ли вообще на версии под Windows удаленно работать с Linux? Если да, то помогите, пожалуйста, с настройками. Что я делаю не так?

z
Jan. 19, 2017, 1:15 p.m.
z3dd

Пытался разбираться как связывать данные с чартами и наткнулся на это: http://doc.qt.io/qt-5/qtcharts-audio-example.html В доках на writeData чётко написано: [pure virtual protected] qint64 QIODevice::writeData(const char *data, qint64 maxSize) Writes up to maxSize bytes from data to the device. Returns the number of bytes written, or -1 if an error occurred. Но пример-то работает, а значит в этом методе происходит чтение данных из микрофона. Почему это работает/реализовано в методе writeData а не в readData?

Feb. 28, 2016, 3:45 p.m.

Qt

HotKey, linux, QGlobalShortcut, Qt, Windows

In the process of studying the issues with global hotkeys for Linux and Windows, I wrote my library for quick registration hotkeys. The resulting library is called QGlobalShortcut and is available at GitHub under license LGPLv2. The library supports the Windows platform and Linux / Unix (which use X11)

The logic of class QGlobalShortcut, which provides this library, similar to the logic of the class QShortcut, although clearly not up to this class on a number of parameters, but the main thing that fulfills its basic function. Namely, global HotKey register and send a signal to activate it.

At this point it is necessary to use the library to put the header files and source files in your project, as well as to prescribe additional information in the project profile.

Feb. 28, 2016, 3:17 p.m.

Qt

Ubuntu, HotKey, linux, Qt, XCB, XLib

Work with the global keyboard hot keys in Windows is a trivial task than Linux, since this has WinAPI prepared methods that do not require a large amount of code. And each hotkey is set in line ID, in which the hot key can be removed.

In Linux / Unix, which uses the graphics server is the X11, with respect to Qt must use the function to register / unregister hotkeys from XLib library, but the process has to the values ​​obtained using XCB library functionality, which is being developed as an analogue XLib library, but is more low-level and written the C programming language. As in the case of Windows, for processing in the global hotkeys Qt 5 nativeEventFilter used method. I propose to make a separate class, inherited from QAbstractNativeEventFilter for processing hotkeys and set the filter to the entire application.

To set hotkeys to be used XKeysymToKeycode (to get the keys from KeySym sequence of code) and XGrabKey (to set the hotkey).

XUngrabKey function will be used for unregistration hotkey.

Project structure

  • GlobalHotkeyLinux.pro - the profile of the project;
  • mainwindow.h - header file of the main application window;
  • mainwindow.cpp - file source code of the main application window;
  • mainwindow.ui - file forms the main application window;
  • main.cpp - the main source file;
  • nativeeventfilter.h - header event filter file hotkeys;
  • nativeeventfilter.cpp - file source hotkeys event filter.
Feb. 24, 2016, 6:02 p.m.

Xlib

linux, unix, X11, XKeysymToKeycode, Xorg

Name and similar functions

XStringToKeysym, XKeysymToString, XKeycodeToKeysym, XKeysymToKeycode, XConvertCase - convert keysyms

Syntax

KeySym XStringToKeysym(char *string);

char *XKeysymToString(KeySym keysym);
KeySym XKeycodeToKeysym(Display *display, KeyCode keycode, int index);
KeyCode XKeysymToKeycode(Display *display, KeySym keysym);
void XConvertCase(KeySym keysym, KeySym *lower_return, KeySym *upper_return);

Arguments

display       // Specifies the connection to the X server.
index         // Specifies the element of KeyCode vector.
keycode       // Specifies the KeyCode.
keysym        // Specifies the KeySym that is to be searched for or converted.
lower_return  // Returns the lowercase form of keysym, or keysym.
string        // Specifies the name of the KeySym that is to be converted.
upper_return  // Returns the uppercase form of keysym, or keysym.
Feb. 24, 2016, 5:56 p.m.

Xlib

HotKey, linux, X11, XGrabKey

Syntax

XGrabKey(display, keycode, modifiers, grab_window, owner_events, pointer_mode, keyboard_mode)
      Display *    display;
      int          keycode;
      unsigned int modifiers;
      Window       grab_window;
      Bool         owner_events;
      int          pointer_mode, keyboard_mode;

Arguments

display	        // Specifies the connection to the X server.
keycode	        // Specifies the KeyCode or AnyKey.
modifiers       // Specifies the set of keymasks or AnyModifier. 
                // The mask is the bitwise inclusive OR of the valid keymask bits.
grab_window     // Specifies the grab window.
owner_events    // Specifies a Boolean value that indicates whether the keyboard events 
                // are to be reported as usual.
pointer_mode    // Specifies further processing of pointer events. 
                // You can pass GrabModeSync or GrabModeAsync.
keyboard_mode	// Specifies further processing of keyboard events. 
                // You can pass GrabModeSync or GrabModeAsync.
Feb. 23, 2016, 6 p.m.

Xlib

HotKey, linux, X11, XUngrabKey

Syntax

XUngrabKey(display, keycode, modifiers, grab_window)
      Display *     display;
      int           keycode;
      unsigned int  modifiers;
      Window        grab_window;

Arguments

display	      // Specifies the connection to the X server.
keycode	      // Specifies the KeyCode or AnyKey.
modifiers     // Specifies the set of keymasks or AnyModifier. 
              // The mask is the bitwise inclusive OR of the valid keymask bits.
grab_window   // Specifies the grab window.
TT
June 13, 2019, 7:01 p.m.
Taimoor Tanweer

C++ - Test 001. The first program and data types

  • Result:66points,
  • Rating points-1
TT
June 13, 2019, 6:51 p.m.
Taimoor Tanweer

C++ - Test 002. Constants

  • Result:75points,
  • Rating points2
ВМ
June 13, 2019, 12:30 p.m.
Ваня Мороз

C++ - Test 001. The first program and data types

  • Result:100points,
  • Rating points10
Last comments
i
June 17, 2019, 6:10 a.m.
ingenfly

Только по осям xAxis2, уAxis2 значения начинаются с 0. Почему-то xAxis2 и xAxis не синхронизированы по данным. Ну и QCustomPlot последний.
June 16, 2019, 8:21 p.m.
Евгений Легоцкой

Добрый день. Ну точно также добавляете ту же самую информацию на ось xAxis2, только добавляете другое форматирование customPlot->xAxis2->setDateTimeFormat("hh:mm"); если я ...
EF
June 14, 2019, 1:56 p.m.
Egor Fomin

Спасибо за ваш ответ, у меня получилось реализовать это. Тем не менее появилась другая проблема, поэтому опять надеюсь на вашу помощь. Скажем, я уже выставил точки и они соеденены. Когда я нач...
d
June 13, 2019, 2:47 p.m.
damix

Можно классу, который описывает точку, добавить сигнал, который подавать (emit), когда точка перемещается (переопределить mouseMoveEvent или mouseReleaseEvent). Так вот эти сигналы у каждой из...
i
June 13, 2019, 2:09 p.m.
ingenfly

Здравствайте! Подскажите, пожалуйста: customPlot->xAxis2->setTickLabels(true); //Здесь включается отображение данных на оси xAxis2. а можно как-то продублировать информацию cus...
Now discuss on the forum
I
June 19, 2019, 1:41 p.m.
Intruder

Всем добрый день. При разборе XML файла наткнулся на тег вот такого плана: <TagName attribute1="value1" attribute2="value2" /> При попытке проверить на наличие такого элеме...
June 19, 2019, 12:55 p.m.
Михаиллл

Скажите пожалуйста, как его в таком случае перемещать и удалять?
June 18, 2019, 7:50 p.m.
Дмитрий

Большое спасибо! SDK заработал.К сожалению удалось продвинутся только на один шаг. При сборке чистого проекта NDK выдаёт следующие ошибки C:\Android\ndk-bundle/toolchains/arm-linux-andr...
June 18, 2019, 4:59 p.m.
Михаиллл

Добрый день.В этом учебнике представлен код INSTALLED_APPS = ( ... 'rest_framework', 'snippets.apps.SnippetsConfig',) На строчке 'snippets.apps.SnippetsConf...
June 18, 2019, 2:24 p.m.
Михаиллл

Спасибо, работает.Послушаю вашего совета.
Looking for a Job?
25,000.00 руб. - 30,000.00 руб.
Разработчик Qt/C++
Barnaul, Altai Krai, Russia

For registered users on the site there is a minimum amount of advertising

EVILEG
About
Services
Join us
© EVILEG 2015-2019
Recommend hosting TIMEWEB