2011-04-17 56 views
8

thể trùng lặp:
Qt - initializing the formQt - setupUi()

tôi đã cố gắng để tìm một mô tả cho phương pháp setupUi() nhưng không thể tìm thấy đặc biệt trong tài liệu Qt.

Phương pháp này làm gì? Ví dụ, nếu tôi viết trong một lớp học setupUi(this), điều này sẽ làm gì? Việc thiết lập giao diện người dùng có ý nghĩa gì ở cuối?

Cảm ơn.

+2

bạn đã hỏi nhiều lần. setupUi thiết lập các widget mà bạn mô tả trong tệp ui. nếu bạn muốn biết nó làm gì, hãy nhìn vào mã được tạo ra bởi 'uic', tất cả đều ở đó. – Mat

+0

@Simplicity Cảm ơn bạn đã hỏi điều này nhiều lần! – Liviu

Trả lời

15

setupUi() tạo các phiên bản tiện ích thực tế cho bạn. Biểu mẫu mà bạn tạo trong QtDesigner được lưu trữ giống như tệp XML. Vì vậy, để có thể xây dựng "cửa sổ" thực tế với tất cả các phần tử mà bạn đặt trên nó trong QtDesigner và hiển thị nó trong ứng dụng của bạn, setupUi() được tạo ra cho bạn một cách tự động bởi UIC (UI compiler - một công cụ Qt). phải làm điều đó bằng tay. Tất cả các thuộc tính mà bạn đặt trong QtDesigner và tất cả các phần tử bạn đặt ở đó sẽ được "dịch" trong mã C++ như sau:

QLabel *label1 = new QLabel(tr("Start"), this); 
QTableView *view1 = new QTableView(this); 
...