gpt4 book ai didi

c++ - Qt QTableView 实现切换按钮和复选框委托(delegate)

转载 作者:行者123 更新时间:2023-11-30 02:47:15 26 4
gpt4 key购买 nike

我目前正在尝试通过子类化 QTableViewQAbstractTableModelQStyledItemDelegate 来构建 Qt 表,以保持某种 MVC 架构的外观。

我使用这个简单的示例作为构建的基础,因为我之前没有接触过 Qt 表类:

http://qt-project.org/doc/qt-4.8/modelview.html

无论如何,表格主要是文本列,但它也需要一个切换按钮列和一个复选框列。

我注意到模型的数据方法可用于实现复选框,但我将需要一个按钮的自定义委托(delegate),因此我也打算将其用于复选框。

无论如何,我无法在 Internet 上找到任何通过使用包含文本、复选框和按钮的混合对象的 QTableView 对象来创建表格的像样的示例。你们中的任何一位好先生都可以指出我正确的方向吗?

最佳答案

您不需要自定义委托(delegate)来在您的表格 View 中包含复选框和切换按钮。您可以简单地使您的项目可检查并将其设置为您的模型,例如:

QStandardItem *item = new QStandardItem( true );
item->setCheckable(true);
item->setCheckState(Qt::Unchecked);

QStandardItemModel * model = new QStandardItemModel( 0, 2 );
model->setRowCount(1);
model->setItem(0, 0, item);

对于切换按钮,您可以这样做:

QPushButton * but = new QPushButton(this);
but->setCheckable(true);
but->setText("Toggle");

ui->tableView->setIndexWidget(model->item(0,1)->index(),but);

关于c++ - Qt QTableView 实现切换按钮和复选框委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22865201/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com