• 6868阅读
  • 6回复

[提问]按钮周围有虚线的问题难道没有解决办法吗 [复制链接]

上一主题 下一主题
离线diedwalker
 
只看楼主 倒序阅读 楼主  发表于: 2012-01-12
没有办法去掉按钮旁边的虚线框?
有谁知道怎么去掉,请赐教
离线jdwx

只看该作者 1楼 发表于: 2012-01-12
回 楼主(diedwalker) 的帖子
button->setFocusPolicy(Qt::NoFocus);
让按钮没有焦点。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线diedwalker
只看该作者 2楼 发表于: 2012-01-12
回 1楼(jdwx) 的帖子
太感谢了,解决我大问题了,好人啊!
离线shiziyang

只看该作者 3楼 发表于: 2012-01-20
button->setFocusPolicy(Qt::NoFocus)只是让该按钮不聚焦,如果要在聚焦时不显示虚线框,需要重新实现当前style的代码。
假设我用了QCleanlooksStyle,那么可以定义一个CCleanlooksStyle去继承,然后实现下面的代码:

void CCleanlooksStyle::drawPrimitive(PrimitiveElement element, const QStyleOption *option,
                                QPainter *painter, const QWidget *widget) const
{
    switch (element)
    {
    case PE_FrameFocusRect:
        {
            break;
        }
    default:
        {
            QCleanlooksStyle::drawPrimitive(element, option, painter, widget);
            break;
        }
    }
    return;
}
然后对程序或需要的控件应用该style

离线haipe

只看该作者 4楼 发表于: 2012-01-23

button->setFocusPolicy(Qt::NoFocus);
让按钮没有焦点。
离线ninsun

只看该作者 5楼 发表于: 2012-01-23
回 3楼(shiziyang) 的帖子
原来如此!
受教了
离线zgr1984
只看该作者 6楼 发表于: 2012-11-09
怎么搞得啊
我写button->setFocusPolicy(Qt::NoFocus);编译不过去啊,
写成button->setFocusPolicy(NoFocus);就可以了,而且设置了两个按钮,第一个按钮会出现黑色边框,代码如下
    pushButton1 = new QPushButton( this, "pushButton1" );
    pushButton1->setGeometry( QRect( 30, 160, 120, 60 ) );
    pushButton1->setToggleButton( 1 );//设置为切换按钮
    pushButton1->setFocusPolicy(NoFocus); //设置为不接收键盘焦点

    pushButton2 = new QPushButton( this, "pushButton2" );
    pushButton2->setGeometry( QRect( 200, 160, 120, 60 ) );
     pushButton2->setFocusPolicy(NoFocus);

快速回复
限100 字节
 
上一个 下一个