MyTable::MyTable(QWidget *parent) : QWidget(parent)
{
initUI();
}
void MyTable::initUI()
{
QHBoxLayout *hMainLayout = new QHBoxLayout();
setLayout(hMainLayout);
QVBoxLayout *vLeftLayout = new QVBoxLayout();
QSplitter *vRightSplitter = new QSplitter(Qt::Vertical);
hMainLayout->addLayout(vLeftLayout);
hMainLayout->addWidget(vRightSplitter);
mTableWidget = new QTableWidget(100, 10);
mTextEdit = new QTextEdit();
vRightSplitter->addWidget(mTableWidget);
vRightSplitter->addWidget(mTextEdit);
vRightSplitter->setStretchFactor(0, 2);
vRightSplitter->setStretchFactor(1, 1);
mButtonSetTableHead = new QPushButton("設定表頭");
mButtonSetRowNum = new QPushButton("設定行數");
mSpinRowNum = new QSpinBox();
mSpinRowNum->setMinimum(0);
mSpinRowNum->setMaximum(100000);
QHBoxLayout *hLayout1 = new QHBoxLayout();
hLayout1->addWidget(mButtonSetRowNum);
hLayout1->addWidget(mSpinRowNum);
mButtonInitTable = new QPushButton("初始化表格資料");
mButtonInsertRow = new QPushButton("插入行");
mButtonAddRow = new QPushButton("添加行");
QHBoxLayout *hLayout2 = new QHBoxLayout();
hLayout2->addWidget(mButtonInsertRow);
hLayout2->addWidget(mButtonAddRow);
mButtonDeleteCurrentRow = new QPushButton("洗掉當前行");
mButtonAutoAdjustRowHeight = new QPushButton("自動調節行高");
mButtonAutoAdjustColumnWidth = new QPushButton("自動調節列寬");
QHBoxLayout *hLayout3 = new QHBoxLayout();
hLayout3->addWidget(mButtonAutoAdjustRowHeight);
hLayout3->addWidget(mButtonAutoAdjustColumnWidth);
mButtonReadTableDataToText = new QPushButton("讀取表格內容到文本");
QHBoxLayout *hLayout4 = new QHBoxLayout();
QHBoxLayout *hLayout5 = new QHBoxLayout();
QHBoxLayout *hLayout6 = new QHBoxLayout();
mCheckEnableEdit = new QCheckBox("表格可編輯");
mCheckSpaceRowBaseColor = new QCheckBox("間隔行底色");
mCheckShowTableHead = new QCheckBox("顯示行表頭");
mCheckShowColumnHead = new QCheckBox("顯示串列頭");
mRadioRowSelect = new QRadioButton("行選擇");
mRadioCellSelect = new QRadioButton("單元格選擇");
hLayout4->addWidget(mCheckEnableEdit);
hLayout4->addWidget(mCheckSpaceRowBaseColor);
hLayout5->addWidget(mCheckShowTableHead);
hLayout5->addWidget(mCheckShowColumnHead);
hLayout6->addWidget(mRadioRowSelect);
hLayout6->addWidget(mRadioCellSelect);
QGroupBox *groupBox = new QGroupBox();
groupBox->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
groupBox->setLayout(hLayout6);
vLeftLayout->addWidget(mButtonSetTableHead);
vLeftLayout->addLayout(hLayout1);
vLeftLayout->addWidget(mButtonInitTable);
vLeftLayout->addLayout(hLayout2);
vLeftLayout->addWidget(mButtonDeleteCurrentRow);
vLeftLayout->addLayout(hLayout3);
vLeftLayout->addWidget(mButtonReadTableDataToText);
vLeftLayout->addLayout(hLayout4);
vLeftLayout->addLayout(hLayout5);
vLeftLayout->addWidget(groupBox);
vLeftLayout->addStretch(1);
}
uj5u.com熱心網友回復:
現在運行程式只顯示兩列,需要自己拖大視窗
uj5u.com熱心網友回復:
這是《Qt5.9 c++開發指南》書上第四章的例子uj5u.com熱心網友回復:
百度一下Qtablewidget自適應寬度轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/25558.html
標籤:Qt
