2012-10-10 19 views
11

Tôi không thể tìm thấy sơ đồ giống như hướng dẫn cho một sự kiện thay đổi kích thước trên QMainWindow, cũng như tôi không thấy bất kỳ tùy chọn nào để thêm sự kiện thay đổi kích cỡ trong menu thả xuống tại cửa sổ thiết kế Qt.Cách gán gọi lại khi người dùng thay đổi kích thước QMainWindow?

Tôi chưa quen với Qt. Tôi muốn viết một chức năng khe cho một sự kiện thay đổi kích thước QMainWindow. Có sự kiện như vậy không? Tôi có thể làm cái này như thế nào?

Trả lời

21

Có một số resize event. Để thực hiện xử lý tùy chỉnh sự kiện, bạn cần phải tạo trình xử lý sự kiện thay đổi kích thước của riêng mình. Trong trường hợp của bạn, bạn cần tạo một lớp có nguồn gốc từ QMainWindow và triển khai lại chức năng resizeEvent. Mã của bạn sẽ giống như thế này:

void MyMainWindow::resizeEvent(QResizeEvent* event) 
{ 
    QMainWindow::resizeEvent(event); 
    // Your code here. 
} 

Các Qt Scribble example cũng có một ví dụ về cách ghi đè các sự kiện thay đổi kích thước (mặc dù không phải trong cửa sổ chính).