मेरे पास QTableView
है जिसमें मैं एक कस्टम मॉडल प्रदर्शित कर रहा हूं। मैं सही माउस क्लिक पकड़ने के लिए इतना है कि मैं अंतर्निहित तालिका डेटा पर डाउन मेनू एक प्रासंगिक ड्रॉप खोल सकते हैं करना चाहते हैं:Qt4: QTableView माउस बटन ईवेंट पकड़े नहीं गए
MainWindow::MainWindow()
{
QTableView * itsView = new QTableView;
itsView->installEventFilter(this);
... //Add other widgets and display them all
}
bool MainWindow::eventFilter(QObject * watched, QEvent * event)
{
if(event->type() == QEvent::MouseButtonPress)
printf("MouseButtonPress event!\n");
else if(event->type() == QEvent::KeyPress)
printf("KeyPress event!\n");
}
अजीब है, मैं ठीक से कुंजी दबाने की घटनाओं के सभी मिलती है: मैं जब एक सेल पर प्रकाश डाला और प्रेस एक कुंजी, मुझे "कुंजीपटल घटना मिलती है!" संदेश। हालांकि, मुझे केवल "माउसबटन प्रेस ईवेंट!" संदेश मिलता है जब मैं पूरी तालिका के आस-पास बहुत पतली सीमा पर क्लिक कर रहा हूं।
छह साल बाद और इस जवाब ने मुझे समय और परेशानी का एक गुच्छा बचाया। धन्यवाद! – GuyGizmo
@GuyGizmo मुझे यह सुनकर खुशी हुई :) :) द्वारा रोकने के लिए धन्यवाद;) –