有没有办法改变 QPushButton 的 "external" 边框?
Is there a way to change the "external" border of a QPushButton?
我正在尝试将我的应用程序 QPushButton
的 外观 更改为类似于 PyCharm 个。
我几乎成功了,但我想更改 focus.
按钮的“外部”边框
为了更好地解释我自己,下面张贴了两个屏幕截图:第一个显示了 PyCharm 对话框,焦点在 OK 按钮上,第二个显示了我的应用程序对话框的一部分,焦点在 OK还有按钮。
按钮相似,但在第一张图片中边框向外“增长”,而在第二张图片中边框向内“增长”。
有没有办法通过 样式表 来改变这个“属性”?
我的样式表如下:
QPushButton{
font-family: "Segoe UI";
font-size: 8pt;
border: 1px solid;
border-color: rgb(46, 103, 156);
border-radius: 3px;
padding-right: 10px;
padding-left: 10px;
padding-top: 5px;
padding-bottom: 5px;
background-color: rgb(77, 138, 201);
color: white;
font: bold;
width: 64px;
}
QPushButton:hover {
border: 1px solid;
border-radius: 3px;
border-color: rgb(33, 77, 115);
}
QPushButton:focus {
outline-color: transparent;
border: 2px solid;
border-color: rgb(151, 195, 243);
}
QPushButton:pressed{
background-color: rgb(52, 113, 173);
}
QPushButton:disabled {
color: grey;
border-color: grey;
background-color: none;
}
您可以设置默认边距(设置有效小部件矩形与其 绘制 内容之间的边距),并将 focus
选择器的默认边距设置为 0 :
QPushButton {
...
margin: 1px;
}
QPushButton:focus {
...
margin: 0px;
}
我正在尝试将我的应用程序 QPushButton
的 外观 更改为类似于 PyCharm 个。
我几乎成功了,但我想更改 focus.
为了更好地解释我自己,下面张贴了两个屏幕截图:第一个显示了 PyCharm 对话框,焦点在 OK 按钮上,第二个显示了我的应用程序对话框的一部分,焦点在 OK还有按钮。
按钮相似,但在第一张图片中边框向外“增长”,而在第二张图片中边框向内“增长”。
有没有办法通过 样式表 来改变这个“属性”?
我的样式表如下:
QPushButton{
font-family: "Segoe UI";
font-size: 8pt;
border: 1px solid;
border-color: rgb(46, 103, 156);
border-radius: 3px;
padding-right: 10px;
padding-left: 10px;
padding-top: 5px;
padding-bottom: 5px;
background-color: rgb(77, 138, 201);
color: white;
font: bold;
width: 64px;
}
QPushButton:hover {
border: 1px solid;
border-radius: 3px;
border-color: rgb(33, 77, 115);
}
QPushButton:focus {
outline-color: transparent;
border: 2px solid;
border-color: rgb(151, 195, 243);
}
QPushButton:pressed{
background-color: rgb(52, 113, 173);
}
QPushButton:disabled {
color: grey;
border-color: grey;
background-color: none;
}
您可以设置默认边距(设置有效小部件矩形与其 绘制 内容之间的边距),并将 focus
选择器的默认边距设置为 0 :
QPushButton {
...
margin: 1px;
}
QPushButton:focus {
...
margin: 0px;
}