如何获取QSplitter的初始状态

问题描述

在我的应用程序中,我有 2 个小部件,它们由 QSplitter 垂直分隔。

    m_splitterMain= new QSplitter(Qt::Horizontal);
    this->setCentralWidget(m_splitterMain);
    m_splitterMain->setHandleWidth(5);
    m_splitterMain->addWidget(m_navigationBar);
    m_splitterMain->addWidget(m_MainMdiArea);

我正在使用 splitterMoved 信号并在之后处理它,以做一些事情。所以这个信号给我一个 pos 数(整数),我用它来计算。

Qt doc

connect(m_PageNumLineEdit,&QLineEdit::returnpressed,this,&MainViewer::GotoPage);

我需要获得这个数字的初始状态,我试图在 QSplitter(m_splitterMain 它是我的对象)的不同道具中找到它,但不能。 我试图做这些事情:

QSettings settings;
    settings.setValue("size",m_splitterMain->saveState());
    settings.value("size").toString();
    auto c=m_splitterMain->saveState();
    qInfo()<<"1" << c.toHex();
      qInfo()<<"2" <<  settings.value("size").toByteArray();;
    qInfo ()<< "nav bar size" << m_navigationBar->width();
    qInfo()<<m_splitterMain->sizes();
    qInfo()<< "splitter size w "<< m_splitterMain->size();
     qInfo()<< "splitter sizeHint w "<< m_splitterMain->sizeHint();

它还给了我

1 "000000ff0000000100000002ffffffffffffffff0100000005010000000100"
2 "\x00\x00\x00\xFF\x00\x00\x00\x01\x00\x00\x00\x02\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x01\x00\x00\x00\x05\x01\x00\x00\x00\x01\x00"
nav bar size 640
(0,0)
splitter size w  QSize(640,480)
splitter sizeHint w  QSize(1592,720)
splitter sizes w  (0,0)
width  640

我的值为 380。 也许我少了一些道具。我怎样才能得到这个号码?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)