سؤال

كنت قد كتبت بالفعل C++ برنامج أود أن أكتب GUI لذلك.أدرك Qt هو أداة رائعة, ومع ذلك, Qt الخاصة الطبقات التي تجعلني الخلط تماما.على سبيل المثال:بدلا من سلسلة, Qt وقد فئة اسمه QString..

أنا أتساءل إذا كنت يمكن خلط رمز C++ و Qt التعليمات البرمجية في C++?

هل كانت مفيدة؟

المحلول

ونعم يمكنك امتزاج كيو تي وSTL بسهولة جدا.

واجهة المستخدم الرسومية يأخذ QStrings لكن سيخلق بصمت هذه شكل std::string أو char*، QStrings عاد من كيو تي يمكن تحويلها مع toStdString() أو toAscii().

وكيو تي تتضمن مجموعة من جمع الصفوف ولكن لم يكن لديك لاستخدامها.

وكيو تي يقوم بعمل جيد للنظر مثل C ++ الحديث، هناك عدد قليل من إضافات 'للتعامل مع آلية إشارة والحدث فتحة ولكن هذه هي أكثر تعقيدا إلى بيئة التصنيع بدلا من التعليمات البرمجية.

وتحرير: بفضل قانون

نصائح أخرى

وأنا لن يوصي خلط الأمراض المنقولة جنسيا ج + + رمز ورمز كيو تي معا.

ويقول دعنا، رمز ج بك ++ هو منطق ثم رمز كيو تي، يجب أن يكون لمجرد واجهة المستخدم الرسومية. باستخدام أنماط MVC / MVP أو بالمثل، فصل المنطق والخاص UI.

وهكذا، فإنه سيكون أسهل في المستقبل لتكون قادرة على تشغيل التعليمات البرمجية مع / بدون استخدام واجهة المستخدم.

وباختصار، نعم يمكنك! على سبيل المثال، QString هو في الأساس سلسلة ولديه طريقة toAscii ()، لذلك يمكنك بسهولة استخدام كيو تي لمشاريعك. على الرغم من أنك قد يمتد الى بعض المشاكل دمج كيو تي في الاستوديو البصري (على افتراض انك تستخدم ذلك)، سوف تكون قادرة على خلط ج + + رمز ورمز كيو تي (والذي هو في ج ++)

نعم! كيو تي هو شيء يمكنك استخدامها في التعليمات البرمجية C ++. كيو تي هو أساسا لواجهة المستخدم الرسومية ولكن من الطبقات جيدة للالمقبس، الحاويات، شبكة، ... أنت حر في استخدام STL والطبقات العادية الأخرى أو العروض منها كيو تي لك. أكبر النقطة هي أنه إذا كنت تستخدم كيو تي في التعليمات البرمجية قبل ترجمة الرئيسية يتعين عليك أن تفعل الترجمة الفوقية لجعلها جاهزة لك مترجم. شيء واحد يجب أن تلاحظ أن كيو تي ليست موحدة وهو ما يعني على الرغم من أنه يدعم ويندوز، لينكس وماك OS، فإنه لن تكون قابلة للاستخدام على منصات أخرى.

أنها يمكن أن تستخدم معا.

C++ لديها تاريخ طويل في المحكمة الخاصة بلبنان تنفيذ ودعم تطورت مع اللغة.أعتقد أن السابقين ترولتيك الفريق قرر أنه لم يكن لديهم ما يكفي من السيطرة على جودة وتوافر الخاصة بلبنان تطبيقات لجعل مكتبة كيو تي تعتمد على ذلك.والنتيجة هي أن Qt الخاصة QTL, QtAlgorithms رأس QString.

أنها قد اتخذت الرعاية لجعلها متوافقة مع المحكمة الخاصة بلبنان:

  • معظم الحاويات واجهة مماثلة إلى المحكمة منها (هـ.g:مكرر الوصول push_back () فارغة () ، وما إلى ذلك)
  • Qt حاويات يمكن تحويلها إلى/من المحكمة حاويات (هـ.g:QVector::toStdVector, QList::fromStdList)
  • Qt حاويات يمكن استخدامها مع المحكمة الخاصة بلبنان الخوارزميات
  • QString يمكن تحويلها إلى/من std::string و std::wstring مع toStd(W)سلسلة / fromStd(W)سلسلة

شخصيا, أنا أحب QString أكثر من std::string ، هو أسهل استخداما وأكثر قوة.

ونعم يمكنك ذلك.

وأنا في الواقع قدم كيو تي-GUI-مجمع لمجموعة من الوظائف C القائمة. لا مشاكل مع دمج كيو تي، فقط على مستوى منخفض C (الذي تسرب الذاكرة ...).

وانظر هنا: http://code.google.com/p/qhocr/

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