2013-01-22 7 views
5

Mam aplikację Qt (działającą pod Linuksem), która ma otworzyć dodatkowe okno na innym serwerze X, działającym na zdalnym komputerze.Czy pojedyncza aplikacja Qt może otwierać okna na więcej niż jednym wyświetlaczu X?

Czy można to zrobić w Qt?

Mam nadzieję, że w celu uniknięcia bardziej skomplikowanych ustawień, takich jak - DMX (Virtual X-serwer na szczycie wielu innych serwerów X) http://dmx.sourceforge.net/ lub - tworząc drugi wniosek o dodatkowym oknem, plus jakiś rodzaj komunikacji pomiędzy dwie aplikacje:

+0

W programie może znajdować się tylko jeden obiekt 'QApplication', a jedno" QApplication "rozmawia tylko z jednym' Display'. To podstawowe ograniczenie. Więc nie, nie możesz tego zrobić w Qt. –

+0

Dzięki, n.-m. to właśnie chciałem wiedzieć. Na początku nie widziałem twojej odpowiedzi, ponieważ dodałeś ją jako komentarz, a nie jako odpowiedź. Chyba nie mogę uniknąć tworzenia drugiej aplikacji. – ygramoel

Odpowiedz

1

Możesz spróbować utworzyć nowy proces i ustawić zmienną środowiskową WYŚWIETLACZ na inny serwer X.

spróbować zrobić to z bash najpierw sprawdzić, czy to działa, bo nie jestem do końca pewien:

export DISPLAY=:0.0 
./my_qt_application 

Wymień :0.0 z innego serwera X.

+0

Działa, ale tak naprawdę nie rozwiązuje problemu: Nadal będę miał osobne procesy dla obu wyświetlaczy i będę musiał realizować komunikację między nimi. – ygramoel

+0

Tak, widziałem twoją drugą odpowiedź, ale potrzebowałem trochę czasu, aby przeczytać dokumentację QX11EmbedWidget. – ygramoel

+0

Masz rację, usunąłem to. Cóż, najlepiej byłoby użyć innego procesu. Możesz spróbować użyć Xlib w jakiś sposób, ale wątpię, by zadziałało i nie byłoby to łatwe. Nie sądzę, że jest tu łatwe rozwiązanie. – sashoalm

Powiązane problemy