ZBLOG

class CenteredItemDelegate : public QStyledItemDelegate { public: CenteredItemDelegate(QObject *parent = nullptr) : QStyledItemDelegate(parent) {} void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index)...

要设置选项悬浮时的字体颜色为 #409eff,您已经在 QComboBox QAbstractItemView 的样式表中添加了 selection-color: #409eff; 这一行,这一设置是正确的。

确保您的整体代码结构没有问题,并且所有相关资源(如下拉箭头图标)都能正常加载。这里有一些建议和注意事项,可以帮助您进一步确认和优化代码:

  1. 检查路径: 确保您提供的路径(例如 url(:/path/to/arrow.png))是有效的,并指向实际存在的文件。

  2. QComboBox Item Delegate: 您使用了 CenteredItemDelegate 来居中显示文本。这部分看起来没问题,只要确保其包含的逻辑与您的设计意图一致。

  3. 确认样式表的应用顺序: 在某些情况下,如果先设置样式表再添加委托,可能会导致样式未被完全应用。确保在设置委托后,再设置样式表,或者反之。

  4. 调试信息: 使用 qDebug() 输出一些关键信息,比如当前选择项、索引等,有助于确认状态是否如预期。

  5. 例子中的完整实现
    您可以考虑将整个实现整合到一个函数中,以便更清晰地管理组件初始化和样式设置,例如:

  1. void MainWindow::setupUiComponents() {
  2. // 设置按钮背景
  3. ui->pushButton->setStyleSheet("QPushButton {"
  4. "background-image: url('E:/7_qt_dir/untitled6/2.jpg');"
  5. "border: none;"
  6. "}"
  7. "QPushButton:hover {"
  8. "background-color: rgba(255, 255, 255, 0.5);"
  9. "}");
  10. // 设置组合框项
  11. QStringList items = {"选择题", "判断题", "问答题", "填空题", "多选题"};
  12. ui->comboBox->addItems(items);
  13. // 设置组合框样式
  14. QString comboBoxStyle = R"(
  15. QComboBox {
  16. border: 1px solid rgb(102, 138, 222);
  17. background-color: white;
  18. }
  19. QComboBox::drop-down {
  20. subcontrol-origin: padding;
  21. subcontrol-position: right center;
  22. width: 20px;
  23. border-left: 1px solid rgb(102, 138, 222);
  24. }
  25. QComboBox::down-arrow {
  26. image: url(:/path/to/arrow.png);
  27. }
  28. QComboBox QAbstractItemView {
  29. background-color: white;
  30. selection-background-color: #f5f7fa;
  31. selection-color: #409eff; // 悬浮时字体颜色
  32. }
  33. )";
  34. ui->comboBox->setItemDelegate(new CenteredItemDelegate(ui->comboBox));
  35. ui->comboBox->setStyleSheet(comboBoxStyle);
  36. }

这样可以使得UI组件初始化逻辑更加模块化,同时便于维护。希望这些建议能帮助您更好地完成项目!如果有其他问题,请继续询问。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=22189

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?