Ресайзинг заголовков деревьев

This commit is contained in:
krivoshein
2025-01-29 10:25:44 +03:00
parent 036c89b1f2
commit 87de435d4c
5 changed files with 77 additions and 35 deletions

View File

@@ -8,6 +8,36 @@ InstructorsView::InstructorsView(ConnectorToServer* connectorToServer, TypeView
typeObject = TypeObject::objInstructor;
}
void InstructorsView::resizeEvent(QResizeEvent *event)
{
int width = treeWidget->width();
treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_ID, 50);
treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_Login, 100);
treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_Password, 100);
treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_Administrator, 120);
treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_Archived, 80);
treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_Logged, 100);
int widthInstructor;
if(typeView == TypeView::onlyView)
{//onlyView
widthInstructor = width - (200 + 10);
}
else
{//control
if(adminMode)
widthInstructor = width - (550 + 10);
else
widthInstructor = width - (420 + 10);
}
if(widthInstructor < 250)
widthInstructor = 250;
treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_Instructor, widthInstructor);
}
void InstructorsView::slot_NeedUpdateUI(bool treeInstructor, bool treeTrainee)
{
updateButtons();
@@ -20,18 +50,10 @@ void InstructorsView::preparationTreeWidget()
{
mtxTreeWidget.lock();
treeWidget->setColumnCount(7);
treeWidget->setColumnCount(clmn_count);
reSetHeadTreeWidget();
treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_ID, 50);
treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_Instructor, 250);
treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_Login, 100);
treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_Password, 100);
treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_Administrator, 120);
treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_Archived, 80);
treeWidget->setColumnWidth(ColumnsTreeInsructors::clmn_Logged, 100);
if(typeView == TypeView::onlyView)
{//onlyView
archiveVisible = false;

View File

@@ -21,9 +21,13 @@ protected:
clmn_Administrator,
clmn_Archived,
clmn_Logged,
clmn_ID
clmn_ID,
clmn_count
};
public:
void resizeEvent(QResizeEvent *event) override;
public Q_SLOTS:
//Слот обработки сигнала необходимости обновления интерфейса
void slot_NeedUpdateUI(bool treeInstructor, bool treeTrainee);

View File

@@ -92,7 +92,7 @@ InstructorsAndTraineesWidget::InstructorsAndTraineesWidget(QWidget *parent) :
viewerInstructors->setMaximumWidth(500);
viewerInstructors->setMaximumHeight(400);
messangerWidget->setMinimumSize(500, 500);
messangerWidget->setMinimumSize(400, 500);
messangerWidget->setMaximumWidth(500);
//ui->btnAuthorizationInstructor->setEnabled(false);

View File

@@ -7,6 +7,38 @@ TraineesView::TraineesView(ConnectorToServer* connectorToServer, TypeView type,
typeObject = TypeObject::objGroup;
}
void TraineesView::resizeEvent(QResizeEvent *event)
{
int width = treeWidget->width();
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_ID, 50);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Login, 100);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Password, 100);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Class, 100);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Computer, 100);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_IP_address, 130);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Archived, 80);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Logged, 100);
int widthTrainee;
if(typeView == TypeView::onlyView)
{//onlyView
widthTrainee = width - (530 + 10);
}
else
{//control
if(adminMode)
widthTrainee = width - (760 + 10);
else
widthTrainee = width - (630 + 10);
}
if(widthTrainee < 250)
widthTrainee = 250;
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Trainee, widthTrainee);
}
void TraineesView::slot_NeedUpdateUI(bool treeInstructor, bool treeTrainee)
{
updateButtons();
@@ -19,22 +51,10 @@ void TraineesView::preparationTreeWidget()
{
mtxTreeWidget.lock();
treeWidget->setColumnCount(10);
treeWidget->setColumnCount(clmn_count);
reSetHeadTreeWidget();
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_ID, 50);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Trainee, 250);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Login, 100);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Password, 100);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Class, 100);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Computer, 100);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_IP_address, 130);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Archived, 80);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Logged, 100);
treeWidget->setColumnWidth(ColumnsTreeTrainees::clmn_Tasks, 60);
if(typeView == TypeView::onlyView)
{//onlyView
archiveVisible = false;
@@ -137,13 +157,6 @@ void TraineesView::loadTraineesFromDB()
ItemTrainee->setIcon(ColumnsTreeTrainees::clmn_Logged, QIcon(QStringLiteral(":/resources/icons/circleGray.png")));
}
QString tasksStr;
for(Task task: trainee.getTasks())
{
tasksStr += task.getName() + QStringLiteral("; ");
}
ItemTrainee->setText(ColumnsTreeTrainees::clmn_Tasks, tasksStr);
ItemGroup->addChild(ItemTrainee);
//Скрываем архивных (при необходимости)
@@ -185,7 +198,7 @@ void TraineesView::loadTraineesFromDB()
void TraineesView::reSetHeadTreeWidget()
{
QStringList listHeaders = {tr("Trainee"), tr("Login"), tr("Password"), tr("Class"), tr("Computer"), tr("IP address"), tr("Archived"), tr("Logged"), tr("Tasks"), tr("ID")};
QStringList listHeaders = {tr("Trainee"), tr("Login"), tr("Password"), tr("Class"), tr("Computer"), tr("IP address"), tr("Archived"), tr("Logged"), tr("ID")};
treeWidget->setHeaderLabels(listHeaders);
}

View File

@@ -23,10 +23,13 @@ protected:
clmn_IP_address,
clmn_Archived,
clmn_Logged,
clmn_Tasks,
clmn_ID
clmn_ID,
clmn_count
};
public:
void resizeEvent(QResizeEvent *event) override;
public Q_SLOTS:
//Слот обработки сигнала необходимости обновления интерфейса
void slot_NeedUpdateUI(bool treeInstructor, bool treeTrainee);