如何使QToolButton超出QToolbar的边缘?
我怎样才能使按钮超出边缘 下面是我创建工具栏时的代码: 主窗口如何使QToolButton超出QToolbar的边缘?,qt,qtstylesheets,qtoolbar,Qt,Qtstylesheets,Qtoolbar,我怎样才能使按钮超出边缘 下面是我创建工具栏时的代码: 主窗口 class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = 0) private: QToolBar* _toolBar; }; mainwindow.cpp MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) {
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = 0)
private:
QToolBar* _toolBar;
};
mainwindow.cpp
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent)
{
_toolBar = new QToolBar;
QAction *actionAdd = new QAction(QIcon(":/images/add.png"), "", this);
_toolBar->addAction(actionAdd);
addToolBar(Qt::ToolBarArea::TopToolBarArea, _toolBar);
}
style.qss
QToolBar {
background: #018ac4;
height: 150px;
}
使用小部件是不可能的。QWidget不能在其区域外绘制。请参阅以下答案: 但是,QToolBar实际上不是QAction的父对象,因为它不拥有所有权。因此,也许QMainWindow可以按照您想要的方式绘制QAction,但这在Qt的公共API中是不可行的
您可以使用QML,但您需要对整个窗口使用QML。如前所述,使用QtWidgets无法正确解决此问题。 但是,我看到了两种视觉效果的选择: 将按钮从工具栏中取出,并将其添加到主窗口中,但不要将其添加到布局中。通常我会说,在调整大小事件时重新定位它,但由于它位于左上角,您最好在启动时调用setGeometry一次,以后不用担心它。你可能得加上最后一个,或者叫瑞斯 让它看起来像按钮伸出,而实际上它并没有。使工具栏与按钮一样大,但将工具栏的下部绘制为明亮的蓝色,使其看起来像是其下方小部件的一部分
如果你发布一些关于你是如何做这些事情的代码,这会很有帮助。我添加了一些代码,很可能是关于样式的。我无法使用给定的代码将其显示在我的项目中。你在github或其他网站上有这个项目吗?如果你愿意,我可以看一下。我不认为你可以用那种方式组成你的工具栏,也就是说,在父控件的边界之外绘制子控件。唯一的方法是使按钮独立并覆盖在工具栏上。应该是一个很好的参考,使一个专业的看法