Я хочу сделать таблицу 8 * 8 с квадратными ячейками (шахматная доска). Теперь у меня есть код для создания таблицы, но я не знаю, как изменить размер ячейки на квадратную форму.Изменение размера ячейки и Witdth и загрузка изображения в QTableWidget
Я также хочу поместить фотографии кусков в ячейки. Как мне это сделать?
здесь код у меня есть:
#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();
}
EDIT:
Если кто-то может помочь мне с загрузкой изображения в качестве фона ячейки тоже, это было бы очень признателен! Я использую этот код, и компилятор не генерирует ошибку, но программа не запускается. Я думаю, проблема связана с table->item(0,0)
. Должен ли я сначала инициализировать его?
QString fileName = "1.bmp";
QPixmap pic (fileName);
QIcon icon (pic);
table->item(0,0)->setIcon(icon);
Интересный подход к рисованию шахматной доски :) Я бы предложил использовать QGraphicsView. –
Действительно, GraphicsView будет более накладным, но будет бесконечно более гибким. Это позволит создавать анимации и другие интересные вещи. – Casey