码头的Qt调整事件
有没有一种方法可以捕获Qt中停靠点的调整大小事件?我需要能够检测坞的大小(而不仅仅是它的位置或“功能”改变时)。QDockWidget似乎没有“调整大小”的信号。如果您不希望子类化以获得调整大小事件控件,您可以 小示例如下(码头的Qt调整事件,qt,resize,signals,dock,qdockwidget,Qt,Resize,Signals,Dock,Qdockwidget,有没有一种方法可以捕获Qt中停靠点的调整大小事件?我需要能够检测坞的大小(而不仅仅是它的位置或“功能”改变时)。QDockWidget似乎没有“调整大小”的信号。如果您不希望子类化以获得调整大小事件控件,您可以 小示例如下(MainWindow.h):(MainWindow在这里保存DockWidget) 在(main window.cc)中: MainWindow::MainWindow(QWidget*父项) :QWidget(父项){ 用户界面设置用户界面(本); ui.dockWidge
MainWindow.h
):(MainWindow在这里保存DockWidget)
在(main window.cc
)中:
MainWindow::MainWindow(QWidget*父项)
:QWidget(父项){
用户界面设置用户界面(本);
ui.dockWidget->installEventFilter(此);
}
bool主窗口::事件过滤器(QObject*obj,QEvent*event){
if(event->type()==QEvent::Resize&&obj==ui\uux.dockWidget){
QResizeEvent*resizeEvent=静态_转换(事件);
qDebug(“坞大小调整(新尺寸)-宽度:%d高度:%d”,
resizeEvent->size().width(),
resizeEvent->size().height());
}
返回QWidget::eventFilter(obj,事件);
}
protected:
bool eventFilter(QObject *obj, QEvent *event);
MainWindow::MainWindow(QWidget* parent)
: QWidget(parent) {
ui_.setupUi(this);
ui_.dockWidget->installEventFilter(this);
}
bool MainWindow::eventFilter(QObject *obj, QEvent *event) {
if (event->type() == QEvent::Resize && obj == ui_.dockWidget) {
QResizeEvent *resizeEvent = static_cast<QResizeEvent*>(event);
qDebug("Dock Resized (New Size) - Width: %d Height: %d",
resizeEvent->size().width(),
resizeEvent->size().height());
}
return QWidget::eventFilter(obj, event);
}