2009-12-22 18 views
7

Giả sử tôi có tệp about.ui. Tôi làm cách nào để tạo "about.h""about.cpp" từ .ui tệp của mình? Tôi cũng phải tạo một tệp .moc? Làm cách nào để tôi có thể biên dịch điều này sau khi người sáng tạo xem liệu tất cả có chính xác không?Tạo .h và .cpp từ tệp .ui

Trả lời

3

QMake (thực tế là uic) sẽ tự động tạo tệp ui_about.h mà bạn có thể sử dụng để tạo about.cpp (chỉ cần đảm bảo tải tệp .pro ngay). Dưới đây là một số tutorial

Bạn có thể muốn sử dụng Qt (4.6) quá btw mới nhất.

+1

Liên kết đã chết. Đây là lý do tại sao bạn phải báo giá hướng dẫn ở đây, trong khi cho họ tín dụng. –

3

Bạn không.
Các about.ui tạo ra một ui_about.h mà bạn đưa vào about.h của riêng bạn

Sau đó bạn tạo bạn sở hữu lớp bắt nguồn từ lớp này

class about : public QDialog, public Ui::about 
{ 
    Q_OBJECT; 
.... 
} 
1

TRÊN VS2008 Thực hiện theo bước này Đến Mẫu Files-> Add-> Class-> Qt4Classes-> Q4GuiClass-> Add, sau đó Điền tên lớp và nhấp vào Finish.

6

Nếu thế hệ tự động không hoạt động (như trong trường hợp của tôi), bạn có thể sử dụng uic để tạo tệp tiêu đề theo cách thủ công. uic file.ui > file.h

+0

Âm thanh như tệp .ui của bạn không được liệt kê trong tệp .pro hoặc bạn không chạy lại qmake. – leemes

+0

Hoặc có thể chỉ QtCreator hút, phải không? –

0

nếu bạn đang sử dụng trình tạo qt trong cửa sổ, chỉ cần nhấp chuột phải vào dự án của bạn và nhấp vào thực thi qmake, sau đó nó sẽ tạo ra ui_xxx.h và bạn có thể thêm #include ui_xxx.h vào tệp của mình.

3

Câu trả lời ngắn:

Trong QtCreator có hai cách để tạo biểu mẫu từ cửa sổ trợ: - Qt Form Designer Lớp - QtDesigner Mẫu

bạn phải tạo một mới "Qt Designer Form Class "thay vì" Mẫu thiết kế Qt ", vì bạn chọn " Mẫu thiết kế Qt " tác giả qt không tạo các .h và .cpp từ file .ui:

dài trả lời:

Khi bạn tạo "QtCreator Mẫu" chỉ tạo .ui nộp này rất hữu ích nếu bạn đã có một lớp học hiện tại cho logic kinh doanh và giao diện người dùng bạn muốn xây dựng lại giao diện người dùng nhưng giữ logic kinh doanh, bạn có thể gọi buttom hoặc các thành phần có cùng tên và trao đổi ui.

+0

Nếu tôi sử dụng QtCreator để tạo một lớp, sau đó nó sẽ tạo các tệp myClass.ui, ui_myClass.h, MyClass.h và MyClass.cpp? Tôi hỏi vì tôi có một tệp khácClass.ui mà tôi muốn tạo một lớp với otherClass.h và otherClass.cpp. Trước đây, tôi đã làm một điều như vậy, và tôi nghĩ rằng tôi đã sử dụng QtCreator. Tuy nhiên, tôi không thể nhớ lại bây giờ tôi đã tạo ra MyClass.h và MyClass như thế nào.tệp cpp từ tệp .ui. – user3731622