QTableWidget 中的 QCombobox

发布于 2024-11-30 10:37:39 字数 131 浏览 0 评论 0原文

我希望表格中的一个单元格成为 QComboBox。但是,我不希望它们始终显示为这样,仅当用户选择该单元格时才显示。有没有比检测单元格何时被单击、删除单元格中的项目并将其替换为小部件以及当用户从该单元格中单击时将其切换回项目更方便的方法来实现此目的?

I would like one of the cells in a table to be a QComboBox. However, I don't want them displayed as such all the time, only when a user selects that cells. Are there any more convenient ways of accomplishing this than detecting when a cell's been clicked, removing the item in the cell and replacing it with a widget, and switching it back to an item when the user's clicked away from that cell?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

高跟鞋的旋律 2024-12-07 10:37:39

方法是使用项目委托。您可以使用视图的 setItemDelegate 方法之一来安装委托/小部件。委托负责单元格的显示和编辑,您不必自己进行单击/按键处理。

有关此内容的文档位于模型/视图编程指南 委托类部分(带有示例)。

The way to do that is to use item delegates. You install your delegates using one of the setItemDelegate methods of the view/widget. The delegate is responsible for display and editing of the cell, and you don't have to do the click/key handling yourself.

The documentation for this is in the model/view programming guide delegate classes section (with examples).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文