如何知道QPlainTextEdit继承类中是否显示水平滚动条?

时间:2011-06-12 09:43:26

标签: c++ windows linux qt qt4

我怎么知道滚动条是否显示在QPlainTextEdit中? 我尝试了QScrollBar :: isHidden(),但总是返回true。

感谢您的任何帮助!

1 个答案:

答案 0 :(得分:2)

您应该尝试在编辑isVisible()上使用verticalScrollBar()方法。

这符合预期:

#include <QtGui>

class Win: public QWidget
{
    Q_OBJECT

    public:
        Win(QWidget *parent=0): QWidget(parent)
        {
            edit = new QPlainTextEdit;
            QPushButton *b1 = new QPushButton("click");
            QVBoxLayout *vl = new QVBoxLayout;
            vl->addWidget(edit);
            vl->addWidget(b1);
            setLayout(vl);
            connect(b1, SIGNAL(clicked()), this, SLOT(clicked()));
        }

    public slots:
        void clicked()
        {
            qDebug() << edit->verticalScrollBar()->isVisible();
        }

    private:
        QPlainTextEdit *edit;
};