2010-02-04 18 views

Trả lời

10

QTableWidget sử dụng chỉ số mà không dựa, vì vậy qTableWidget->rowCount() là một quá khứ cuối bảng.

Để lặp qua các mục của bạn và xem văn bản của họ, bạn có thể làm một cái gì đó như thế này:

// assuming #include <QtDebug> 
for (int i=0; i<tableWidget->rowCount(); ++i) 
{ 
    qDebug() << tableWidget->item(i, 0)->text(); 
} 
+0

thực hiện điều này gây ra chương trình sụp đổ: qDebug() < tableWidget-> mục (0,1) -> text(); – eyecreate

+2

Bạn đã thêm gì vào danh sách chưa? Nếu không, mục (0,1) sẽ trả về NULL và cố gắng dereference con trỏ NULL để có được văn bản sẽ dẫn đến một vụ tai nạn. –

+0

Làm cách nào để thêm nội dung nào đó vào danh sách? Tôi đã tạo ra một hàng đó là nó, mặc dù hàng sẽ có các ô trống khi được tạo. Làm cách nào để gán giá trị vào các ô mới khi chèn hàng? – eyecreate

3

Có vẻ như tôi đã không nhận ra rằng tôi đã có để làm cho một đối tượng mục mới cho mỗi tế bào. Tôi giải quyết điều này bằng cách khởi tạo nó "trống rỗng"

ui->tablewidget->setItem(ui->tablewidget->rowCount()-1,0,new QTableWidgetItem("")); 
Các vấn đề liên quan