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

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; 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) void InstructorsView::slot_NeedUpdateUI(bool treeInstructor, bool treeTrainee)
{ {
updateButtons(); updateButtons();
@@ -20,17 +50,9 @@ void InstructorsView::preparationTreeWidget()
{ {
mtxTreeWidget.lock(); mtxTreeWidget.lock();
treeWidget->setColumnCount(7); treeWidget->setColumnCount(clmn_count);
reSetHeadTreeWidget(); 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) if(typeView == TypeView::onlyView)
{//onlyView {//onlyView

View File

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

View File

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

View File

@@ -7,6 +7,38 @@ TraineesView::TraineesView(ConnectorToServer* connectorToServer, TypeView type,
typeObject = TypeObject::objGroup; 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) void TraineesView::slot_NeedUpdateUI(bool treeInstructor, bool treeTrainee)
{ {
updateButtons(); updateButtons();
@@ -19,22 +51,10 @@ void TraineesView::preparationTreeWidget()
{ {
mtxTreeWidget.lock(); mtxTreeWidget.lock();
treeWidget->setColumnCount(10); treeWidget->setColumnCount(clmn_count);
reSetHeadTreeWidget(); 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) if(typeView == TypeView::onlyView)
{//onlyView {//onlyView
archiveVisible = false; archiveVisible = false;
@@ -137,13 +157,6 @@ void TraineesView::loadTraineesFromDB()
ItemTrainee->setIcon(ColumnsTreeTrainees::clmn_Logged, QIcon(QStringLiteral(":/resources/icons/circleGray.png"))); 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); ItemGroup->addChild(ItemTrainee);
//Скрываем архивных (при необходимости) //Скрываем архивных (при необходимости)
@@ -185,7 +198,7 @@ void TraineesView::loadTraineesFromDB()
void TraineesView::reSetHeadTreeWidget() 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); treeWidget->setHeaderLabels(listHeaders);
} }

View File

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