Tôi cần phải đặt một QPushButton
bên trong một QMenu
. Có thể và nếu có thì làm thế nào?Làm thế nào để đặt nút bấm bên trong điều khiển QMenu hoặc QAction?
tôi muốn đạt được một cái gì đó như thế này:
Tôi cần phải đặt một QPushButton
bên trong một QMenu
. Có thể và nếu có thì làm thế nào?Làm thế nào để đặt nút bấm bên trong điều khiển QMenu hoặc QAction?
tôi muốn đạt được một cái gì đó như thế này:
QWidgetAction là những gì bạn đang tìm kiếm. Đây là những gì là trên tài liệu qt
Lớp QWidgetAction kéo dài QAction bởi một giao diện cho chèn widget tùy chỉnh thành hành động container dựa
Vì vậy, về cơ bản nó mang lại một giao diện người dùng tùy chỉnh để QAction theo những gì QWidget bạn vượt qua cho nó. Tôi đã sử dụng QWidgetAction để hiển thị hộp kiểm dưới dạng các mục QMenu.
QCheckBox *chkBox = new QCheckBox(menu);
chkBox ->setText("MyCheckBox");
QWidgetAction *chkBoxAction= new QWidgetAction(menu);
chkBoxAction->setDefaultWidget(chkBox);
menu->addAction(chkBoxAction);
Sau đó, bạn có thể xử lý tín hiệu từ hộp kiểm tương ứng.
Nếu bạn chỉ muốn có một mục trình đơn để có một trạng thái, bạn có thể sử dụng tài sản Checkable của QAction:
rotateAct = new QAction(QIcon(":/images/Mouse/Rotate.png"), tr("&Rotate"), this);
rotateAct->setCheckable(true);
bạn đang cố gắng làm gì đây? Một nút ấn bên trong một menu có vẻ giống như một phần tử giao diện người dùng rất lạ - nó hoạt động như thế nào? – Mat
QAction mới sẽ được thêm vào QMenu sau khi nhấn nút. – liri2006