我有这样的片断代码:QT具体实施
#include <QApplication>
#include <QFont>
#include <QLCDNumber>
#include <QPushButton>
#include <QSlider>
#include <QVBoxLayout>
#include <QWidget>
class MyWidget : public QWidget
{
public:
MyWidget(QWidget *parent = 0);
};
MyWidget::MyWidget(QWidget *parent)
: QWidget(parent)
{
QPushButton *quit = new QPushButton(tr("Quit"));
quit->setFont(QFont("Times", 18, QFont::Bold));
QLCDNumber *lcd = new QLCDNumber(3);
lcd->setSegmentStyle(QLCDNumber::Flat);
QSlider *slider = new QSlider(Qt::Horizontal);
slider->setRange(0, 999);
slider->setValue(0);
connect(quit, SIGNAL(clicked()), qApp, SLOT(quit()));
connect(slider, SIGNAL(valueChanged(int)),
lcd, SLOT(display(int)))
QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(quit);
layout->addWidget(lcd);
layout->addWidget(slider);
setLayout(layout);
}
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MyWidget widget;
widget.show();
return app.exec();
}
当我到达区间的最大值,我要退出,我怎么能实现这个with signals and slots
,在此先感谢
在这一行中,我有两个问题:价值==滑块 - >最大(),滑块没有在范围内定义,第二,即使我把它改为999后,它不起作用,请问你能解释为什么? – wantSTUDY 2010-07-15 16:53:01
是的,你需要先在你的课堂上预定义“滑块”。在'public'字和代码生效之后,在你的类中添加'QSlider * slider';'slider = new QSlider(Qt :: Horizontal);'; – mosg 2010-07-15 18:38:39