Tôi muốn điền một số QGridLayout
với QWidgets
. QWidgets
cần xuất hiện ở góc trên cùng bên trái và trên cùng bên phải và tiến hành điền xuống dưới sau mỗi hàng được điền bằng QWidgets
. Một ví dụ về GUI tương tự và quen thuộc là cách Apple sắp xếp các ứng dụng của nó trên màn hình chính của iPhone hoặc iPad. Các ứng dụng đi từ trên trái sang phải trên cùng và tiếp tục đi xuống sau mỗi hàng được lấp đầy.Làm thế nào để điền vào một QGridLayout từ trên trái sang phải?
Ngay bây giờ, bất cứ khi nào tôi thêm yếu tố, chúng chiếm toàn bộ màn hình và/hoặc không được thêm bên cạnh nhau.
Đây là mã ví dụ về những gì tôi đang làm
m_gridLayout = new QGridLayout(this);
this->setLayout(m_gridLayout);
m_gridLayout->addWidget(widgetToBeAdded, m_currentRow, m_currentColumn, Qt::AlignLeft);
tôi tiến hành cập nhật m_currentColumn và m_currentRow như mong đợi. Sau một số cột nhất định, tôi yêu cầu nó thay đổi sang hàng tiếp theo và không có gì xảy ra. Tôi đã xác nhận thông qua gỡ lỗi rằng nó là vô hiệu nhổ ra đúng hàng và cột.)
Cuối cùng, tôi sẽ cần phải ném trên QScrollArea
để người ta có thể cuộn xuống lưới.
Kích thước của mỗi QWidget
sẽ giống nhau. Nếu tôi có thể nhận được bất kỳ sự trợ giúp nào liên quan đến việc phân loại lưới đúng cách, nó sẽ được đánh giá cao.
EDIT: Sử dụng câu trả lời bên dưới, tôi đã quản lý để sắp xếp các mục của mình theo đúng thứ tự. Tuy nhiên, có một lượng lớn không gian ở giữa tất cả các phần tử theo hướng thẳng đứng. Điều này không bị giảm bớt bằng cách thay đổi thuộc tính verticalSpacing, như tôi nghĩ. Có ai biết cách tiến hành không?