zoukankan      html  css  js  c++  java
  • 【Qt常见问题】系列02

    在实际的应用程序中,控制扩展对话框的按钮通常会在只显示了基本对话框时显示为Advanced>>,而在显示了扩展对话框时才显示为Advanced<<。这在Qt 中非常容易实现,只需在单击这个按钮时调用QPushButton 的setText()函数即可。

    这个是《零基础学Qt4编程》第七章的一句话。

    网友同问:http://tieba.baidu.com/p/1289407174

    实现方法:

    首先在头文件中自定义一个槽;

    class ExtensionDlg:public QDialog,public Ui::Dialog
    {
        Q_OBJECT
        public:
            ExtensionDlg(QWidget *parent = 0);
            
    
            private slots:
                void checkStaus();//check if the detailGroupBox is Hidden or not
    };

    然后在实现文件中,构造函数里加入:

    ExtensionDlg::ExtensionDlg(QWidget *parent)
                    :QDialog(parent)
    {
        setupUi(this);
        this->extensionGroupBox->hide();
    
        this->detailButton->setText(tr(">>"));    
        connect(this->detailButton, SIGNAL(clicked()), this, SLOT(checkStaus()));    
    
        mainVerticalLayout->setSizeConstraint(QLayout::SetFixedSize);
    }

    最后实现自己的槽:

    void ExtensionDlg::checkStaus()
    {    
        if (this->extensionGroupBox->isHidden())
        {
            this->detailButton->setText(tr(">>"));
        } 
        else
        {
            this->detailButton->setText(tr("<<"));
        }
    
    }
  • 相关阅读:
    redis 事务 lq
    redis集群架构高可用分析 lq
    redis分布式锁 lq
    jvm垃圾回收 lq
    【攻防世界】逆向666
    第六届上海市大学生网络安全大赛wp
    【攻防世界】逆向answer_to_everying
    2021 DJBCTF(大吉大利杯) wp
    渗透靶机bossplayersCTF
    2020首届祥云杯部分wp
  • 原文地址:https://www.cnblogs.com/elesos/p/2816422.html
Copyright © 2011-2022 走看看