我如何知道滚动条是否显示在QPlainTextEdit中?
我尝试了QScrollBar::ishiden(),但始终返回true。
感谢你的帮助!

最佳答案

您应该尝试在编辑的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;
};

关于c++ - 如何知道QPlainTextEdit继承的类中是否显示了水平滚动条?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6321281/

10-11 19:08