2010-08-05 23 views
6

Tôi cần hiển thị bộ dữ liệu phân cấp theo chế độ xem qt. Tôi đang sử dụng QColumnView để hiển thị mô hình. Tuy nhiên, có một tính năng sao cho cột cuối cùng trong chế độ xem sẽ được chuyển xuống tiện ích xem trước. Có thể giấu điều này không? Ví dụ, một cái gì đó như view.setPreviewWidget (NULL), mặc dù điều này phá vỡ chương trìnhCó thể xóa tiện ích xem trước khỏi QCcumnView qt không?

EDIT: tôi nên làm rõ rằng tôi muốn một cách để ẩn cột cuối cùng hoàn toàn, tức là để có cột cuối cùng trong quan điểm của tôi là "lá" của mô hình và không có không gian xem trước

+0

tạo chiều rộng của bản xem trướcWidget số không (tôi nghĩ nó là cột cuối cùng) [QColumnView :: setColumnWidths] (http://doc.qt.io/qt-4.8/qcolumnview.html#setColumnWidths) – Redanium

Trả lời

0

Điều này sẽ ẩn nút khi được nhấp.

#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(); 
} 

Lưu ý rằng nó sẽ bị ẩn vĩnh viễn. Bạn phải gọi show() nếu bạn muốn nó được hiển thị lại.

+0

Ahh, xin lỗi Tôi nên làm rõ rằng tôi muốn có không gian xem trước không được hiển thị ở tất cả. Điều này làm ẩn nút, nhưng để lại một cột trống. – user412411

+0

Bạn muốn các cột còn lại được kéo dài và chiếm không gian còn lại bởi tiện ích xem trước? – andref

+1

Ahh vâng, đó là chính xác những gì tôi muốn, làm thế nào tôi sẽ đi về làm điều đó? – user412411

Các vấn đề liên quan