-
使用设置成
setFocusPolicy(Qt::NoFocus
); 这样就可以实现点击无焦点了
-
使用qss的方式在样式文件中添加 *{outline:0px;} 或者 qApp->setStyleSheet(“*{outline:0px;}”); 设置全局样式
-
使用重写QProxyStyle方式实现 : #include <QProxyStyle>
class NoFocusRectStyle : public QProxyStyle {
public:
NoFocusRectStyle(QStyle *baseStyle) : QProxyStyle(baseStyle) {}
void drawPrimitive(PrimitiveElement element,
const QStyleOption *option,
QPainter *painter,
const QWidget *widget = 0) const {
if (element == QStyle::PE_FrameFocusRect) {
//这里不做任何操作,Qt默认是绘制矩形虚线框
return;
}
QProxyStyle::drawPrimitive(element, option, painter, widget);
}
};
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
NoFocusRectStyle *style = new NoFocusRectStyle(a.style());
a.setStyle(style);
Widget w;
w.show();
return a.exec();
}
-
参考两位大神:
使用设置成setFocusPolicy(Qt::NoFocus); 这样就可以实现点击无焦点了使用qss的方式在样式文件中添加 *{outline:0px;} 或者 qApp->setStyleSheet(“*{outline:0px;}”); 设置全局样式使用重写QProxyStyle方式实现 :
一个组
框
提供一个
框
架,一个标题在顶部,一个键盘快捷键,并在其内部显示各种其他小部件。键盘快捷键将键盘焦点移到组
框
的子窗口小部件之一。
Q
Group
Box
还允许您设置标题(通常在构造函数
中
设置)和标题的对齐方式。组
框
可以检查。可检查组
框
中
的子窗口小部件是启用还是禁用,具体取决于是否选
中
了该组
框
。
您可以通过启用flat属性来最小化组
框
的空间消耗。在大多数样式
中
,启用此属性会导致删除
框
架的左,右和下边缘。
Q
Group
Box
不会自动布置子窗口小部
ui->
group
Box
->setStyleSheet("Q
Group
Box
{border:none}");
这个是去掉
group
Box
中
的所有Q
Group
Box
的边
框
;
ui->
group
Box
->setStyleSheet(“border:none");
这个是去掉
group
Box
中
的所有控件的边
框
;
https://www.cnblogs.com/jiangbin/p/6752957.html
本文基于Q
Group
Box
扩展了一种可以伸缩的组合
框
,正常状态下,组合
框
处于收缩状态,内部的控件是
隐藏
的;需要的时候,可以将组合
框
进行伸展,并将内部控件显示出来。
实现的代码比较简单,主要有以下几点:
1、该组合
框
继承于Q
Group
Box
;
2、通过QSS将Q
Group
Box
的默认Check...
一、
Qt
风格
Qt
中
的各种风格是一组继承自QStyle的类。QStyle类是一个抽象基类,封装了 一个GUI的外观,
Qt
的内建(built-in)部件使用它来执行几乎所有的绘制工作,以确保它们看起来可以像各个平台上的本地部件一样。
Qt
提供的风格类如下表所列:
类名 介绍
QCDEStyle CDE(Common Desktop Environment)风格
QCleanlooksStyle 类似于GNOME
中
的Clearlook风格
QGtkStyle GTK +风格
QMotifStyle
字体属性:(font)
大小 {font-size: x-large;}(特大) xx-small;(极小) 一般
中
文用不到,只要用数值就可以,单位:PX、PD
样式 {font-style: oblique;}(偏斜体) italic;(斜体) normal;(正常)
行高 {line-height: normal;}(正常) 单位:PX、PD、EM
粗细 {font-weight: bold;}(粗体) lighter;(细体) normal;(正常)
变体 {font-variant: small-.
本文主要总结用QSS实现控件QLabel边
框
类型,其它任何一个控件(包括QWidget)同样可以用这种
方法
设置。用QSS可以设置QLabel控件边
框
线型,这些类型包括点画线、
虚线
、实线、3D边
框
,下面将详细介绍各种线型的实现方式。
1.1设置QLabel控件边
框
为点画线(dotted)
QLabel{border:10px dotted #242424;}