Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. toggle QLineSeries visibility with QPushButton & connect?
QtWS25 Last Chance

toggle QLineSeries visibility with QPushButton & connect?

Scheduled Pinned Locked Moved Solved General and Desktop
connecttogglevisibilityqlineseries
3 Posts 2 Posters 1.4k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • P Offline
    P Offline
    pauledd
    wrote on 20 Sept 2017, 11:45 last edited by
    #1

    Hi
    I just wonder how I can accomplish a toggle visibility of a bunch of QLineSeries with some QPushButton's. I have 2 QLineSeries and 2 QPushButtons. Then I wrote 2 public slot functions for each series/button and connected them to each other.

    Is there a more elegant way like having only one toggle function that gets passed the series name as parameter? But how to connect then signal and slot?

    I have now:

    tabwidget.cpp:

    TabWidget::TabWidget(QTabWidget *parent) :
        QTabWidget(parent)
    {...
    seriesPressure = new QtCharts::QLineSeries();
    seriesTempIn = new QtCharts::QLineSeries();
    ...
    pbTempIn = new QPushButton("Pressure",tab3);
    pbTempIn->setCheckable(1);
    pbTempIn->setChecked(1);
    pbTempOut = new QPushButton("Temp In",tab3);
    pbTempOut->setCheckable(1);
    pbTempOut->setChecked(1);
    
    connect(pbTempIn,&QPushButton::clicked,this,&TabWidget::toggleSeriesTempIn);
    connect(pbTempOut,&QPushButton::clicked,this,&TabWidget::toggleSeriesTempOut);
    ...}
    
    void TabWidget::toggleSeriesTempIn()
    {
        if(pbTempIn->isChecked())
        {
            seriesTempIn->show();
        }
        else
            seriesTempIn->hide();
    }
    void TabWidget::toggleSeriesTempOut()
    {
        if(pbTempIn->isChecked())
        {
            seriesTempIn->show();
        }
        else
            seriesTempIn->hide();
    }
    
    J 1 Reply Last reply 20 Sept 2017, 11:58
    0
    • P pauledd
      20 Sept 2017, 11:45

      Hi
      I just wonder how I can accomplish a toggle visibility of a bunch of QLineSeries with some QPushButton's. I have 2 QLineSeries and 2 QPushButtons. Then I wrote 2 public slot functions for each series/button and connected them to each other.

      Is there a more elegant way like having only one toggle function that gets passed the series name as parameter? But how to connect then signal and slot?

      I have now:

      tabwidget.cpp:

      TabWidget::TabWidget(QTabWidget *parent) :
          QTabWidget(parent)
      {...
      seriesPressure = new QtCharts::QLineSeries();
      seriesTempIn = new QtCharts::QLineSeries();
      ...
      pbTempIn = new QPushButton("Pressure",tab3);
      pbTempIn->setCheckable(1);
      pbTempIn->setChecked(1);
      pbTempOut = new QPushButton("Temp In",tab3);
      pbTempOut->setCheckable(1);
      pbTempOut->setChecked(1);
      
      connect(pbTempIn,&QPushButton::clicked,this,&TabWidget::toggleSeriesTempIn);
      connect(pbTempOut,&QPushButton::clicked,this,&TabWidget::toggleSeriesTempOut);
      ...}
      
      void TabWidget::toggleSeriesTempIn()
      {
          if(pbTempIn->isChecked())
          {
              seriesTempIn->show();
          }
          else
              seriesTempIn->hide();
      }
      void TabWidget::toggleSeriesTempOut()
      {
          if(pbTempIn->isChecked())
          {
              seriesTempIn->show();
          }
          else
              seriesTempIn->hide();
      }
      
      J Offline
      J Offline
      J.Hilk
      Moderators
      wrote on 20 Sept 2017, 11:58 last edited by
      #2

      @pauledd hi, this should work just as well:

      connect(pbTempIn,&QPushButton::toggled,seriesTempIn,&QLineSeries::setVisible);
      

      Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


      Q: What's that?
      A: It's blue light.
      Q: What does it do?
      A: It turns blue.

      1 Reply Last reply
      3
      • P Offline
        P Offline
        pauledd
        wrote on 20 Sept 2017, 12:06 last edited by
        #3

        great! That works. With that I can spare the toggle functions at all.
        Thanks!

        1 Reply Last reply
        0

        3/3

        20 Sept 2017, 12:06

        • Login

        • Login or register to search.
        3 out of 3
        • First post
          3/3
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • Users
        • Groups
        • Search
        • Get Qt Extensions
        • Unsolved