#include <QtCore>
#include <QtGui>
{
Q_OBJECT
public:
private slots:
void slotClicked();
private:
};
{
lo->addWidget(m_button);
connect(m_button, SIGNAL(clicked()), this, SLOT(slotClicked()));
}
{
p.
drawRect(QRect(0,
0, m_size.
width()-1, m_size.
height()-1));
}
QSize Widget
::sizeHint() const {
return m_size;
}
void Widget::slotClicked()
{
m_size.setWidth(m_size.width() + 100);
updateGeometry();
update();
}
int main(int argc, char **argv)
{
sa.setWidgetResizable(true);
sa.setWidget(new Widget(&sa));
sa.show();
return a.exec();
}
#include "main.moc"
#include <QtCore>
#include <QtGui>
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = 0);
QSize sizeHint() const;
void paintEvent(QPaintEvent *pe);
private slots:
void slotClicked();
private:
QPushButton *m_button;
QSize m_size;
};
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
m_size = QSize(200, 80);
QHBoxLayout *lo = new QHBoxLayout;
m_button = new QPushButton("Button", this);
lo->addWidget(m_button);
connect(m_button, SIGNAL(clicked()), this, SLOT(slotClicked()));
}
void Widget::paintEvent(QPaintEvent *pe)
{
QWidget::paintEvent(pe);
QPainter p(this);
p.drawRect(QRect(0, 0, m_size.width()-1, m_size.height()-1));
}
QSize Widget::sizeHint() const
{
return m_size;
}
void Widget::slotClicked()
{
m_size.setWidth(m_size.width() + 100);
updateGeometry();
update();
}
int main(int argc, char **argv)
{
QApplication a(argc, argv);
QScrollArea sa;
sa.setWidgetResizable(true);
sa.setWidget(new Widget(&sa));
sa.widget()->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed);
sa.show();
return a.exec();
}
#include "main.moc"
To copy to clipboard, switch view to plain text mode
Bookmarks