Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Split QStatusBar and choose where to display QStatusTips



  • I'm wondering how to split the QStatusBar in my QMainWindow into two equal parts and to subsequently show QStatusTips in either the left or the right part.

    Perhaps this approach is a step in the right direction —

    1.) Create two QLabels*,

    labelStatusTip = new QLabel("");
    labelGeneralInfo = new QLabel("Initial text");
    

    2.) Add them to the QStatusBar, setting stretch to 1 results in two equal parts (same widths)

    ui->statusBar->addPermanentWidget(labelStatusTip, 1);
    ui->statusBar->addPermanentWidget(labelGeneralInfo, 1);
    

    3.) Now, how do I set the text of labelStatusTip to the actual QStatusTips? Do I have to define a custom QStatusBar and override the showMessage() and clearMessage() slots (see http://doc.qt.io/qt-5/qstatusbar.html)?



  • Hmm, this works —

    connect(ui->statusBar, SIGNAL(messageChanged(QString)), this, SLOT(showStatusTip()));
    
    ...
    
    void MyMainWindow::showStatusTip() {
      labelStatusTip->setText(ui->statusBar->currentMessage());
    }


  • Hi Ailurus,

    I am really new to QT and currently working with the Python bindings.

    Would you know how to implement your solution when using pyhton?

    I am struggling with extracting the right signal for the job...

    Best,

    bpfel


Log in to reply