2009-04-12 9 views
7

के लिए Qt में पॉपअप मेनू बनाना मेरे पास मेरे प्रोग्राम के मुख्य UI में QTableView है। मैं पॉपअप मेनू दिखाना चाहता हूं जब उपयोगकर्ता तालिका के कक्षों पर सही क्लिक करता है और मेनू से कोई विकल्प चुने जाने पर उचित कार्रवाई करता है।QTableView

मैं क्यूटी निर्माता 1 (क्यूटी संस्करण 4.5) का उपयोग कर रहा हूं। मैं उसे कैसे कर सकता हूँ?

उत्तर

22

ईवेंट प्राप्त करने के लिए customContextMenuRequested सिग्नल देखें, और मेनू के लिए QMenu का उपयोग करें। सिग्नल को दिए गए निर्देशांक के आधार पर सेल को क्लिक करने के लिए QTableView::indexAt का उपयोग करें और मेनू आइटम पर क्लिक होने पर उचित कार्रवाई करें।

+2

आपको इसे प्रदर्शित करने के लिए menu.exec (const QPoint &) को कॉल करने की आवश्यकता होगी। सुनिश्चित करें कि आप इसे उचित निर्देशांक में अनुवादित करें: menu.exec (mapToGlobal (बिंदु), 0) –

+5

या बस menu.exec (QCursor :: pos()) का उपयोग करें http://doc.trolltech.com/latest/ qmenu.html # exec – amree

+0

कुंजीपटल शॉर्टकट से संदर्भ मेनू कहा जा सकता है, इसलिए कर्सर स्थिति हमेशा कॉल का सही बिंदु नहीं है। –

संबंधित मुद्दे