LINUX.ORG.RU

Помогите с советом. Надо прикрутить GUI


0

0

Вот у меня есть довольно большая программа стороннего разработчика (дальше Программа 1)... я хочу сделать к ней GUI-шку (дальше GUI-шка Смеющийся), которая бы запускалась в новом thread-е и отображала какую либо информацию о происходящем в первичном продукте. Я могу добавить какие-то функции в исходный код Программы 1, но не могу повлиять на его сборку. Т.о. я не смогу воспользоваться qmake-ом. Ну вот поэтому я решил сделать GUI-шку в виде libGUI.so и подключать уже библиотеку к Программе 1... По подключению уже есть методы и сделать это не сложно. Но вот как собрать GUI-шку в таком виде... Решил делать на QT3

Вопрос может быть совсем простой, но просто не имею опыта работы с make и qmake. И с libtool тоже кстати. подскажите в какую сторону копать... Разобраться сам попробую. Если же ткнете пальцем, то буду очень благодарен...

ПС. Пока писал нашел что окошко в qt должно идти в основной нити... Может есть какие-нибудь другие методы? посоветуйте пожалуйста

Почему бы не добавить в исходный продукт функции всякого многословного
вывода по более традиционным каналам? Тогда гуишку можно будет
написать на чём угодно.

Sphinx ★★☆☆
()
Ответ на: комментарий от Sphinx

Дело в том что thread создается именно для того чтобы у них было общее адресное пространство и можно было передавать переменные в обоих направлениях. А насколько я понял таким методом обратно от гуи к основной проге данные не вернешь

usefull
() автор топика
Ответ на: комментарий от usefull

Я это предложил, потому что ты написал только

> отображала какую либо информацию о происходящем в первичном

> продукте.


Необходимость же двустороннего обмена конечно всё усложняет.

Sphinx ★★☆☆
()

>Решил делать на QT3

Может некрофилией то не станем страдать? Их уже кажется 3й год никто не поддерживает. Как только такие идеи возникают... =\

teferiincub
()

почему qt3 ?

используйте уже qt4 , не думаю что будет плюсом если ради вашей одной программы нужно будет ставить то, от чего все уже избавляются

Sylvia ★★★★★
()

Делайте сразу на Qt4. Чтобы решить вашу задачу нужно вынести весь код в DLL, которая в свою очередь будет линковаться с QtCore и QtGui.

Из DLL должны торчать три функции, которые будут дёргаться из вашей основной программы в основном потоке:

1. Дёргается при инициализации программы. Здесь создаётся экземпляр QApplication (new QApplication) и ваши окна мониторинга.

2. Дёргается непрерывно по таймеру из главного потока. Здесь будет вызываться только одна строчка: QApplication::instance()->processEvents().

3. Дёргается при завершении программы. Здесь удаляются ваши окна и экземпляр QApplication (delete QApplication::instance()).

Больше ничем программа от обычной отличаться не будет.

Dendy ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.