2013-05-15 22 views
11

Tôi đang cố gắng tạo biểu mẫu đăng nhập bằng Qt5.0.1. Tôi đã tạo 2 Widgets và tôi đặt các nhãn và các chỉnh sửa dòng của mình vào một trong số chúng và nút của tôi ở một cái khác. Sau đó, tôi đặt 2 widget này trong một QVBoxLayout, nhưng khoảng cách giữa hai widget trong layout là nhiều hơn mục đích. Tôi đã thử setSpacing và setContentsMargin nhưng chúng không hoạt động cho chương trình này.Không gian giữa các tiện ích trong QVBoxLayout

vhandle->setSpacing(0); 
vhandle->setMargin(0); 
vhandle->setContentsMargins(0,0,0,0); 
vhandle->addWidget(handle,0, Qt::AlignTop); 
vhandle->addWidget(handle2,0, Qt::AlignTop); 

nhưng không thay đổi trong không gian giữa hai widget:

http://i.stack.imgur.com/R33MM.png

những gì tôi nên làm gì?

Trả lời

11

Vấn đề không phải là cài đặt lề của QVboxLayout, nhưng cài đặt lề của bố cục tiện ích vùng chứa của bạn và cài đặt khoảng cách của QVBoxLayout. Bạn đã đặt khoảng cách thành 0, điều này sẽ ổn. Bên cạnh đó, giả định rằng upperWidgetLayout là cách bố trí của các widget trên và lowerWidgetLayout cách bố trí của các phụ tùng thấp hơn, thử

upperWidgetLayout->setContentsMargins(-1, -1, -1, 0); 
lowerWidgetLayout->setContentsMargin(-1, 0, -1, -1); 

này đặt lề dưới của bố trí các widget trên và lề đầu bố trí widget thấp để 0, do đó không có khoảng trống giữa các nội dung của hai widget:

Dialog Layout

Tạm tô đầy lên cái widget khác nhau thường là một phương pháp tốt để theo dõi các vấn đề như vậy. Bạn cũng có thể sử dụng Qt Designer để thiết kế giao diện người dùng và xem mã nguồn đang được tạo (hoặc sử dụng tệp .ui trực tiếp trong dự án của bạn).

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