2010-08-05 10 views
6

मुझे एक क्यूटी व्यू में डेटा का पदानुक्रमित सेट प्रदर्शित करने की आवश्यकता है। मैं मॉडल प्रदर्शित करने के लिए QColumnView का उपयोग कर रहा हूँ। हालांकि, ऐसी सुविधा है कि दृश्य में अंतिम कॉलम पूर्वावलोकन विजेट पर रवाना हो जाएगा। क्या यह छिपाना संभव है? पूर्व, view.setPreviewWidget (NULL) जैसे कुछ, हालांकि यह प्रोग्रामक्या एक qt QColumnView से पूर्वावलोकन विजेट को हटाना संभव है?

संपादित करें: मुझे यह स्पष्ट करना चाहिए कि मुझे अंतिम कॉलम को पूरी तरह छिपाने का तरीका चाहिए, यानी मेरे विचार में अंतिम कॉलम होना चाहिए मॉडल के "पत्ते", और पूर्वावलोकन स्थान नहीं होने के लिए

+0

पूर्वावलोकन की चौड़ाई बनाओजेट शून्य (मुझे लगता है कि यह अंतिम कॉलम है) [QColumnView :: setColumnWidths] (http://doc.qt.io/qt-4.8/qcolumnview.html#setColumnWidths) – Redanium

उत्तर

0

यह क्लिक होने पर बटन को छुपाएगा।

#include <QtGui/QApplication> 
#include <QtGui/QColumnView> 
#include <QtGui/QPushButton> 
#include <QtGui/QFileSystemModel> 

int main(int argc, char *argv[]) 
{ 
    QApplication a(argc, argv); 

    QColumnView view; 
    QFileSystemModel model; 
    QPushButton button(&view); 

    button.setText("Click me"); 
    QObject::connect(&button, SIGNAL(clicked()), &button, SLOT(hide())); 

    model.setRootPath("/"); 

    view.setModel(&model); 
    view.setPreviewWidget(&button); 
    view.show(); 

    return a.exec(); 
} 

ध्यान दें कि यह हमेशा के लिए छुपा जाएगा। यदि आप इसे फिर से प्रदर्शित करना चाहते हैं तो आपको show() पर कॉल करना होगा।

+0

अहह, क्षमा करें मुझे यह स्पष्ट करना चाहिए था कि मैं पूर्वावलोकन स्थान बिल्कुल दिखाना नहीं चाहता हूं। यह बटन छुपाता है, लेकिन एक खाली कॉलम छोड़ देता है। – user412411

+0

क्या आप शेष कॉलम को विस्तारित करना चाहते हैं और पूर्वावलोकन विजेट द्वारा छोड़ी गई जगह पर कब्जा कर सकते हैं? – andref

+1

आह हाँ, यह वही है जो मैं चाहता हूं, मैं ऐसा करने के बारे में कैसे जाऊं? – user412411

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