设为首页 加入收藏

TOP

【Qt6】工具提示以及调色板设置(三)
2023-08-26 21:10:31 】 浏览:149
Tags:Qt6
许以调色板的方式设置提示的背景色和前景色(文本颜色)。直接看例子:

int main(int argc, char* argv[])
{
    QApplication app(argc, argv);// 获取工具提示的现有调色板
    QPalette pal = QToolTip::palette();
    // 修改背景色
    pal.setColor(         QPalette::Inactive,         QPalette::ToolTipBase,         QColor("darkblue")     );     // 修改文本颜色
    pal.setColor(         QPalette::Inactive,         QPalette::ToolTipText,         QColor("lightyellow")     );     // 重新设置调色板
    QToolTip::setPalette(pal);

    // 窗口
    QWidget* window = new QWidget;
    window->setWindowTitle("自定义ToolTip颜色");
    window->resize(250, 100);
    // 布局
    QHBoxLayout *layout = new QHBoxLayout;
    window->setLayout(layout);
    // 两个按钮
    QPushButton *btn1, *btn2;
    btn1 = new QPushButton("回到过去", window);
    btn2 = new QPushButton("看看未来", window);
    layout->addWidget(btn1);
    layout->addWidget(btn2);
    // 为按钮设置提示
    btn1->setToolTip("一键触发穿越之旅");
    btn2->setToolTip("一键改变人生");
    // 显示窗口
    window->show();

    // 进入主循环
    return QApplication::exec();
}

代码是没有问题的,但很多同学可能遇到运行之后没有效果的问题。就像这样:

很多大伙伴们可能还找不到解决方案。其实这事是主题造成的,Windows 上默认使用 WindowsVista 主题,我们换一个主题就行了,比如,换成 Windows 主题。如果你不知道当前环境下支持哪些主题,可以调试输出一下 QStyleFactory::keys 方法的返回结果。

qDebug() << QStyleFactory::keys();

得到的输出如下:

QList("windowsvista", "Windows", "Fusion")

除了 Windowsvista,另外两个随便选,都可以。

咱们修改一下应用程序的主题,在 app 变量上调用。

QApplication app(argc, argv);
// 改变主题
app.setStyle("Fusion");

再运行一下看看,效果就有了。

 

好了,今天的话题就聊到这儿了。

首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇ImGui界面优化:使用图标字体、隐.. 下一篇C++ LibCurl 库的使用方法

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目