Доброго времени суток. В основном потоке javafx приложения нужно непрерывно выполнять операцию, при этом не терять отзывчивость gui. Совсем немного знаком с данной платформой, можно ли реализовать что-то подобное?
while (ture) {
// ...
QCoreApplication::processEvents();
}
То есть обработать очередь событий, после чего продолжать операцию. Таймер не подходит, т.к продолжать нужно сразу после отчистки очереди.
Доброго времени суток. Если правильно понял, свободная реализация javafx есть, но она почему-то не входит в пакет openjdk и существует только для jdk8.
Дистрибутив arch, установил java-openjfx, jdk8-openjdk, переключил окружение на jdk8 (archlinux-java set), но проект не собирается:
src/rot/simpletrees/example/GuiTester.java:3: error: package javafx does not exist
import javafx.*;
Собираю так:
javac -Xlint:unchecked -g -d bin -sourcepath src -classpath lib ${PROJECTPATH}/${ELEMENT}.java
Доброго времени суток. Кто-нибудь сталкивался на практике? По АВЛ деревьям информации в интернете огромное количество, но деревья Фибоначчи везде рассматриваются теоретически, без программной реализации. Как быть с балансировкой в этом случае?
Первое что приходит в голову - dsw с модификацией, но в статье на википедии пишут:
This version does not produce perfectly balanced nodes
Значит ли это что дерево всегда остается сбалансированным?
Доброго времени суток. Опыта применения библиотек шифрования в своих проектах не было. Посмотрел таких монстров как OpenSSL-crypto, Crypto++, Botan и ужаснулся их документации с учетом популярности. Мне просто нужно симметриченое шифрование, поэтому решил взять tiny-AES-c. Но в readme гитхаба нет примеров с использованием, поэтому прошу раскрыть смысл этих обозначений: ctx, iv, buf, length, - и поделиться опытом использования, если имеется.
Всем доброго времени суток. Нужно собрать кластер и обеспечить постоянную работу сервиса без внешнего балансировщика. Рассмативал варианы с pacemaker, corosync, heartbeat. Везде холиварят, кто-то пишет, что слишком тяжеловесное решение. Что можете посоветовать по личному опыту? Может, самописный скрипт будет лучше? Тогда на какие ресурсы опираться?
Доброго времени суток. Стратегия вызовов у очереди в asterisk стоит leastrecent. Проблема в том, что в описании данной стратегии написано, что звонок будет направлен на канал, который самое долгое время не отвечал на звонки. При самом ОТВЕТЕ таймер «last was» не запускается у принимающего канала, но это происходит при ЗАВЕРШЕНИИ вызова. Мне нужно, чтобы на всех каналах загруженность ПОСТУПЛЕНИЯ звонков была одинакова, а получается так, что если оператор взял вызов, но не завершил его, то одному ему будут сыпаться вызовы дальше (оператор может держать у себя активными несколько вызовов и ограничить сессию одним - не вариант). Как это можно реализовать?
; extensions.conf
exten => 812779,1,Answer()
same => n,Queue(queue_01)
same => n,Hangup()
; queues.conf
[queue_01]
strategy = leastrecent
member = PJSIP/101
member = PJSIP/102
Использую arch, wm - sway. Реален ли терминальный доступ по протоколам типа VNC или RDP к gui? Если да, то какие клиенты и серверы вы используете? По ssh ведь можно только иксы пробрасывать, с wayland работать не будет?
Всем привет. У меня есть программа, в которой некоторые величины для элементов указаны в px (собственно, сам Qt заставляет указывать их только в px помимо шрифтов и qss). Из-за этого на разных дисплеях с разной плотносью пикселей программа внешне выглядит не так, как задумывалось. Я решил использовать вместо px dp с использованием QScreen::physicalDotsPerInch(), но шрифты у меня попрежнему в pt.
Проблема в том, что почему то размер одного pt разный на одном и том же дисплее с разной плотностью пикселей, что уже противоречит тому, что pt - 1/72 дюйма. Разве что размер pt в px высчитывается относительно максимальной плотности, но мои dp высчитываются относительно настоящей плотности. Получается так, что если я запускаю программу на низком dpi, шрифты в pt выглядят больше чем задумывалось относительно виджетов с фиксированным размером в dp.
Как это можно исправить и какие вы используете подходы для идентичности gui на дисплеях с разным dpi? Может, кто-нибудь подскажет, как можно высчитать, сколько pt занимает пикселей программным путем?
Доброго времени суток. Объясню ситуацию. Я уже собирал эту библиотеку следующим образом и все работало хорошо:
./configure --prefix=/usr --enable-shared CFLAGS='-O2 -DNDEBUG'
make dep
make
sudo make install
Спустя время так получилось, что мне пришлось восстанавливать всю систему из tar'a, но там не была собрана эта библиотека. Я скачал исходники с офф сайта и проделал те же операции, чтобы ее собрать. В итоге после make получаю ряд ошибок:
/home/vanya/tmp/pjproject/pjproject-2.6/pjmedia/lib/libpjmedia.so: undefined reference to `speex_echo_cancellation'
/home/vanya/tmp/pjproject/pjproject-2.6/pjmedia/lib/libpjmedia.so: undefined reference to `speex_echo_state_init'
/home/vanya/tmp/pjproject/pjproject-2.6/pjmedia/lib/libpjmedia.so: undefined reference to `speex_echo_capture'
/home/vanya/tmp/pjproject/pjproject-2.6/pjmedia/lib/libpjmedia.so: undefined reference to `speex_preprocess_state_destroy'
/home/vanya/tmp/pjproject/pjproject-2.6/pjmedia/lib/libpjmedia.so: undefined reference to `speex_echo_state_reset'
/home/vanya/tmp/pjproject/pjproject-2.6/pjmedia/lib/libpjmedia.so: undefined reference to `speex_echo_playback'
/home/vanya/tmp/pjproject/pjproject-2.6/pjmedia/lib/libpjmedia.so: undefined reference to `speex_preprocess_state_init'
/home/vanya/tmp/pjproject/pjproject-2.6/pjmedia/lib/libpjmedia.so: undefined reference to `speex_echo_ctl'
/home/vanya/tmp/pjproject/pjproject-2.6/pjmedia/lib/libpjmedia.so: undefined reference to `speex_echo_state_destroy'
/home/vanya/tmp/pjproject/pjproject-2.6/pjmedia/lib/libpjmedia.so: undefined reference to `speex_preprocess_ctl'
/home/vanya/tmp/pjproject/pjproject-2.6/pjmedia/lib/libpjmedia.so: undefined reference to `speex_preprocess_run'
collect2: error: ld returned 1 exit status
make[2]: *** [/home/vanya/tmp/pjproject/pjproject-2.6/build/rules.mak:125: ../bin/pjmedia-test-x86_64-unknown-linux-gnu] Error 1
make[2]: Leaving directory '/home/vanya/tmp/pjproject/pjproject-2.6/pjmedia/build'
make[1]: *** [Makefile:243: pjmedia-test-x86_64-unknown-linux-gnu] Error 2
make[1]: Leaving directory '/home/vanya/tmp/pjproject/pjproject-2.6/pjmedia/build'
make: *** [Makefile:14: all] Error 1
[vanya@Alice ~]$ ls -l /usr/lib/ | grep -i speex
lrwxrwxrwx 1 root root 20 Jun 26 2015 libspeexdsp.so -> libspeexdsp.so.1.5.0
lrwxrwxrwx 1 root root 20 Jun 26 2015 libspeexdsp.so.1 -> libspeexdsp.so.1.5.0
-rwxr-xr-x 1 root root 76024 Jun 26 2015 libspeexdsp.so.1.5.0
lrwxrwxrwx 1 root root 17 Dec 22 2016 libspeex.so.1 -> libspeex.so.1.5.1
-rwxr-xr-x 1 root root 100680 Dec 22 2016 libspeex.so.1.5.1
Доброго времени суток. Имеется мобильный wifi роутер IE-LINK. В его веб интерфейсе нет ни намека на настройку проброса портов. Я правильно понимаю, что в таком случае сделать это невозможно, а iptables применим только к шлюзам под linux и запрос на автоматический проброс он сделать на роутер не сможет? И еще такой вопрос: WAN IP на роутере у меня показывает белый(100.*), но на ifconfig.me он отображается другой(213.*). Трассировка до гугла идет через 192.168.* - это моя сеть от роутера, а далее через 10.* - это непонятно что. Как тогда от 10.* у меня оказался белый ip? Роутер разве не должен сразу через 100.* в глобальную сеть выходить?
Существуют ли решения в стандартной библиотеке С/С++ для создания нового процесса с заменой и без замены среды выполнения под Linux? Некая альтернатива библиотеке unistd.h с ее exec*() и fork(). Сам использую С++, и смущает то, что unistd - чисто сишная библиотека, которая не является частью языка, без порта на С++
Что-то помимо std::system есть?
Arch. Пользовался Sway, были проблемы с wayland: приложения, работающие через него, имели отвратительный заголовок окна синего цвета и отображали разрешение экрана меньше действительного. Я перевожу указатель мыши в область окна, и он становится раза в 2 больше, а про шрифты вообще молчу. Поставил кеды, проблема осталась. Теперь здесь вообще весь интерфейс отображается не в том разрешении, а в браузере и терминале все нормально. Что я делаю не так?
Доброго времени суток. При написании собстенного плагина для приложения, с использованием интерфейса, необходимо 2 макроса: Q_DECLARE_INTERFACE(<name> <IID>) и Q_PLUGIN_METADATA(IID <IID> FILE <file.json>) - для интерфейса и плагина соответственно. Причем, если собирать плагин с отличным IID от IID интерфейса, то экспортируется он нормально. НО если писать плагин для Qt, скажем, реализуя QStylePlugin, то объявление кастомного IID для макроса Q_DECLARE_INTERFACE является ошибкой. Плагин начинает работать толкько с IID QFactoryInterface'a. Почему такие различия?
Sway, arch. Когда запускаю qtcreator с плагином wayland-egl, работать в нем становится невозможно. Шрифты menubar'а по краям становятся огромными, всплывающее меню отображается некорректно, указатель мыши изчезает и становится большим, плюс ко всему отображается заголовок окна в тайловом режиме. Так и должно быть? Эти проблемы не фиксят уже огромное количество времени.