【问题标题】:How create a qcombobox in a tableview in Java?如何在 Java 的 tableview 中创建一个 qcombobox?
【发布时间】:2012-05-21 15:39:53
【问题描述】:

我有一个包含 5 列的表格视图(模型)。在其中一个中,我想在组合框中显示 2 个选项。 选项是预先确定的,所以我认为没有必要使用委托。我错了吗?

for (int state=0; state <3; state++)
{
    QStandardItem item = new QStandardItem();
    item.setEditable( false );
    item.setTextAlignment( Qt.AlignmentFlag.AlignCenter );

    switch (state)
    {
        case 0: 
            item.setText( "Column 0" );
            item.setEditable( true );
            break;
        case 1:
            item.setText( "Column 1" );
            item.setEditable( true );
            break;
        case 2:
            //create a new combobox
            break;
    }
}

【问题讨论】:

    标签: java qt qtableview qcombobox


    【解决方案1】:

    我认为您必须(或至少应该)使用委托。委托是将视图(tableview 基本上是一个布局并通过模型+委托检索其内容)与模型连接起来的对象。该模型不(它不应该)对其内容的呈现方式负责。这就是委托的作用——当视图要求它这样做时,它会将数据(模型)“转换”为可呈现的实体。模型不能(也不应该)为其数据声明视图。

    【讨论】:

      猜你喜欢
      • 2021-05-04
      • 1970-01-01
      • 2020-05-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-04
      • 2016-11-08
      • 2017-07-04
      相关资源
      最近更新 更多