首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调整单元格的高度和宽度,并在QTableWidget中加载图像

调整单元格的高度和宽度,并在QTableWidget中加载图像
EN

Stack Overflow用户
提问于 2010-07-08 18:49:52
回答 2查看 8.6K关注 0票数 3

我想用方格做一张8*8的桌子(棋盘)。现在,我有了制作表格的代码,但不知道如何调整单元格的大小,使之成为方形。

我也想把碎片的照片放进牢房里。我该怎么做?

下面是我的代码:

代码语言:javascript
复制
#include <QtGui/QApplication>
#include "mainwindow.h"
#include <QHBoxLayout>
#include <QTableWidget>

class Table : public QWidget
{
  public:
    Table(QWidget *parent = 0);

};


Table::Table(QWidget *parent)
    : QWidget(parent)
{
  QHBoxLayout *hbox = new QHBoxLayout(this);

  QTableWidget *table = new QTableWidget(8 , 8 , this);

  hbox->addWidget(table);
  setLayout(hbox);
}



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

    Table t;

    t.show();


    return a.exec();
}

编辑:

如果有人能帮我加载一个图像作为背景的细胞,这将是非常感谢!我使用此代码,编译器不会生成错误,但程序无法运行。我认为问题在于table->item(0,0)。我应该先初始化它吗?

代码语言:javascript
复制
QString fileName = "1.bmp";
QPixmap pic (fileName);

QIcon icon (pic);

table->item(0,0)->setIcon(icon);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-07-08 19:00:37

为了使细胞呈方形,可以这样做:

代码语言:javascript
复制
  // set the default size, here i've set it to 20px by 20x
  table->horizontalHeader()->setDefaultSectionSize(20);
  table->verticalHeader()->setDefaultSectionSize(20);
  // set the resize mode to fixed, so the user cannot change the height/width
  table->horizontalHeader()->setResizeMode(QHeaderView::Fixed);
  table->verticalHeader()->setResizeMode(QHeaderView::Fixed);

编辑:设置图像,在QTableWidgetItem上设置图标属性

票数 7
EN

Stack Overflow用户

发布于 2010-07-09 10:10:16

在搜寻之后.我终于得到了答案。我应该首先创建一个QBrush对象并将其设置为QtableWidgetItem的背景,然后使用表->setItem!

代码语言:javascript
复制
QString fileName = "/1.bmp";
QPixmap pic (fileName);

QBrush brush(pic);

QTableWidgetItem* item = new QTableWidgetItem();
item->setBackground(brush);

table->setItem(0,0,item);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3206925

复制
相关文章

相似问题

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