• 6922阅读
  • 5回复

tableView 中的行间距如何修改? [复制链接]

上一主题 下一主题
离线tsuibin
 

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

我在ui界面中使用了一个tableView用来显示数据库中的数据
但是觉得行间距太大了,想修改一下行间距,要怎么做?
离线午小夜

只看该作者 1楼 发表于: 2010-01-22
void QTableView::setRowHeight ( int row, int height )
Sets the height of the given row to be height.
[操作系统版本]  Windows XP;Linux Ubuntu;Linux Fedora;
[Qt SDK版本]    4.7.0
[SDK 发布日期]  2010.05
[IDE(集成开发环境)] QtCreator
个人网页:http://hi.baidu.com/午小夜
學歷:Royal Jalidon
离线午小夜

只看该作者 2楼 发表于: 2010-01-22
每一行都要改的話,就用個循環
for(int i=0;i<m_tableView->verticalHeader()->count();i++)
    {
        m_tableView->setRowHeight(i,80);
    }
[操作系统版本]  Windows XP;Linux Ubuntu;Linux Fedora;
[Qt SDK版本]    4.7.0
[SDK 发布日期]  2010.05
[IDE(集成开发环境)] QtCreator
个人网页:http://hi.baidu.com/午小夜
學歷:Royal Jalidon
离线tsuibin

只看该作者 3楼 发表于: 2010-01-22
你好,午小夜
我为什么设置80和200 界面上已点变化也没有……

        for(int i=m_ui->tableView_ordered->verticalHeader()->count();i>0;--i)
            {
                m_ui->tableView_ordered->setRowHeight(i,200);
            }
离线午小夜

只看该作者 4楼 发表于: 2010-01-22
引用第3楼tsuibin于2010-01-22 16:06发表的  :
你好,午小夜
我为什么设置80和200 界面上已点变化也没有……
        for(int i=m_ui->tableView_ordered->verticalHeader()->count();i>0;--i)
            {
.......


for(int i=m_ui->tableView_ordered->verticalHeader()->count() -1 ;i>=0;i--)

i是從0 到 count()-1 的。
[ 此帖被午小夜在2010-01-22 16:36重新编辑 ]
[操作系统版本]  Windows XP;Linux Ubuntu;Linux Fedora;
[Qt SDK版本]    4.7.0
[SDK 发布日期]  2010.05
[IDE(集成开发环境)] QtCreator
个人网页:http://hi.baidu.com/午小夜
學歷:Royal Jalidon
离线tsuibin

只看该作者 5楼 发表于: 2010-01-22
引用第4楼午小夜于2010-01-22 16:08发表的  :
for(int i=m_ui->tableView_ordered->verticalHeader()->count() -1 ;i>=0;--i)
i是從0 到 count()-1 的。



谢谢!
我发现了一个更好用的
m_ui->tableView_ordered->resizeRowsToContents();
可以自动根据内容长短调整高度
不过必须在model->select()之后调用一下
快速回复
限100 字节
 
上一个 下一个