【问题标题】:Style Sheet for rounded corners on QLineEdit content?QLineEdit 内容圆角的样式表?
【发布时间】:2014-06-01 01:31:57
【问题描述】:

我正在使用 Qt 样式表创建一个自定义 QLineEdit,当它获得焦点时,它周围有一个浅蓝色边框。这是样式表:

    this->setStyleSheet(" QLineEdit { "
                        " border-radius: 4px; "
                        " color:rgb(0, 0, 0); "
                        " background-color: rgb(255, 255, 255); } "

                        " QLineEdit:focus { "
                        " border-style:outset; "
                        " border-width:4px; "
                        " border-radius: 4px; "
                        " border-color: rgb(41, 237, 215); "
                        " color:rgb(0, 0, 0); "
                        " background-color: rgb(150, 150, 150); } "
                   );

结果如下:

这看起来很不错,但是有什么办法可以把 QLineEdit 内容区域的角落弄圆?上图中的浅灰色区域?

更具体地说,这可以使用 Qt 样式表吗?

【问题讨论】:

    标签: qt qlineedit qtstylesheets


    【解决方案1】:

    border-radius 应该大于border-width 至少 4-5 像素。请尝试以下操作:

    this->setStyleSheet(" QLineEdit { "
                            " border-radius: 8px; "
                            " color:rgb(0, 0, 0); "
                            " background-color: rgb(255, 255, 255); } "
    
                            " QLineEdit:focus { "
                            " border:4px outset; "
                            " border-radius: 8px; "
                            " border-color: rgb(41, 237, 215); "
                            " color:rgb(0, 0, 0); "
                            " background-color: rgb(150, 150, 150); } "
                       );
    

    看起来像:

    【讨论】:

    • 谢谢。这正是我想要的。
    【解决方案2】:

    要使边框半径值生效,请注意它取决于 QLineEdit 小部件的高度。例如,高度为 20 的 QLineEdit 小部件在停止绘制半径并恢复为方角之前只能接受 10px 的边框半径值。如果需要,请尝试获得最大半径。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-31
      • 2013-05-15
      • 2017-12-30
      • 1970-01-01
      • 2010-09-24
      • 1970-01-01
      • 2020-08-25
      • 1970-01-01
      相关资源
      最近更新 更多