头发继续乱 2024-01-17 16:43 采纳率: 47.4%
浏览 15
已结题

QChar可以表示图标么

QCahr可以标识一个图标,比如

 btn 是个Qpushbutton
    btn->setProperty("class", "IconFontButton");
    btn->setFont(font);
    btn->setText(QChar(0xe647));
    btn->setFixedHeight(size);
    btn->setToolTip(tooltip);
    btn->setCursor(Qt::PointingHandCursor);

就会显示成这样,请问这个对应的表在哪呢,我需要用其他的图标。

img

  • 写回答

5条回答 默认 最新

  • 关注

    可以使用setStyleSheet()设置样式,首先你需要准备好3张图片(普通样式、鼠标悬停、鼠标按下),当然,只准备1张普通样式的也行,只准备1张的话点击可能没效果。然后通过如下代码设置样式即可:

    QString s1 = "QPushButton{border-image: url(/res/btn1_normal.png);}";  //正常样式
    QString s2 = "QPushButton:hover{border-image: url(/res/btn1_over.png);}"; //鼠标悬浮时的样式
    QString s3 = "QPushButton:pressed{border-image: url(/res/btn1_pressed.png);}"; //鼠标按下时的样式
    
    btn->setStyleSheet(s1 + " " + s2 + " " + s3);
    
    

    url()中的图片,你可以先把图片添加到资源中,然后复制图片路径,替换上面url()中的路径即可。
    如果图片不添加到资源,就把url()中的路径写成绝对路径或者相对路径。我上面示例代码中用的是相对路径。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 9月24日
  • 已采纳回答 9月16日
  • 修改了问题 1月17日
  • 创建了问题 1月17日

悬赏问题

  • ¥15 vue请求不到数据,返回状态200,数据为html
  • ¥15 访问url时不会自动调用其 Servlet的doGet()
  • ¥15 用白鹭引擎开发棋牌游戏的前端为什么这么难找
  • ¥15 MATLAB解决问题
  • ¥35 哪位专业人士知道这是什么原件吗?哪里可以买到?
  • ¥15 关于#c##的问题:treenode反序列化后获取不到上一节点和下一节点,Fullpath和Handle报错
  • ¥15 一部手机能否同时用不同的app进入不同的直播间?
  • ¥20 输入import torch显示Intel MKL FATAL ERROR,系统驱动1%,: Cannot load mkl_intel_thread.dll.
  • ¥15 点云密度大则包围盒小
  • ¥15 nginx使用nfs进行服务器的数据共享