调整tab大小随内容自动调整大小策略

This commit is contained in:
duanshengchao 2025-03-28 17:17:44 +08:00
parent e540f867b6
commit c3f5824968
4 changed files with 31 additions and 6 deletions

View File

@ -68,14 +68,26 @@ void dpConfigurationDialog::initialize()
//typeSourceList
m_pModel_typeSource = new QStandardItemModel(this);
ui->typeSourceList->setModel(m_pModel_typeSource);
QStringList typeSourceTextList;
/*QStringList typeSourceTextList;
typeSourceTextList << QString::fromStdWString(L"电压") << QString::fromStdWString(L"电流") << QString::fromStdWString(L"功率");
for(QString& text: typeSourceTextList)
{
QStandardItem* item = new QStandardItem(text);
item->setEditable(false); //不可编辑
m_pModel_typeSource->appendRow(item);
}
}*/
QStandardItem* item = new QStandardItem(QString::fromStdWString(L"电压"));
item->setData(RealTimeDataType::voltage, Qt::UserRole + itemRole_dataType);
item->setEditable(false); //不可编辑
m_pModel_typeSource->appendRow(item);
item = new QStandardItem(QString::fromStdWString(L"电流"));
item->setData(RealTimeDataType::current, Qt::UserRole + itemRole_dataType);
item->setEditable(false); //不可编辑
m_pModel_typeSource->appendRow(item);
item = new QStandardItem(QString::fromStdWString(L"功率"));
item->setData(RealTimeDataType::power, Qt::UserRole + itemRole_dataType);
item->setEditable(false); //不可编辑
m_pModel_typeSource->appendRow(item);
//typeSelectedList
ui->typeSelectedList->setSelectionBehavior(QAbstractItemView::SelectRows);
m_pModel_typeSelected = new QStandardItemModel(this);
@ -141,6 +153,7 @@ void dpConfigurationDialog::createDataSourceList()
currentItem->setData(0, Qt::UserRole + itemRole_stationID);
currentItem->setData(0, Qt::UserRole + itemRole_componentID);
currentItem->setData(0, Qt::UserRole + itemRole_pointID);
currentItem->setData(RealTimeDataType::current, Qt::UserRole + itemRole_dataType);
componentItem->appendRow(currentItem);
QStandardItem* voltageItem = new QStandardItem("电压");
voltageItem->setEditable(false);
@ -148,6 +161,7 @@ void dpConfigurationDialog::createDataSourceList()
voltageItem->setData(0, Qt::UserRole + itemRole_stationID);
voltageItem->setData(0, Qt::UserRole + itemRole_componentID);
voltageItem->setData(1, Qt::UserRole + itemRole_pointID);
voltageItem->setData(RealTimeDataType::voltage, Qt::UserRole + itemRole_dataType);
componentItem->appendRow(voltageItem);
ui->dataSourceList->expandAll();
}

View File

@ -14,6 +14,13 @@ enum DataPanelType
map //地图
};
enum RealTimeDataType
{
power = 0, //功率
voltage, //电压
current //电流
};
#include <QStandardItemModel>
struct configurationResults
{
@ -37,5 +44,6 @@ struct configurationResults
#define itemRole_stationID 2
#define itemRole_componentID 3
#define itemRole_pointID 4
#define itemRole_dataType 5
#endif

View File

@ -150,9 +150,12 @@ void CustomTab::setText(const QString& strTitle)
m_pTitle->setText(strTitle);
QFontMetrics metrics(m_pTitle->font());
QRect rect = metrics.boundingRect(m_pTitle->text());
m_pTitle->setMinimumSize(rect.width() + 12, 0);
m_pTitle->setMaximumSize(rect.width() + 12, 1660);
// QRect rect = metrics.boundingRect(m_pTitle->text());
// m_pTitle->setMinimumSize(rect.width() + 12, 0);
// m_pTitle->setMaximumSize(rect.width() + 12, 1660);
int textWidth = metrics.horizontalAdvance(strTitle);
m_pTitle->setMinimumSize(textWidth + 12, 0);
m_pTitle->setMaximumSize(textWidth + 12, 1660);
setObjectName("dashboardTab_" + strTitle);
}