PDA

View Full Version : ارسال اطلاعات به qt از پایتون



maarek
شنبه 29 آبان 1395, 11:18 صبح
سلام،
یه سناریو داریم که قراره از پورت (مثلا) سریال یک سری اعداد و ارقام بیاد و ورودی برنامه شماره یک ( که با سی نوشته شده ) باشه بعدش یک سری عملیات روی این اعداد اعمال بشه و خروجی برنامه شماره یک، میشه ورودی برنامه شماره دو ( که با پایتون نوشته شده) دوباره یک سری اعملیات و بعد هم خروجی باید با یه UI یا هر چی نمایش داده بشه !
خب سوال های زیادی دارم :لبخند:

اول اینکه فکر کنم میشه پایتون داخل سی استفاده کرد( این لینک (https://docs.python.org/2/extending/embedding.html) ) به نظرتون چقدر این روش میتونه جواب بده ؟! اگه خدایی نکرده وسط راه اینتراپت پایتون کرش کرد یا هر اتفاق دیگه ای نمیشه هندلش کرد درسته ؟ راه دیگه سراغ ندارید ؟!

سوال دوم وقتی خروجی از برنامه شماره دو بیرون میاد و قراره نمایش داده بشه، خب مثلا ما قراره از qml استفاده کنیم، چطوری میتونم اطلاعات از پایتون بگیرم بدم به qt ؟ خب میشه از فایل استفاده کرد، فکر کنم دیتابیس هم بشه... اما میشه اطلاعات از رم خوند ؟ یا انتقال داد ؟

m.j_banitaba
یک شنبه 30 آبان 1395, 19:22 عصر
برای این کار پنج روش به ذهنم میرسه:
1- web api برنامه ها تحت apache اجرا بشن و توسط http با هم ارتباط داشته باشن
2- توسط socket در این روش دو برنامه در حلقه به یک پورت گوش می دن و اطلاعات را به صورت دو طرفه تبادل می کنن.
دو روش اول این امکان رو می ده که دو برنامه در دو کامپیوتر جدا اجرا بشن
3- توسط pipe که دو برنامه به طور مجزا اجرا میشن و یکی pipe اجاد میکنه و اون یکی بهش وصل میشه.
4- توسط اجرا system مثلا برنامه python برنامه qt را اجرا میکنه و خروجی را توسط stdout برنامه دریافت می کنه
5- اجرا شدن python , c در یک پروسس که حافظه و منابع هردو یکی میشه و یکی به صورت کتابخانه در دیگری فراخوانی میشه.
------ راستی اون راه حل فایل هم هست . ولی سرعتش بهینه نیست.