• 【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("<<"));
        }
    
    }
  • 相关阅读:
    C# 关键字 default
    nopCommerce_3.00-Nop.Core.Caching
    汉字转拼音
    ASP.NET MVC性能调试工具-MvcMiniProfiler
    开源项目
    UVA 11374 Airport Express 最短路
    UVA 10319 Manhattan 2-sat
    UVA 1357 Cells
    UVA 610 Street Directions 双连通分量
    UVA 11504 Dominos 强连通分量
  • 原文地址:https://www.cnblogs.com/elesos/p/2816422.html
Copyright © 2020-2023  润新知