有没有一种简单的方法来移除QDockWidget的大小调整句柄?我的dock小部件不能调整大小( sizepolicy是固定的),所以在那里拥有句柄是多余的。
发布于 2009-12-21 01:58:32
这个bug和Qt本身一样古老,我在Qt bugtracker的这个report中报告了这个问题。如果你想更快地修复它,请投赞成票。
发布于 2009-11-24 07:48:29
句柄由QMainWindow实例作为分隔符绘制&我认为修改它的惟一方法是使用样式表。
http://doc.trolltech.com/main-snapshot/stylesheet-examples.html#customizing-qmainwindow
将背景颜色设置为当前调色板背景似乎是可行的:
QPalette pal = QApplication::palette(&mainWin);
QString wcolor = pal.window().color().name();
QString style= QString( "QMainWindow::separator { background: %1;}").arg(wcolor);
mainWin.setStyleSheet(style);发布于 2020-07-28 16:11:18
如果碰巧有人还在为此而苦苦挣扎,我刚刚发现,在Windows上使用Qt 5.15,可以通过在放入QDockWidget的小部件(而不是QDockWidget本身,这没有任何效果)上的适当方向设置QSizePolicy::Fixed来删除大小句柄;例如:
QDockWidget *cdw = new QDockWidget("Settings", this);
cdw->setFeatures(QDockWidget::DockWidgetMovable|QDockWidget::DockWidgetFloatable);
cdw->setAllowedAreas(Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea);
controlDock = new ControlDock(cdw, this);
controlDock->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Minimum);
cdw->setWidget(controlDock);
addDockWidget(Qt::LeftDockWidgetArea, cdw);结果面板不能水平调整大小,无论是停靠的还是浮动的,并且没有调整大小的热点。
https://stackoverflow.com/questions/1467452
复制相似问题