Adjust QListWidget contents to adjust to Dialog size
-
I have a QListWidget in a QDialog. It has the capability of displaying up to 511 items. I have added a QVBoxLayout and QHBoxLayout so when I adjust the dialog size it seems to adjust the QListWidget size, but the contents don't adjust. Adjusting the vertical size should create more columns. Adjusting Horizontally justs changes what can be visually seen. I have attached the code I am using, and I am using Qt6.
#ifndef SO_REPORT_H #define SO_REPORT_H #include <QDialog> #include <QListWidget> #include <QVBoxLayout> #include <QScrollArea> #include "pcmission.h" class SO_Report : public QDialog { public: SO_Report(PcMission* pGlobal, QWidget* parent = nullptr); private: PcMission* m_pGlobal; int32_t Idx; }; #endif // SO_REPORT_H
#include "so_report.h" SO_Report::SO_Report(PcMission* pGlobal, QWidget* parent ) : QDialog ( parent ) { m_pGlobal = pGlobal; setWindowTitle("Options"); QListWidget* soReport = new QListWidget(); soReport->setSizeAdjustPolicy(QListWidget::AdjustToContents); QVBoxLayout* listLayout = new QVBoxLayout(); listLayout->addWidget( soReport ); QHBoxLayout* mainLayout = new QHBoxLayout(this); mainLayout->addLayout(listLayout); QString dataString; for(Idx = 0; Idx < m_pGlobal->validSOs.so_count; Idx++) { if( Idx < 9 ) { dataString = " "; } else if( Idx < 99 ) { dataString = " "; } dataString += m_pGlobal->validSOs.Option[Idx].so + ". " + m_pGlobal->validSOs.Option[Idx].ao + "/" + m_pGlobal->validSOs.Option[Idx].cc; if( !m_pGlobal->validSOs.Option[Idx].wh.isEmpty() ) { dataString += m_pGlobal->validSOs.Option[Idx].wh; } QListWidgetItem* soList = new QListWidgetItem ( dataString ); soReport->addItem( soList ); } }
-
I have a QListWidget in a QDialog. It has the capability of displaying up to 511 items. I have added a QVBoxLayout and QHBoxLayout so when I adjust the dialog size it seems to adjust the QListWidget size, but the contents don't adjust. Adjusting the vertical size should create more columns. Adjusting Horizontally justs changes what can be visually seen. I have attached the code I am using, and I am using Qt6.
#ifndef SO_REPORT_H #define SO_REPORT_H #include <QDialog> #include <QListWidget> #include <QVBoxLayout> #include <QScrollArea> #include "pcmission.h" class SO_Report : public QDialog { public: SO_Report(PcMission* pGlobal, QWidget* parent = nullptr); private: PcMission* m_pGlobal; int32_t Idx; }; #endif // SO_REPORT_H
#include "so_report.h" SO_Report::SO_Report(PcMission* pGlobal, QWidget* parent ) : QDialog ( parent ) { m_pGlobal = pGlobal; setWindowTitle("Options"); QListWidget* soReport = new QListWidget(); soReport->setSizeAdjustPolicy(QListWidget::AdjustToContents); QVBoxLayout* listLayout = new QVBoxLayout(); listLayout->addWidget( soReport ); QHBoxLayout* mainLayout = new QHBoxLayout(this); mainLayout->addLayout(listLayout); QString dataString; for(Idx = 0; Idx < m_pGlobal->validSOs.so_count; Idx++) { if( Idx < 9 ) { dataString = " "; } else if( Idx < 99 ) { dataString = " "; } dataString += m_pGlobal->validSOs.Option[Idx].so + ". " + m_pGlobal->validSOs.Option[Idx].ao + "/" + m_pGlobal->validSOs.Option[Idx].cc; if( !m_pGlobal->validSOs.Option[Idx].wh.isEmpty() ) { dataString += m_pGlobal->validSOs.Option[Idx].wh; } QListWidgetItem* soList = new QListWidgetItem ( dataString ); soReport->addItem( soList ); } }
Set the resize policies of the headers/sections
-
I entered the following code and it didn't do anything.
soReport->setResizeMode(QListWidget::Adjust);