setItemDelegate问题,求帮忙解惑,万分感谢

francis_shen2016 2015-09-02 04:03:38

int main(int argc, char *argv[])
{
createConnection("127.0.0.1");
QSqlTableModel model;
model.setTable("money_io");
model.select();
QTableView tableView;
tableView.setModel(&model);
SexDelegate delegate;
tableView.setItemDelegateForColumn(1,&delegate);
tableView.setWindowTitle(QObject::tr("Spin Box Delegate"));
tableView.show();
return a.exec();
}

我在main函数里面运行就可以没问题。
可是当我把他放到MAINWINDOW里面运行就不行了,不知道为什么-。-


#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "database.h"
#include "item.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
createConnection("127.0.0.1");
init();
}

MainWindow::~MainWindow()
{
delete ui;
}

void MainWindow::init()
{
model=new QSqlTableModel;
model->setTable("money_io");
model->select();

ui->tableView->setModel(model);

ui->tableView->setAlternatingRowColors(true);
ui->tableView->setStyleSheet("QTableView{background-color: rgb(255, 255, 255);""alternate-background-color: rgb(185, 185, 250);}");

//加载委托
SexDelegate comboBoxDelegate;
ui->tableView->setItemDelegate(&comboBoxDelegate);

}


而且当我把 ui->tableView->setItemDelegateForColumn(0,&comboBoxDelegate)他就彻底崩溃了。

...全文
878 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
nanjun520 2015-09-02
  • 打赏
  • 举报
回复
你在原来代码里面 修改一下
SexDelegate comboBoxDelegate;是一个局部变量在你的init()函数执行完成之后 就无效了
你修改为 new 一下 看能不能正常
francis_shen2016 2015-09-02
  • 打赏
  • 举报
回复
求帮助。。不沉。。

65,212

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧