मैं क्यूटी के लिए नया हूं। मैं समझता हूं कि आप डिस्प्ले रीफ्रेश को मजबूर कर सकते हैं, लेकिन मैंने यह पता लगाने की कोशिश कर अपने सभी बालों को खींच लिया है। यहां मैं विशेष रूप से करने की कोशिश कर रहा हूं।क्यूटी रिपेंट/रेड्रा/अपडेट/कुछ करें
मैं एक बटन (ऑनक्लिक सिग्नल इवेंट) दबाता हूं, जो डिस्प्ले पर एक छवि (QLabel) को बदलता है, इनपुट के लिए इंतजार करता है, और फिर एक नई छवि (अलग QLabel) को बदलकर आगे बढ़ता है। मैंने सब कुछ करने की कोशिश की है और ऑनक्लिक सिग्नल इवेंट कोड पूरा होने तक डिस्प्ले रीफ्रेश नहीं होता है। अभी, मैं उपयोगकर्ता इनपुट की प्रतीक्षा नहीं कर रहा हूं, मैं परीक्षण प्रयोजनों के लिए नींद (~ 500 एमएस) का उपयोग कर रहा हूं।
मैं क्या पढ़ा से, क्यूटी कार्यक्रम चालित अर्थ है कि मैं मूल रूप से घटनाओं, कि एक कुए में डाल करने के लिए, और मार डाला का एक समूह बना रहा हूं जब (onClick संकेत घटना) (मुख्य लूप) रिटर्न/(है आयोजन प्रबंधकर्ता)। मैं काम पूरा होने तक इंतजार नहीं करना चाहता, यह प्रोग्रामिंग को बेहद दर्दनाक बनाने जा रहा है अगर मुझे पूरी तरह से घटनाओं के आधार पर इस दिनचर्या को पूरा करना है।
मैं कैसे ताज़ा करने के लिए QLabel पिक्समैप मजबूर कर सकते हैं। मैंने सब कुछ करने की कोशिश की है। नीचे मेरे द्वारा क्लिक किए गए सभी कोड हैं जो मैंने ऑनक्लिक सिग्नल इवेंट हैंडलर में किया है।
update();
repaint();
ui->upButton->setUpdatesEnabled(TRUE);
update();
repaint();
QPaintEvent paintevent(ui->upButton->childrenRegion());
QPaintEvent * test = &paintevent;
paintEvent(test);
this->changeEvent(test);
ui->upButton->update();
ui->upButton->repaint();
ui->upButton->repaint(ui->upButton->childrenRegion());
repaint();
QApplication::sendPostedEvents();
this->parentWidget()->update();
usleep(100000);
आप देख सकते हैं, मैं सिर्फ अंधेरे में इस बिंदु पर शूटिंग कर रहा हूँ (upButton QLabel के नाम जो एक पिक्समैप है)। मैंने नमूना कोड देखने और अपना पूरा होमवर्क करने की कोशिश की है, लेकिन मैं खो गया हूं। किसी भी मदद, सलाह, और नमूना कोड की सराहना करें।
ईवेंट संचालित जीयूआई सिस्टम में, आप आमतौर पर अपने कॉलबैक में "इनपुट के लिए प्रतीक्षा" नहीं करते हैं। इनपुट के इंतजार की स्थिति का मतलब है कि आप इवेंट लूप में हैं। इसलिए मैं उलझन में हूं कि आप किसी भी चीज के लिए नींद का उपयोग क्यों करेंगे - जब आप * उपयोगकर्ता इनपुट के साथ सौदा करने जा रहे थे तो आप कॉलिंग के बारे में क्या सोच रहे थे? घटनाओं के बारे में चिंता न करें दर्दनाक ... सिग्नल और स्लॉट काटने (आमतौर पर) नहीं। – HostileFork