- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我将 QPushButton 更改为下拉菜单。我的代码如下:
m_menu = new QMenu(this);
m_addAction = new QAction(m_menu);
m_delAction = new QAction(m_menu);
m_addAction->setText(QObject::tr("add"));
m_delAction->setText(QObject::tr("del"));
m_menu->addAction(m_addAction);
m_menu->addAction(m_delAction);
m_menu->setStyleSheet("\
QMenu {\
background-image: url(:/img/tanchu-1.png);; /*background-image*/\
border: 3px solid rgb(235,110,36);/*menu border*/\
}\
QMenu::item {\
font-size: 10pt; \
color: rgb(225,225,225);\
border: 3px solid rgb(60,60,60);\
background-image: url(:/img/tanchu-1.png);\
padding:160px 160px;\
margin:2px 2px;\
}\
QMenu::item:selected { \
background-color:rgb(235,110,36);\
}\
QMenu::item:pressed {\
border: 1px solid rgb(60,60,61); \
background-color: rgb(220,80,6); \
}\
");
ui->pushButton->setMenu(m_menu);
但现在的问题是,当我使用
从下拉菜单中删除下拉箭头时ui->pushButton->setStyleSheet("QPushButton::menu-indicator{image:none;}");
我用 QSS border-image: url(:/img/btn_mid_0.png);
设置给 QPushButton 的 border-image 像 image2 一样消失了.下拉箭头和边框图像一起消失。如何在保持之前设置的边框图像的同时删除下拉箭头?此外,子菜单的宽度不会随着 image3 的 qpushbutton 而改变。 .如何将下拉菜单的宽度设置为与 QPushButton 一样宽?谢谢!
我所有的代码如下:主窗口.h:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QPushButton>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = nullptr);
~MainWindow();
private slots:
private:
Ui::MainWindow *ui;
QMenu *m_menu;
QAction *m_addAction;
QAction *m_delAction;
QPushButton *m_pushButton;
void addFunc();
void delFunc();
};
#endif // MAINWINDOW_H
主窗口.cpp:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDebug>
#include <QMenu>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
m_menu = new QMenu(this);
m_addAction = new QAction(m_menu);
m_delAction = new QAction(m_menu);
m_addAction->setText(QObject::tr("add"));
m_delAction->setText(QObject::tr("del"));
m_menu->addAction(m_addAction);
m_menu->addAction(m_delAction);
connect(m_addAction, &QAction::triggered, this, &MainWindow::addFunc);
connect(m_delAction, &QAction::triggered, this, &MainWindow::delFunc);
m_menu->setStyleSheet("\
QMenu {\
background-image: url(:/img/tanchu-1.png);; /*background-image*/\
border: 3px solid rgb(235,110,36);/*menu border*/\
}\
QMenu::item {\
font-size: 10pt; \
color: rgb(225,225,225);\
border: 3px solid rgb(60,60,60);\
background-image: url(:/img/tanchu-1.png);\
padding:160px 160px;\
margin:2px 2px;\
}\
QMenu::item:selected { \
background-color:rgb(235,110,36);\
}\
QMenu::item:pressed {\
border: 1px solid rgb(60,60,61); \
background-color: rgb(220,80,6); \
}\
");
ui->pushButton->setMenu(m_menu);
ui->pushButton->setStyleSheet("QPushButton::menu-indicator{image:none;}");
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::addFunc()
{
qDebug() << "addFunc";
}
void MainWindow::delFunc()
{
qDebug() << "delFunc";
}
最佳答案
只需在一个地方设置所有按钮 CSS,可以在 QtCreator/Designer 属性中,或在 C++ 代码中,不能同时设置。基本上,您的 C++ CSS 会覆盖您在设计器 View 中设置的内容。
在 Designer View 中,只需为 styleSheet
属性使用类似这样的内容:
QPushButton { border-image: url(:/img/btn_mid_0.png); }
QPushButton::menu-indicator { image: none; }
或者在 C++ 中同样的东西,但是有引号 :)
至于菜单样式...我不确定现在发生了什么(看起来很奇怪!)但是让它们的大小匹配的最简单方法是在 CSS 中显式设置两者的大小(width: XXXpx;
) 或 C++ (QWidget::setFixedWidth(XXX)
)。如果按钮由布局管理,C++ 版本可能会更好,因为 CSS 大小属性会变得模糊。对于 CSS,有时 min-width
和/或 max-width
比 width
效果更好。
关于qt - 如何删除下拉菜单的下拉箭头,同时保留QSS的border-image?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59100590/
一些帖子(即这两个:Set CSS in QPushButton's subclass's constructor 和 Does the use of styleSheets in a dynamic
是否有任何好的 Qt QSS 教程,或者在某个地方我可以看到样式小部件的示例?如果某处可用,我想要一些完整的引用。除了有关如何设置按钮或某些选项卡样式的小教程外,我找不到任何其他内容。 最佳答案 Qt
所以我们为选项卡定制了 QSS,我想从标准选项卡中重新创建这种外观,但出于某种原因,我无法重新创建它。我希望所选选项卡看起来像在顶部并直接进入 Pane 。 选中或未选中时,选项卡的边框都可以正常工作
如果我有一个标签,其边距是使用 setMargin() 设置的,那么我可以使用 margin() 来获取值。 但是如果我使用样式表设置内边距呢? ui->label->setStyleSheet("Q
如何设置作为小部件文本一部分的跨度的样式(例如 QLabel)通过全局样式表? 例如。在下面的例子中, foo 和 bar 都应该是红色的。 #include #include class som
我知道不支持 QCalendarWidget QSS 样式,但有谁知道更改 1 和 部分颜色的一些解决方法QCalendarWidget 的 2? (1 部分为浅蓝色,2 部分为白色) 谢谢! 最佳答
我正在尝试为我的应用程序中的所有 QLineEdits 设置一些样式。以下是代码: QLineEdit { border: none; padding-bottom: 2px;
我有一个像这样的自定义QFrame //! Widget which displays a audio level meter, indicating the //! level and peak l
我想要做的是在特定文件夹中有一个 QSS 样式表。我想以编程方式从 GUI 编辑选定的元素。由于 QT 不支持 SaSS 或 LeSS,我需要“手动”执行此操作。到目前为止,我所拥有的是读取一个 qs
我尝试(font-weigth: 有效,但 text-align: 无效): QTabBar::tab:text{ font-weight:bold; text-align:left;
我已经尝试使用 disabled 和 !enabled 但它不起作用。这是我的 QSS 代码: QPushButton { background-color:#44c767; bord
当用户将鼠标悬停在 PyQT4 QSS 中时,如何在按钮周围创建一个发光的边框?我说的是类似于 CSS 中的 box-shadow 的东西。 someButton:hover { border
如何将 qt 的样式表 .qss 文件导入应用程序? 在 HTML 中我们使用 如何在 PyQt 中完成? 或者我在哪里可以读到它?无法用谷歌搜索或在 Qt 的文档中找到它。 最佳答案 .qss 文
有人能告诉我如何在 pyqt4 中使用 qss 文件吗?我尝试在 QTdesigner 中更改样式表,例如 this在QT的官方文档上。但它不起作用。我不确定它对 pyqt 是否有效。我发现this
晚上好,我正在尝试生成一个如图所示的日历: 到目前为止,我通过 QSS 取得的成果是: 这就是我用过的QSS QCalendarWidget QAbstractItemView { selection
我有一个问题。 如何在我的项目文件夹中创建一个文件。 .QSS ? 在创建新文件的选项中不要有这个扩展名! 非常感谢您的帮助。 谢谢。 最佳答案 Control+N -> 一般 ->选择 在名字里写s
我正在尝试这样做: 但我在我的 QTableView 中设置了那个样式表: QTableView { gridline-color: black; background-color:
我有一个包含 QTableView 的 QDialog,以及一个显示枚举类型的 QComboBox 的自定义委托(delegate)。当未选择该行时,我仍然希望 QComboBox 可见(我想避免使用
使用 QFontDialog 我得到一个 QFont 对象作为返回值。我将 Qt 样式表与小部件一起使用,因此设置 myWidget->setFont(fontFromDialog) 似乎没有有任何效
我想自定义 QMdiSubWindow 的标题栏。 为此,我使用 qss。 QMdiSubWindow { border: 1px solid #000000; background: #000000
我是一名优秀的程序员,十分优秀!