首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QTableWidget:我怎样才能用较少的垂直间距填充来获得更紧的线条?

QTableWidget:我怎样才能用较少的垂直间距填充来获得更紧的线条?
EN

Stack Overflow用户
提问于 2010-02-01 18:51:19
回答 5查看 9K关注 0票数 9

QTableWdiget非常适合简单的网格显示。改变颜色、字体等是很简单的。

然而,我并没有给网格一个‘更紧密’的外观与较少的垂直空格。我看到Qt文档谈论(如这里)

  • 裕度
  • 边框
  • 填充

在小部件周围,但是当我设置这些小部件时,我只得到整个网格小部件的更改,而不是内部的更改。

如何直接设置(使用样式表或硬编码选项)以使QTableWidget显示更紧密?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-03-07 05:40:48

写“h”的代码可能不好听。只是个例子。复制和粘贴以下基本代码。更改"setDefaultSectionSize()“中的值,重新编译并运行。你应该看看不同之处。将其设置为10或50将产生可见的结果。在上面的代码中,有可能是QFontMetrics或QFont搞砸了什么东西。

你可以使用任何你想得到的高度,但字体大小是最合理的。

代码语言:javascript
复制
#include <QtGui>

int main( int argc, char* argv[] )
{
 QApplication app( argc, argv );

 QDialog* my_dialog  = new QDialog();
 QHBoxLayout* layout  = new QHBoxLayout();
 QTableWidget* my_table_widget = new QTableWidget( my_dialog );

 my_table_widget->setRowCount( 10 );
 my_table_widget->setColumnCount( 10 );
 my_table_widget->verticalHeader()->setDefaultSectionSize( 15 );
 layout->addWidget( my_table_widget );
 my_dialog->setLayout( layout );
 my_dialog->resize( 500, 200 );
 my_dialog->show();

 return app.exec();
}

编辑:我不知道怎么格式化这里的代码块.原谅我吧。:)

编辑2:我修复了这个问题,下面的简单tighterTable.pro文件会有所帮助。

代码语言:javascript
复制
TEMPLATE = app
TARGET =
DEPENDPATH += .
INCLUDEPATH += .

SOURCES += tighterTable.cpp    # if that is the filename

谢谢一大帮胖子。顺便说一句:编辑作为代码只是缩进四个空格,和/或按下按钮中的小'101010‘在格式化行。

票数 5
EN

Stack Overflow用户

发布于 2010-02-16 02:34:19

您正在寻找的是一个非常愚蠢的解决方案,IMHO,但它的工作。您需要设置标头的defaultSectionSize()成员。通过verticalHeader()和horizontalHeader()访问。我从未真正设置过列宽度w/ this b/c --我的大多数项目都涉及我添加行,而不是列,我只需要调用resizeColumnsToContents或手动调整大小。然而,行是令人讨厌的。我通常使用QFontMetrics获得字体的高度,并添加2。以后添加的任何行都应该具有这个高度,而中提琴:更严格的外观。

希望这能有所帮助。

编辑:

未经测试的代码:

代码语言:javascript
复制
QFontMetrics fm( my_font );
int h = fm.height() + 2;
my_table->verticalHeader()->setDefaultSectionSize( h );
票数 5
EN

Stack Overflow用户

发布于 2010-02-01 20:03:49

QTableWidget是一个方便的模型和视图。通常,QAbstractItemModel的data()方法提供一个SizeHintRole,用于告诉视图每个单元格的大小。

由于您使用的是QTableWidget,我不认为您可以做任何事情来更改它的内部模型返回的大小提示。就连Qt样式表文档也没有提到那个领域。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2179215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档