微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何获取QSplitter的初始状态

如何解决如何获取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 举报,一经查实,本站将立刻删除。