View Full Version : محصور کردن یک برنامه خارجی در یک المان QML
hmm
جمعه 26 مهر 1392, 11:26 صبح
سلام دوستان
آیا امکان دارد یک برنامه خارجی (مانند vncviewer) را بتوان در یک المان QML (مانند Rectangle) فراخوانی و محصور کرد؟
در خود QT و فقط در لینوکس ظاهرا در نسخه های قبل از 5 از qx11embedwidget (http://harmattan-dev.nokia.com/docs/platform-api-reference/xml/daily-docs/libqt4/qx11embedwidget.html) و یا qx11embedcontainer (http://harmattan-dev.nokia.com/docs/library/html/qt4/qx11embedcontainer.html) میشد استفاده کرد.البته من هم در لینوکس لازم دارم.
متشکر
حامد مصافی
شنبه 27 مهر 1392, 13:41 عصر
یه جواب برات نوشده بودم اما مرورگرم بسته شد. و الان هم کمی عجله دارم.
در مورد این توابعی که معرفی کردم در داکیومنت کیوت کمی مطالعه کن، در واقع این توابع جایگزین کلاسهایی که معرفی کردی شدند.
QWindow::fromWinId
QWidget::createWindowContainer
نکته: حواست به ماهیت کلاس QWindow که جدیداً معرفی شده باشه. بعضی جاها به درد میخوره!
hmm
شنبه 27 مهر 1392, 21:11 عصر
سلام حامد جان
واقعیت اینه که اطلاع چندانی از qt quick ندارم و برای یک پروژه تحقیقاتی توفیق اجباری نصیبم شده... ولی به نظرم QML خیلی هوشمندانه طراحی شده
ممنون از جوابت ولی به این نتیجه رسیدم که تقریبا با QML نمیشه یه برنامه خارجی را فراخوانی کرد و درون یک المان آنرا محصور کرد.
توابعی که معرفی کردی خودش برای فراخوانی داستان داره ... حتی یه نمونه آزمایشی هم نتونستم پیدا کنم .حالا قرادادن QWidget درون QML هم داستان دیگری است.
بهرحال مشکل من اینه که یه برنامه ای باید بنویسیم (ترجیحا با QML با توجه به جذابیتهای نمایشی) که در اون چند Vncviewer رو از طریق Qprocess اجرا کنه و به سرورهای مختلف ریموت وصل بشه و تمام ریموت ها را بصورت زنده و کوچک نشون بده که با کلیک روی هر کدوم اون Vncviewer تمام صفحه بشه.
مزید اطلاع ، توی لینوکس و روی یک سیستم تقریبا Embedded و فقط با Xorg Server و بدون هیچ Window Manager ای باید انجام بدم.
ممنون میشم نظرت و احتمالا راه حلت رو بگی
حامد مصافی
دوشنبه 29 مهر 1392, 23:45 عصر
اینو (http://libvncserver.sourceforge.net/success.html) دیدی؟ فکر کنم شدیداً به کارت بیاد.
یعنی با توابع پست قبل هیچ نتیجهای نگرفتی؟
hmm
سه شنبه 30 مهر 1392, 07:26 صبح
بهرحال مشکل من اینه که یه برنامه ای باید بنویسیم (ترجیحا با QML با توجه به جذابیتهای نمایشی) که در اون چند Vncviewer رو از طریق Qprocess اجرا کنه و به سرورهای مختلف ریموت وصل بشه و تمام ریموت ها را بصورت زنده و کوچک نشون بده که با کلیک روی هر کدوم اون Vncviewer تمام صفحه بشه.
کتابخانه ای که معرفی کردی را در Source برنامه Virtualbox دیده بودم، لیکن من با QML میخموام و حتما باید درون یک المان باشه نه اینکه بصورت مستقل و در پنجره ای مجزا فراخوانی بشه.
متشکر
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.