2015-04-19 9 views
7

यह क्यूटी निर्माता अंदर क्यूटी त्वरित उदाहरण से एक उदाहरण है जब मैं परियोजना सभी ग्रंथों उनकी गुणवत्ता और धुंधला खो चलाने के लिए, संलग्न चित्र स्पष्ट रूप से समस्या का वर्णन करता है।धुंधला क्यूटी त्वरित पाठ

क्यूटी संस्करण: 5.4.1

प्लेटफ़ॉर्म: Windows 7

enter image description here

+0

मैं ऐसा कैसे हल कर सकते हैं? –

+5

पाठ renderType स्थापित करने के लिए प्रयास करें करने के लिए ** Text.NativeRendering ** http://doc.qt.io/qt-5/qml-qtquick-text.html#renderType-prop – danielfranca

+1

मेरे लिए एक ग्राफिक ड्राइवर बग की तरह लग रहा। बटन स्वचालित रूप से इसके लिए मूल रूप से प्रस्तुत करते हैं समस्या नहीं हो सकती है। –

उत्तर

4

यह एक पुराने बग कि कुछ हार्डवेयर पर पुनः प्रस्तुत किया जा सकता है जब क्यूटी प्रणाली ओपन क्षमताओं का उपयोग करता "[QTBUG-31983] Font rendering on Windows XP shows artifacts with QML Text element"

क्यूटी संस्करण 5.5 से पहले वहाँ क्यूटी के दो प्रकार के विंडोज के लिए विज्ञप्ति हो रहा है। वे स्थापना फ़ाइल नाम में प्रत्यय "ओपन" से प्रतिष्ठित किया जा सकता है, उदाहरण के लिए:

qt-opensource-windows-x86-msvc2013_opengl-5.4.1.exe 
qt-opensource-windows-x86-msvc2013-5.4.1.exe 

विवरण के लिए "Qt 5 on Windows ANGLE and OpenGL" देखें।

कोण का निर्माण इस तरह के दोष नहीं है। केवल ओपनजीएल बिल्ड प्रभावित है। ओपन खराब कई विंडोज प्रतिष्ठानों पर डिफ़ॉल्ट रूप से समर्थित है। कुछ मामलों में यह क्यूएमएल विंडो प्रारंभिकरण के दौरान बस क्रैश हो सकता है। मैनुअल वीडियो ड्राइवर स्थापना की आवश्यकता थी। हालांकि, कुछ पुराने हार्डवेयर के लिए यह इस तरह अच्छा वीडियो कार्ड ड्राइवर है कि ओपन के लिए पर्याप्त समर्थन को खोजने के लिए एक समस्या है।

संभावित समाधान:

  • उपयोग कोण क्यूटी निर्माण
  • यह उपवर्ग के लिए डिफ़ॉल्ट के साथ मानक QML Text नियंत्रण प्रकार Text.NativeRendering प्रस्तुत करना संभव है:
Text { renderType: Text.NativeRendering; } 

कोण विंडोज़ अगर क्यूटी बिल्ड एक अच्छा समाधान हो सकता है XP समर्थित नहीं होना चाहिए।

यदि कोई गहन ग्राफिक्स उपयोग की आवश्यकता नहीं है तो बेहतर समाधान सॉफ़्टवेयर ओपनजीएल प्रतिपादन का उपयोग करना है। क्यूटी 5.4 पहले यह MSYS मेसा पुस्तकालय opengl32.dll उपयोग करने के लिए संभव हो गया था है (केवल कुछ विशेष संस्करण इस्तेमाल किया जाना चाहिए)। यदि ऐसी लाइब्रेरी ओपनजीएल क्यूटी संस्करण के साथ निर्मित क्यूटी अनुप्रयोग के निष्पादन योग्य फ़ोल्डर में रखी गई है, तो लाइब्रेरी स्वचालित रूप से डिफ़ॉल्ट हार्डवेयर प्रतिपादन के बजाय सॉफ़्टवेयर प्रतिपादन के लिए उपयोग की जाती है। क्यूटी 5.4 ऐसे पुस्तकालय से शुरू क्यूटी द्वारा प्रदान की जाती है: opengl32sw.dll (http://doc.qt.io/qt-5/windows-requirements.html)।

सॉफ़्टवेयर ओपनजीएल इम्यूलेशन सभी प्रकार के हार्डवेयर पर पूरी तरह से काम करता है, इसके लिए किसी विशेष वीडियो कार्ड ड्राइवर की आवश्यकता नहीं होती है।

क्यूटी 5.4 से शुरू वहाँ आवेदन विशेषता Qt::AA_UseSoftwareOpenGL है:

बलों प्लेटफार्मों कि ओपन कार्यान्वयन के गतिशील लोड हो रहा है का उपयोग पर एक सॉफ्टवेयर आधारित ओपन कार्यान्वयन के उपयोग। यह आमतौर पर Mesa llvmpipe का एक पैच किया गया निर्माण होगा, जो ओपनजीएल 2.1 प्रदान करेगा।यदि कोई ओपनजीएल कार्यान्वयन उपलब्ध नहीं है तो मूल्य का कोई प्रभाव नहीं पड़ सकता है। इस लाइब्रेरी का डिफ़ॉल्ट नाम opengl32sw.dll है और पर्यावरण परिवर्तनीय QT_OPENGL_DLL सेट करके ओवरराइड किया जा सकता है। प्लेटफ़ॉर्म-विशिष्ट पृष्ठों देखें, उदाहरण के Qt for Windows के लिए, और अधिक जानकारी के लिए । यह मान Qt 5.4 में जोड़ा गया है।

0

यह देशी प्रतिपादन के साथ फॉन्ट बना देता है। लेकिन डिफ़ॉल्ट क्यूटी प्रतिपादन के साथ समस्या हल नहीं करता है। कोण और ओपन:

import QtQuick 2.4 
import QtQuick.Window 2.0 

Window { 
    visible: true 
    width: 512 
    height: 300 

    Text { 
     anchors.centerIn: parent 
     text: "Hello World!" 
     renderType: Text.NativeRendering 
    } 
} 
संबंधित मुद्दे