• 7937阅读
  • 5回复

关于QTableView只能显示两行问题 [复制链接]

上一主题 下一主题
离线kfor9
 

只看楼主 倒序阅读 楼主  发表于: 2009-11-24
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —


我在程序里加了view->resizeRowsToContents () ;

结果每个单元枚还是最多显示两行,不加这句就变成显示一行了。。。

还需要做什么设置吗,我想做成自动适应内容的,事先是不知道数据多少的,setRowHeight()这个因为不可以都设成那么大会变难看,所以请问还有什么办法吗?
离线shiroki

只看该作者 1楼 发表于: 2009-11-24
因为这里用了elideright, 所以后面的字符都变成...了
你看看setTextElideMode
--
shiro is White
ki is tree
http://www.cuteqt.com
论坛 http://www.cuteqt.com/bbs
博客 http://www.cuteqt.com/blog
博客镜像: http://sites.cuteqt.com/cuteqt
Linux/Qt/嵌入式讨论群 http://qun.qq.com/air/5699823
离线yb824
只看该作者 2楼 发表于: 2009-11-25
尝试使用QItemDelegate,但没有实现。 帮顶~~等高手~~~~
离线robertkun

只看该作者 3楼 发表于: 2009-11-25
  1. QWidget *cgItemDelegate::createEditor(QWidget *parent,
  2.                                       const QStyleOptionViewItem &option,
  3.                                       const QModelIndex &index) const
  4. {
  5.     if(index.column() == 0)
  6.     {
  7.         QLineEdit*editor = new QLineEdit(parent);
  8.         editor->setParentWidget(mTableView);
  9.          connect(editor,SIGNAL(textChanged()), this, SLOT(slot_textChanged()));
  10.         return editor;
  11.     }
  12.     else
  13.     {
  14.         return QItemDelegate::createEditor(parent, option, index);
  15.     }
  16. }


重写QItemDelegate ,双击单元格时会返回一个 QLineEdit,就可以实现一行的编辑了,

我还有个问题,如不用QItemDelegate 是怎样实现多行输入的呢?三行以上的。。
                                              简单的生活使人快乐!
离线kfor9

只看该作者 4楼 发表于: 2009-11-25
setTextElideMode(),这个没有作用,

现在我不是想要多行输入,而是要“显示”,数据没显示全,这很郁闷
离线yb824
只看该作者 5楼 发表于: 2009-11-27
try
ui->tableView->verticalHeader()->resizeSections( QHeaderView::ResizeToContents );
快速回复
限100 字节
 
上一个 下一个