Tôi là một lập trình viên sinh viên và tôi đang sử dụng Qt để xây dựng giao diện GUI cho công việc. Tôi có một QTreeWidget
có tổng cộng 8 Cột. Đầu vào cần phải được nhập vào mỗi một trong các cột này là khá nhỏ. Về vấn đề đó, tôi đã cố gắng tìm cách để kích thước lại tất cả các cột với số lượng không gian ít nhất cần thiết. giống như hành động được thực hiện khi bạn nhấp vào các ngăn. Tôi đã xem qua một số trang web và các tài liệu Qt và đã không tìm thấy một giải pháp. Sau khi xem qua các tài liệu có vẻ như có một loạt các cách để làm điều này nhưng tôi không thể có được một để làm việc. Tôi bắt đầu nghĩ rằng tôi cần phải kích hoạt/vô hiệu hóa một cái gì đó ở đâu đó. Nó giống như những thay đổi mà tôi viết vào hàm xây dựng của tôi (Hàm này xóa bảng; Đọc dữ liệu từ vectơ của tôi, hiển thị dữ liệu nhất định trong bảng, và giả sử kích thước lại các tiêu đề/cột thành kích thước vừa đủ để vừa với nội dung của cột) thậm chí không được áp dụng. Tôi đã thử những điều sau đây không có thay đổi:Cách thay đổi kích thước các cột trong QTreeWidget thành không gian tối thiểu cần thiết
ui->treeWidgetInjections->setColumnWidth(i, minimumWidth());
ui->treeWidgetInjections->resizeColumnToContents(i);
ui->treeWidgetInjections->header()->ResizeToContents;
ui->treeWidgetInjections->header()->resizeSection(i, minimumWidth());
Tất cả trong số này là vào cuối hợp đồng xây dựng Chức năng của tôi (thông tin không liên quan bị loại bỏ):
ui->treeWidgetInjections->clear();
for (int i=0; i < qTreeInjectionData.size(); i++)
{
//fill Qtree with items;
//fill QTree items with data;
//re size function here;
}
Xin vui lòng chỉ để lại phản hồi hiệu quả như tôi chỉ là quan tâm đến việc học và vượt qua thử thách này. Cảm ơn trước!
Tôi nghĩ rằng tôi cho vòng lặp là vấn đề ở đây; đặc biệt tôi nghĩ rằng. kích thước có thể đã chịu trách nhiệm cho vấn đề này. –