以下是一个使用 QGraphicsProxyWidget 实现拖拽的简单示例程序:
#include <QtWidgets>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
// 创建场景和视图
QGraphicsScene scene;
QGraphicsView view(&scene);
view.setRenderHint(QPainter::Antialiasing);
// 创建代理小部件
QPushButton *button = new QPushButton("Drag Me");
QGraphicsProxyWidget *proxy = new QGraphicsProxyWidget();
proxy->setWidget(button);
proxy->setFlag(QGraphicsItem::ItemIsMovable); // 启用移动功能
// 添加代理小部件到场景
scene.addItem(proxy);
view.show();
return app.exec();
}
在这个示例中,我们创建了一个包含一个按钮的 QGraphicsProxyWidget。设置 ItemIsMovable 标志启用了移动功能。然后将代理小部件添加到场景中,它可以通过鼠标拖动来移动。
请注意,该示例只是最简单的演示代码,您可以根据自己的需求进行扩展和修改。
内容由零声教学AI助手提供,问题来源于学员提问




