- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个包含 QTableView 的 QDialog,以及一个显示枚举类型的 QComboBox 的自定义委托(delegate)。当未选择该行时,我仍然希望 QComboBox 可见(我想避免使用 QTableView::openPersistentEditor())。为此,自定义委托(delegate)将绘画事件转发给以下方法:
QStyleOptionViewItem &option) const
{
painter->save();
QStyleOptionComboBox comboBoxOption;
comboBoxOption.rect = option.rect;
comboBoxOption.state = option.state;
comboBoxOption.state |= QStyle::State_Enabled;
comboBoxOption.editable = false;
comboBoxOption.currentText = enumInfo.valueToKey(curValue);
// The cast is successful, and srcWidget is the QTableView
QWidget *srcWidget = qobject_cast<QWidget *>(option.styleObject);
// style->metaObject()->className() = QStyleSheetStyle
QStyle *style = srcWidget ? srcWidget->style() : QApplication::style();
// However, the QSS is ignored here (while srcWidget->styleSheet() correctly
// returns the style I've set in Qt Designer)
style->drawComplexControl(QStyle::CC_ComboBox, &comboBoxOption, painter, srcWidget);
style->drawControl(QStyle::CE_ComboBoxLabel, &comboBoxOption, painter, srcWidget);
painter->restore();
}
问题是我使用 QSS 设置了组合框控件的样式,但 drawComplexControl() 似乎忽略了这一点,尽管使用了 QTableView 的样式。这是一个屏幕截图:
drawComplexControl()是否可以考虑样式表?
谢谢
最佳答案
我认为唯一的方法是使用 QPixmap::grabWidget() 获取小部件。并在委托(delegate)中使用此图像。似乎,因为 QSS limitation 而无法做到
关于c++ - Qt:QSS 和 drawComplexControl(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21516991/
一些帖子(即这两个: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
我是一名优秀的程序员,十分优秀!