كيفية جعل مربع الحوار غير معدني يبقى على رأسه في Solaris CDE

StackOverflow https://stackoverflow.com/questions/1754866

  •  20-09-2019
  •  | 
  •  

سؤال

يعمل مربع الحوار كوحة الرسم/المنبثقة التي تطلب من المستخدم اختيار الأدوات من التطبيق الرئيسي قبل المتابعة للرسم عليه. المشكلة هي عندما ينقر المستخدم على شريط أدوات التطبيق الرئيسي ، فإن مربع الحوار سيخلف عن التطبيق الرئيسي.

لاحظ أن هذا هو السلوك المتعلق بـ CDE فقط ، أو بيئة Windows Enviroment أو Solaris Java لا تسبب هذه المشكلة.

سؤالي هو كيف يمكنني أن أجعله دائمًا على رأسه (التطبيق الرئيسي)؟

لقد حاولت المرور في علامة wx11bypasswm إلى مربع الحوار ، إلى مديرة النافذة الممر ، ولكن بعد ذلك يتم اختفاء الحدود والإطار مما يؤدي إلى عدم سحب الحوار/التحرك.

تحديث 1:

فيما يتعلق ب إجابة آندي:

لقد حاولت Qt::WStyle_StaysOnTop, ، لكنه لا يعمل.

حاولت أيضًا الجمع:

WX11BypassWM | WStyle_StaysOnTop | WStyle_Title

ومجموعة أخرى من WStyle_DialogBorder, WType_TopLevel وما إلى ذلك ، يبقى فقط في الأعلى إذا WX11BypassWM تم تمريره.

ولكن كلما WX11BypassWM يتم تمريره ، ولن يحتوي الحوار الذي يظهر على الحدود ولا شريط Tittle.

وهو ما يعني أنه مربع حوار غير قادر على الخدم.

تحديث 2:

نظرًا لأنني لا أستطيع العثور على حل لهذه المشكلة ، في الوقت الحالي ، أقوم بحلها عن طريق تغيير حجم التطبيق الرئيسي وإعادة وضعه ومربع الحوار غير المعدل إلى جانب.

هذا على الأقل سيسمح للمستخدم بالتنقل في كل من الواجهة.

أي شخص إذا كان لديه اقتراح أفضل ، فأخبرني بذلك.

لا يوجد حل صحيح

نصائح أخرى

لست متأكدًا من فهم سؤالك ، لكن ألن يكون من الممكن استخدام:

وجدت في qtassistant:

enum Qt::WindowType
flags Qt::WindowFlags

QT :: WindowStaySontophint :

"إبلاغ نظام النوافذ بأن النافذة يجب أن تظل على رأس جميع النوافذ الأخرى."

آمل أن يساعد ذلك قليلاً!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top