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
如何通过拖动小部件上的QTableWidget的角来调整其大小_Qt_Pyqt_Pyside_Drag_Qtablewidget - Fatal编程技术网

如何通过拖动小部件上的QTableWidget的角来调整其大小

如何通过拖动小部件上的QTableWidget的角来调整其大小,qt,pyqt,pyside,drag,qtablewidget,Qt,Pyqt,Pyside,Drag,Qtablewidget,我想通过像下面的屏幕截图一样拖动右下角来调整QTableWidget的大小。如何做到这一点?这是我的密码 代码: 谢谢。一种方法是在表格小部件内的布局中使用QSizeGrip: tableWidget->setWindowFlags(Qt::SubWindow); QSizeGrip * sizeGrip = new QSizeGrip(tableWidget); QGridLayout * layout = new QGridLayout(tableWidget); layout-

我想通过像下面的屏幕截图一样拖动右下角来调整QTableWidget的大小。如何做到这一点?这是我的密码

代码:


谢谢。

一种方法是在表格小部件内的布局中使用
QSizeGrip

tableWidget->setWindowFlags(Qt::SubWindow);

QSizeGrip * sizeGrip = new QSizeGrip(tableWidget);

QGridLayout * layout = new QGridLayout(tableWidget);
layout->addWidget(sizeGrip, 0,0,1,1,Qt::AlignBottom | Qt::AlignRight);

类提供了一个调整顶层窗口大小的调整句柄。当您设置小部件标志
Qt::SubWindow
时,用户可以使用大小夹点调整其大小。

您好,您必须在布局(QGridLayout/QVerticalLayout/QHorizontalLayout)中推送QTableWidget,并将布局放在主窗口中。在小部件上设置布局并不意味着包含其他小部件,例如
QTableWidget
,本质上是一个bug。您无法保证小部件不会使用您刚刚愉快地替换的布局。你展示的是一个不错的黑客,但不应该被使用。相反,您可以为调整大小事件编写一个短事件过滤器,以保持大小夹点正确对齐。
tableWidget->setWindowFlags(Qt::SubWindow);

QSizeGrip * sizeGrip = new QSizeGrip(tableWidget);

QGridLayout * layout = new QGridLayout(tableWidget);
layout->addWidget(sizeGrip, 0,0,1,1,Qt::AlignBottom | Qt::AlignRight);