के साथ माउस को ट्रैक नहीं कर रहा है मुझे QMainWindow
में माउस आंदोलनों को ट्रैक करने में कोई समस्या है। मेरे पास टॉगल बटन buttonGenerate
है। यहाँ MainWindow
QMainWindow setMouseTracking()
class MainWindow : public QMainWindow, private Ui::MainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
protected:
void mouseMoveEvent(QMouseEvent *);
private slots:
void on_buttonGenerate_toggled(bool checked);
};
void MainWindow::mouseMoveEvent(QMouseEvent *event)
{
label_5->setText(tr("%1 %2 %3")
.arg(event->x())
.arg(event->y())
.arg(hasMouseTracking()));
event->ignore();
}
void MainWindow::on_buttonGenerate_toggled(bool checked)
{
buttonGenerate->setText(checked
? tr("Stop")
: tr("Start"));
setMouseTracking(checked);
}
के लिए कोड जब बटन चालू किए जाने पर है, माउस नज़र रखी जानी चाहिए और उसके एक्स & वाई के साथ ट्रैकिंग सक्षम है या label_5
में नहीं प्रदर्शित की जाएं या साथ समन्वय करता है। जब बटन को बंद कर दिया जाता है, तो माउस ट्रैकिंग बंद होनी चाहिए और लेबल_5 अपडेट नहीं किया जाना चाहिए। यह मामला नहीं है।
बटन दबाए जाने के बावजूद, माउस को ट्रैक नहीं किया जा रहा है। केवल जब मैं माउस बटन दबाएगा label_5
अपडेट किया जाएगा, और यह setMouseTracking(bool)
सक्रिय है या नहीं, यह अनियंत्रित है।
किसी भी अंतर्दृष्टि की सराहना की जाएगी।
क्या आपने सत्यापित किया है कि 'on_buttonGenerate_toggled' में' चेक' 'सत्य है जब आप इसकी अपेक्षा करते हैं? –
हां, '% 3' तर्क 1 है जब toggled। – nerozehl
लेकिन आप केवल यह देखते हैं कि जब आप माउस बटन दबा रहे हैं - यह मुझे एक संभावना के रूप में मारता है कि माउस प्रेस अस्थायी रूप से 'हैसउसट्रैकिंग' को 1 पर सेट करता है। इसलिए मैं इसे 'on_buttonGenerate_toggled' में सत्यापित करूँगा। –