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. Cant Reset slider position
Qt 6.11 is out! See what's new in the release blog

Cant Reset slider position

Scheduled Pinned Locked Moved General and Desktop
1 Posts 1 Posters 1.5k Views 1 Watching
  • 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.
  • A Offline
    A Offline
    amonR
    wrote on last edited by
    #1

    Hi there,
    Here is my issue: when I reset the position of my slider it acts like if it's been moved while I just press on it.
    Here is a part of my code:
    @
    WinA::WinA(FenPrincipale *FenPr, QWidget *parent) : QWidget(parent)
    {

    Couleur = new QLabel;
    Hierar = new HierarchItem (FenPr, this);

    boutonItem = new QSlider(Qt::Horizontal,this);
    boutonItem->setGeometry(146,121,20,4);
    boutonItem->setRange(0,100);
    boutonItem->setValue(40);

    labelH = new QLabel(Hierar);
    labelH->move(71,102);
    labelH->setStyleSheet("color: #C9C9C9;");
    labelH2 = new QLabel(Hierar);
    labelH2->move(200,102);
    labelH2->setStyleSheet("color: #C9C9C9;");

    QObject::connect(boutonItem, SIGNAL(sliderPressed()), this, SLOT(DisplayItem()));
    QObject::connect(boutonItem, SIGNAL(valueChanged(int)), this, SLOT(SelectItem(int)));

    }

    void WinA::SelectItem(int posbH)
    {
    if(posbH==40)
    {
    //QObject::disconnect(boutonItem, SIGNAL(sliderReleased()), this, SLOT(TraitementLabelH()));
    //QObject::disconnect(boutonItem, SIGNAL(sliderReleased()), this, SLOT(TraitementLabelH2()));
    labelH->setStyleSheet("color: #C9C9C9;");
    labelH2->setStyleSheet("color: #C9C9C9;");
    }

    if(posbH>40)
    {
    labelH->setStyleSheet(""+Couleur->text()+"");
    labelH2->setStyleSheet("color: #C9C9C9;");
    }

    if(posbH<40)
    {
    labelH->setStyleSheet("color: #C9C9C9;");
    labelH2->setStyleSheet(""+Couleur->text()+"");
    }

    if(posbH>90)
    {
    QObject::connect(boutonItem, SIGNAL(sliderReleased()), this, SLOT(TraitementLabelH()));
    }

    if(posbH<10)
    {
    QObject::connect(boutonItem, SIGNAL(sliderReleased()), this, SLOT(TraitementLabelH2()));
    }

    }

    void WinA::TraitementLabelH()
    {
    this->close;
    }

    void WinA::TraitementLabelH2()
    {
    this->close;
    }

    void WinA::DisplayItem()
    {
    labelH->setText(Hierar->getlabelHier());
    labelH2->setText(Hierar->getlabelHier2());

    //Seconde Animation
    QPropertyAnimation *animation = new QPropertyAnimation(labelH, "geometry");
    animation->setDuration(153);
    animation->setStartValue(QRect(138, 102, 60, 14));
    animation->setEndValue(QRect(200, 102, 60, 14));
    animation->start(QAbstractAnimation::DeleteWhenStopped);
    
    //Seconde Animation
    QPropertyAnimation *animation2 = new QPropertyAnimation(labelH2, "geometry");
    animation2->setDuration(153);
    animation2->setStartValue(QRect(138, 102, 60, 14));
    animation2->setEndValue(QRect(71, 102, 60, 14));
    animation2->start(QAbstractAnimation::DeleteWhenStopped);
    
    QObject::connect(boutonItem, SIGNAL(sliderReleased()), this, SLOT(HideItem()));
    

    }

    void WinA::HideItem()
    {
    //Seconde Animation
    animation3 = new QPropertyAnimation(labelH, "geometry");
    animation3->setDuration(153);
    animation3->setStartValue(QRect(200, 102, 60, 14));
    animation3->setEndValue(QRect(138, 102, 60, 14));
    animation3->start(QAbstractAnimation::DeleteWhenStopped);

    QObject::connect(animation3, SIGNAL(finished()), labelH, SLOT(clear()));
    
    //Seconde Animation
    animation4 = new QPropertyAnimation(labelH2, "geometry");
    animation4->setDuration(153);
    animation4->setStartValue(QRect(71, 102, 60, 14));
    animation4->setEndValue(QRect(138, 102, 60, 14));
    animation4->start(QAbstractAnimation::DeleteWhenStopped);
    
    QObject::connect(animation4, SIGNAL(finished()), labelH2, SLOT(clear()));
    
    boutonItem->setValue(40);
    

    }
    @

    As you can notice the position of the slider is reset through HideItem().
    I forgot to mention that I use stackedwidgets in my app and this problem happens when I come back to the widget. First of all, is it the right methode to reset the position? If not, how can I reset my slider properly? Thanks.

    1 Reply Last reply
    0

    • Login

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