• 4994阅读
  • 2回复

关于QT中的代理 [复制链接]

上一主题 下一主题
离线leaves
 
只看楼主 倒序阅读 楼主  发表于: 2009-11-01
小弟在做一个QT中代理的示例时,遇到一个问题,首先设计了一个代理类(继承于QItemDelegate),但在使用时界面总是没有显示,我看了例子是在main函数中设置代理的,我是在类的构造函数中,不晓得是不是这个问题
  部分代码如下 :
test2::test2(QWidget *parent)
    : QWidget(parent)
{
    ui.setupUi(this);
    ui.tableWidget->setColumnCount(4);
    ui.tableWidget->setRowCount(4);
    EditorDelegate delegate;
    ui.tableWidget->setItemDelegate(&delegate);
    this->populateData(*ui.tableWidget);
    ui.tableWidget->show();
}


void test2::populateData(QTableWidget& table)
{
    table.setItem(0, 0, new QTableWidgetItem(QObject::tr("林黛玉")));
    table.setItem(1, 0, new QTableWidgetItem(QObject::tr("史湘云")));
    table.setItem(2, 0, new QTableWidgetItem(QObject::tr("薛宝钗")));
    table.setItem(3, 0, new QTableWidgetItem(QObject::tr("贾元春")));

    table.setItem(0, 1, new QTableWidgetItem(QObject::tr("1980/2/3")));
    table.setItem(1, 1, new QTableWidgetItem(QObject::tr("1981/10/24")));
    table.setItem(2, 1, new QTableWidgetItem(QObject::tr("1978/5/15")));
    table.setItem(3, 1, new QTableWidgetItem(QObject::tr("1979/8/29")));

    table.setItem(0, 2, new QTableWidgetItem(QObject::tr("165")));
    table.setItem(1, 2, new QTableWidgetItem(QObject::tr("168")));
    table.setItem(2, 2, new QTableWidgetItem(QObject::tr("162")));
    table.setItem(3, 2, new QTableWidgetItem(QObject::tr("163")));
    QMessageBox::information(0, "ts",0);
    table.setItem(0, 3, new QTableWidgetItem(QObject::tr("江苏")));
    table.setItem(1, 3, new QTableWidgetItem(QObject::tr("浙江")));
    table.setItem(2, 3, new QTableWidgetItem(QObject::tr("江西")));
    table.setItem(3, 3, new QTableWidgetItem(QObject::tr("湖北")));
}
[ 此帖被leaves在2009-11-01 19:50重新编辑 ]
离线robertkun

只看该作者 1楼 发表于: 2009-11-02
这是在说什么呢?
                                              简单的生活使人快乐!
离线leaves
只看该作者 2楼 发表于: 2009-11-03
程序运行后不能显示数据,这是为什么
快速回复
限100 字节
 
上一个 下一个