wumu
2024-01-31 a9d5d7f29fe1ab664c66d87e898ac34a03b044c2
internal_system_v1/converinfo2.cpp
@@ -1,5 +1,6 @@
#include "converinfo2.h"
#include "ui_converinfo2.h"
#include <QDebug>
ConverInfo2::ConverInfo2(QWidget *parent) :
    QMainWindow(parent),
@@ -19,8 +20,68 @@
    // 查询表中所有的公司名字,放到树形菜单中
    QStringList comInfo;
    comInfo<<"码蚁软件"<<"C++课程体系"<<"嵌入式课程体系";
    ui->treeWidget->addTopLevelItem(new QTreeWidgetItem(comInfo));
    // 设置菜单:添加单位、删除单位
    QTreeWidgetItem *top = new QTreeWidgetItem(ui->treeWidget,comInfo);
    ui->treeWidget->addTopLevelItem(top);
    ui->treeWidget->expandAll();
    QTreeWidgetItem *it1 = new QTreeWidgetItem(top);
    it1->setText(0,"开发部1");
    QTreeWidgetItem *it2 = new QTreeWidgetItem(top);
    it2->setText(0,"开发部2");
    QTreeWidgetItem *it3 = new QTreeWidgetItem(top);
    it3->setText(0,"开发部3");
    QTreeWidgetItem *top1 = new QTreeWidgetItem(ui->treeWidget);
    top1->setText(0,"码蚁集团");
    QTreeWidgetItem *it4 = new QTreeWidgetItem(top1);
    it4->setText(0,"开发部4");
    top1->setCheckState(0,Qt::Checked);
    it4->setCheckState(0,Qt::Checked);
    // 单位内容修改
    // 复选框状态处理
    connect(ui->treeWidget,QOverload<QTreeWidgetItem*,int>::of(QTreeWidget::itemClicked),this,[=](QTreeWidgetItem* it,int index){
        qDebug()<<it<<index;
        if(it == top1){
            qDebug()<<"点击了码蚁集团";
            for(int i=0;i<top1->childCount();++i){
                top1->child(i)->setCheckState(0,top1->checkState(0));
            }
        }
    });
    // 设置菜单:添加单位、删除单位
    m_menu = new QMenu(this);
    m_menu->addAction("删除");
    m_menu->addAction("增加");
    ui->treeWidget->setContextMenuPolicy(Qt::CustomContextMenu);
    connect(ui->treeWidget,SIGNAL(customContextMenuRequested(QPoint)),this,SLOT(showMenu(QPoint)));
    connect(m_menu->actions().at(0),SIGNAL(triggered(bool)),this,SLOT(deleteInfo()));
    connect(m_menu->actions().at(1),SIGNAL(triggered(bool)),this,SLOT(addInfo()));
            // 单位内容修改
    // 右边可编辑内容
    //ui->scrollArea->setWidget(ui->frame);
}
void ConverInfo2::showMenu(QPoint p)
{
    QTreeWidgetItem * item = ui->treeWidget->itemAt(p);
    if(item==nullptr)return;
    m_curItem = item;
    qDebug()<<"当前节点:"<<m_curItem->text(0);
    m_menu->exec(QCursor::pos());
}
void ConverInfo2::addInfo()
{
    if(m_curItem==nullptr)return;
    qDebug()<<"添加公司信息,在节点:"<<m_curItem->text(0);
}
void ConverInfo2::deleteInfo()
{
    if(m_curItem==nullptr)return;
    qDebug()<<"删除公司信息,节点:"<<m_curItem->text(0);
}