2012-03-13 63 views
0

是否有任何關於如何將QWidget容器(與佈局,複選框,按鈕等其他東西)放在一起作爲QTableView/QTableWidget中的行的任何文檔,如圖所示?QTableView/QTableWidget中類似Ktorrent的小部件

我正在瀏覽ktorrent的源代碼來查看如何完成此操作。

任何幫助將非常感激。

Ktorrent configuration widget as a QTableView row

回答

1

對於QTableWiget使用

void QTableWidget::setCellWidget (int row, int column, QWidget *widget) 

你的情況:

class MyWidget : public QWidget { 
    // a composite widget with layouts and other stuff 
}; 
setCellWidget(0, 0, new MyWidget); 

QTableView你必須定義你的自定義委託,並將其設置的情況下(如)對於某一列有:

void QAbstractItemView::setItemDelegateForColumn (int column, QAbstractItemDelegate * delegate) 

Check this out爲表

+0

而多個複選框,lineEdits和按鈕內部的QProgressBar的例子?這些也是該行的一部分O_o – Hector 2012-03-13 18:32:12

+0

您可以將任何QWidget作爲表格單元格 – Masci 2012-03-13 18:40:40

+0

我想我已經看到他們是如何做到的。他們在繪畫事件中直接在該行的父容器中放置一個小部件。有點棘手... – Hector 2012-03-13 21:53:17

相關問題