如何在Qt中使用QWidget::scroll(intdx,intdy)?
这是: 我不知道如何使用它,它会起什么作用?我测试的代码如下:如何在Qt中使用QWidget::scroll(intdx,intdy)?,qt,Qt,这是: 我不知道如何使用它,它会起什么作用?我测试的代码如下: #ifndef WIDGET_H #define WIDGET_H #include <QWidget> class Widget : public QWidget { Q_OBJECT public: explicit Widget(QWidget *parent = 0); signals: public slots: }; #endif // WIDGET_H #ifndef小部件 #
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = 0);
signals:
public slots:
};
#endif // WIDGET_H
#ifndef小部件
#定义小部件
#包括
类Widget:publicqwidget
{
Q_对象
公众:
显式小部件(QWidget*parent=0);
信号:
公众时段:
};
#endif//WIDGET\u H
Widget.cpp
#包括“Widget.h”
#包括
Widget::Widget(QWidget*父项):
QWidget(父级)
{
QPushButton*bt=新的QPushButton(本);
此->滚动(20,0);
}
删除滚动时没有任何变化(20,0)代码>,你能帮我吗,谢谢
QWidget::scroll()移动屏幕上已绘制的小部件像素。这意味着应该在显示小部件后调用该函数。换句话说,不是在构造函数中。考虑这个例子:
标题.h
#include <QtGui>
class Widget : public QWidget
{
public:
Widget(QWidget *parent = 0) : QWidget(parent)
{
new QPushButton("Custom Widget", this);
}
};
class Window : public QDialog
{
Q_OBJECT
public:
Window()
{
QPushButton *button = new QPushButton("Button", this);
widget = new Widget(this);
widget->move(0, 50); // just moving this down the window
widget->scroll(-20, 0); // does nothing! widget hasn't been drawn yet
connect(button, SIGNAL(clicked()), this, SLOT(onPushButtonPressed()));
}
public slots:
void onPushButtonPressed()
{
widget->scroll(-20, 0);
}
private:
Widget *widget;
};
#include <QtGui>
class Widget : public QWidget
{
public:
Widget(QWidget *parent = 0) : QWidget(parent)
{
new QPushButton("Custom Widget", this);
}
};
class Window : public QDialog
{
Q_OBJECT
public:
Window()
{
QPushButton *button = new QPushButton("Button", this);
widget = new Widget(this);
widget->move(0, 50); // just moving this down the window
widget->scroll(-20, 0); // does nothing! widget hasn't been drawn yet
connect(button, SIGNAL(clicked()), this, SLOT(onPushButtonPressed()));
}
public slots:
void onPushButtonPressed()
{
widget->scroll(-20, 0);
}
private:
Widget *widget;
};
#include "header.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Window w;
w.show();
return a.exec();
}