Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何让QTableWidge根据其内容调整大小_Qt - Fatal编程技术网

如何让QTableWidge根据其内容调整大小

如何让QTableWidge根据其内容调整大小,qt,Qt,下面的代码创建了一个包含一些内容的QTableWidget void MainWindow::on_pushButton_clicked() { m_tbl = new QTableWidget; qDebug() << m_tbl->sizeHint(); // output "QSize(256, 192)" qDebug() << m_tbl->sizePolicy(); /* above line

下面的代码创建了一个包含一些内容的QTableWidget

void MainWindow::on_pushButton_clicked()
{
    m_tbl = new QTableWidget;
    qDebug() << m_tbl->sizeHint(); // output "QSize(256, 192)"
    qDebug() << m_tbl->sizePolicy(); 
    /* above line outputs "QSizePolicy(horizontalPolicy = QSizePolicy::Policy(Expanding), verticalPolicy = QSizePolicy::Policy(Expanding))" */
    m_tbl->setRowCount(4);
    m_tbl->setColumnCount(2);
    m_tbl->horizontalHeader()->setVisible(false);
    m_tbl->verticalHeader()->setVisible(false);
    m_tbl->setItem(0,0,new QTableWidgetItem(QString("0,0")));
    m_tbl->setItem(0,1,new QTableWidgetItem(QString("0,1")));
    m_tbl->setItem(1,0,new QTableWidgetItem(QString("1,0")));
    m_tbl->setItem(1,1,new QTableWidgetItem(QString("1,1")));
    m_tbl->setItem(2,0,new QTableWidgetItem(QString("2,0")));
    m_tbl->setItem(2,1,new QTableWidgetItem(QString("2,1")));
    m_tbl->setItem(3,0,new QTableWidgetItem(QString("3,0")));
    m_tbl->setItem(3,1,new QTableWidgetItem(QString("3,1")));
    m_tbl->adjustSize(); // not making any difference
    m_tbl->show();
}
void主窗口::在按钮上点击()
{
m_tbl=新的QTableWidget;
qDebug()sizeHint();//输出“QSize(256192)”
qDebug()大小策略();
/*以上行输出“QSizePolicy(水平策略=QSizePolicy::策略(扩展),垂直策略=QSizePolicy::策略(扩展))”*/
m_tbl->setRowCount(4);
m_tbl->setColumnCount(2);
m_tbl->horizontalHeader()->setVisible(假);
m_tbl->verticalHeader()->setVisible(假);
m_tbl->setItem(0,0,新的QTableWidgetItem(QString(“0,0”));
m_tbl->setItem(0,1,新的QTableWidgetItem(QString(“0,1”));
m_tbl->setItem(1,0,新的QTableWidgetItem(QString(“1,0”));
m_tbl->setItem(1,1,新的QTableWidgetItem(QString(“1,1”));
m_tbl->setItem(2,0,新的QTableWidgetItem(QString(“2,0”));
m_tbl->setItem(2,1,新的QTableWidgetItem(QString(“2,1”));
m_tbl->setItem(3,0,新的QTableWidgetItem(QString(“3,0”));
m_tbl->setItem(3,1,新的QTableWidgetItem(QString(“3,1”));
m_tbl->adjustSize();//没有任何区别
m_tbl->show();
}
问题是窗口大小大于内容-请参见下图。在这种情况下,如何让窗口根据其内容调整其大小


提前感谢。

会考虑尺码提示和政策。因为你的尺寸提示是有效的,它将使用尺寸提示。这个问题以前被问过很多次。基本上,解决方案是根据标题的列和行,自己计算宽度和高度。检查一下Zbyněk Winkler的答案post@Ngoc阮明明感谢您提供的信息。对于我的情况,我只需要你指出的答案中的“长度”部分,因为我的垂直/水平标题是隐藏的。考虑大小提示和策略。因为你的尺寸提示是有效的,它将使用尺寸提示。这个问题以前被问过很多次。基本上,解决方案是根据标题的列和行,自己计算宽度和高度。检查一下Zbyněk Winkler的答案post@Ngoc阮明明感谢您提供的信息。对于我的情况,我只需要你指出的答案中的“长度”部分,因为我的垂直/水平标题是隐藏的。