ZBLOG

Qtableview 编辑框 颜色

QTableView 中自定义编辑框的颜色,可以通过设置样式表来实现。具体来说,QLineEdit 是用于单元格编辑时默认的编辑框,你可以使用样式表为其设置背景颜色、边框等属性。

1. 自定义 QTableView 的编辑框样式

以下是如何为 QTableView 设置自定义编辑框颜色的示例代码:

  1. #include <QApplication>
  2. #include <QTableView>
  3. #include <QStandardItemModel>
  4. int main(int argc, char *argv[]) {
  5. QApplication app(argc, argv);
  6. // 创建 QTableView 和模型
  7. QTableView tableView;
  8. QStandardItemModel model(4, 2); // 4 行 2 列
  9. // 设置表头
  10. model.setHorizontalHeaderLabels(QStringList() << "Name" << "Age");
  11. // 填充数据
  12. model.setItem(0, 0, new QStandardItem("Alice"));
  13. model.setItem(0, 1, new QStandardItem("25"));
  14. model.setItem(1, 0, new QStandardItem("Bob"));
  15. model.setItem(1, 1, new QStandardItem("30"));
  16. // 设置模型到视图
  17. tableView.setModel(&model);
  18. // 设置为可编辑
  19. tableView.setEditTriggers(QAbstractItemView::DoubleClicked |
  20. QAbstractItemView::SelectedClicked);
  21. // 样式表,自定义编辑框颜色和其他外观元素
  22. tableView.setStyleSheet(
  23. "QTableView {"
  24. "border: 1px solid gray;"
  25. "gridline-color: lightgray;"
  26. "}"
  27. "QHeaderView::section {"
  28. "background-color: #f7f7f7;"
  29. "color: black;"
  30. "padding: 4px;"
  31. "}"
  32. "QLineEdit {"
  33. "background-color: lightyellow;" // 编辑框背景颜色
  34. "border: 1px solid blue;" // 编辑框边框颜色
  35. "}");
  36. tableView.show();
  37. return app.exec();
  38. }

注意事项:

  • 上面的样式表会影响整个 QTableView 的外观,而不仅仅是单元格的编辑状态。由于 QTableWidget 默认使用 QLineEdit 来进行文本输入,因此通过样式表改变 QLineEdit 的外观会影响所有可编辑单元格。
  • 如果你想要更细致地控制哪些单元格在编辑时显示不同的样式,可能需要创建自定义委托(delegate),并重写相关的方法。

希望这对你有帮助!如果有更多问题,请随时询问。


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

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

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

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

联系我们

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

微信号:3007537140

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

关注我们
x

注册

已经有帐号?