Qt的工具栏位置调整到界面中间

img


如图红色圈出来的部分,怎么把工具栏调整到界面中间呀,如果这个不是工具栏,那是通过什么实现啊

自己封装,布局中间显示

  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7663292
  • 这篇博客也不错, 你可以看下Qt九宫格,只拉伸背景的指定位置单位像素,做到背景长度适配
  • 除此之外, 这篇博客: Qt 开发经验总结中的 很多时候需要在已知背景色的情况下,能够清晰的绘制文字,这个时候需要计算对应的文字颜色。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • //根据背景色自动计算合适的前景色
    double gray = (0.299 * color.red() + 0.587 * color.green() + 0.114 * color.blue()) / 255;
    QColor textColor = gray > 0.5 ? Qt::black : Qt::white;
    对QTableView或者QTableWidget禁用列拖动。
    #if (QT_VERSION <= QT_VERSION_CHECK(5,0,0))
        ui->tableView->horizontalHeader()->setResizeMode(0, QHeaderView::Fixed);
    #else
        ui->tableView->horizontalHeader()->setSectionResizeMode(0, QHeaderView::Fixed);
    #endif
    
  • 您还可以看一下 焦岳老师的QT教程--入门实战视频精讲课程中的 界面开发入门小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    我可以给出以下解决方案:

    1. 调整Qt工具栏的位置,可以通过QWidget的方法move()或者setGeometry()来实现。假设工具栏对象名为toolbar,可以使用下面的代码将其移动到界面中间:

    int x = (width() - toolbar->width())/2; int y = (height() - toolbar->height())/2; toolbar->move(x,y);

    1. 如果界面中的那个区域不是工具栏,可以通过QWidget的方法setStyleSheet()来设置其样式。假设区域对象名为area,可以使用下面的代码来设置其背景颜色为红色:

    area->setStyleSheet("background-color:red;");

    1. 界面切换可以通过QWidget的方法hide()和show()来实现。假设当前界面对象名为current,下一个界面对象名为next,可以使用下面的代码将当前界面隐藏并显示下一个界面:

    current->hide(); next->show();

    完整代码如下:

    // 移动工具栏到界面中间 int x = (width() - toolbar->width())/2; int y = (height() - toolbar->height())/2; toolbar->move(x,y);

    // 设置区域的背景颜色为红色 area->setStyleSheet("background-color:red;");

    // 切换界面 current->hide(); next->show();