本文整理汇总了C++中QDial类的典型用法代码示例。如果您正苦于以下问题:C++ QDial类的具体用法?C++ QDial怎么用?C++ QDial使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了QDial类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget mainWindow;
QDial *newDial = new QDial;
QProgressBar *newProgressBar = new QProgressBar;
newDial->setRange(0,100);
newDial->setNotchTarget(5);
newDial->setNotchesVisible(true);
newDial->setPageStep(20);
QObject::connect(newDial,SIGNAL(valueChanged(int)),newProgressBar,SLOT(setValue(int)));
QBoxLayout *boxLayout = new QBoxLayout(QBoxLayout::TopToBottom);
boxLayout->addWidget(newDial);
boxLayout->addWidget(newProgressBar);
mainWindow.setWindowTitle("Dial Change");
mainWindow.setLayout(boxLayout);
mainWindow.setGeometry(430,330,200,200);
mainWindow.show();
return a.exec();
}
示例2: main
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QPushButton hello("Hello world!");
hello.resize(100, 30);
hello.setFont(QFont("Arial", 18, QFont::Bold));
hello.setGeometry(400, 200 , 180, 40);
QDial dial;
dial.show();
hello.show();
return app.exec();
}
示例3: setGeometry
void tst_QBoxLayout::setGeometry()
{
QWidget w;
QVBoxLayout *lay = new QVBoxLayout;
lay->setMargin(0);
lay->setSpacing(0);
QHBoxLayout *lay2 = new QHBoxLayout;
QDial *dial = new QDial;
lay2->addWidget(dial);
lay2->setAlignment(Qt::AlignTop);
lay2->setAlignment(Qt::AlignRight);
lay->addLayout(lay2);
w.setLayout(lay);
w.show();
QRect newGeom(0, 0, 70, 70);
lay2->setGeometry(newGeom);
QVERIFY2(newGeom.contains(dial->geometry()), "dial->geometry() should be smaller and within newGeom");
}
示例4: property
void QuteKnob::knobChanged(int value)
{
#ifdef USE_WIDGET_MUTEX
widgetLock.lockForWrite();
#endif
double min = property("QCS_minimum").toDouble();
double max = property("QCS_maximum").toDouble();
QDial *knob = static_cast<QDial *>(m_widget);
double normalized = (double) (value - knob->minimum())
/ (double) (knob->maximum() - knob->minimum());
m_value = min + (normalized * (max-min));
// setInternalValue(scaledValue);
m_valueChanged = true;
QPair<QString, double> channelValue(m_channel, m_value);
#ifdef USE_WIDGET_MUTEX
widgetLock.unlock();
#endif
emit newValue(channelValue);
}
示例5: main
int main(int argc, char **argv) {
QApplication app(argc, argv);
QDial *dial = new QDial();
dial->show();
QLCDNumber *lcdnumber = new QLCDNumber();
lcdnumber->display(12345);
lcdnumber->show();
QSlider *slider = new QSlider(Qt::Horizontal);
slider->show();
QHBoxLayout *hbox = new QHBoxLayout();
QPushButton *button = new QPushButton("Push Me");
QLineEdit *input = new QLineEdit();
hbox->addWidget(button);
hbox->addWidget(input);
QWidget *widget = new QWidget();
widget->setLayout(hbox);
widget->show();
return app.exec();
}
示例6: valueChanged
void tst_QDial::valueChanged()
{
QDial dial;
dial.setMinimum(0);
dial.setMaximum(100);
QSignalSpy spy(&dial, SIGNAL(valueChanged(int)));
dial.setValue(50);
QCOMPARE(spy.count(), 1);
spy.clear();
dial.setValue(25);
QCOMPARE(spy.count(), 1);
spy.clear();
// repeat!
dial.setValue(25);
QCOMPARE(spy.count(), 0);
}
示例7: wrapping
int Dial::wrapping(lua_State * L) // const : bool
{
QDial* obj = QtObject<QDial>::check( L, 1);
Util::push( L, obj->wrapping() );
return 1;
}
示例8: setNotchTarget
int Dial::setNotchTarget(lua_State * L) // double target
{
QDial* obj = QtObject<QDial>::check( L, 1);
obj->setNotchTarget(Util::toDbl( L, 2 ));
return 0;
}
示例9: notchesVisible
int Dial::notchesVisible(lua_State * L) // const : bool
{
QDial* obj = QtObject<QDial>::check( L, 1);
Util::push( L, obj->notchesVisible() );
return 1;
}
示例10: notchTarget
int Dial::notchTarget(lua_State * L) // const : qreal
{
QDial* obj = QtObject<QDial>::check( L, 1);
Util::push( L, obj->notchTarget() );
return 1;
}
示例11: notchSize
int Dial::notchSize(lua_State * L) // const : int
{
QDial* obj = QtObject<QDial>::check( L, 1);
Util::push( L, obj->notchSize() );
return 1;
}
示例12: QPRINT
/**
@brief Initialise un widget avec une liste de parametres
@param widget Widget parent
@param list Liste des parametres
@remarks Les noms des widgets doivent correspondres avec les noms de paramètres
*/
void Configurable::configToWidget(QObject* widget,ConfigParamList& list){
//scan les elements enfants
for(ConfigParamList::const_iterator cur = list.begin(); cur != list.end(); cur++){
QString name = cur->first;
QString value = cur->second->getValue();
QWidget* child = widget->findChild<QWidget*>(name);
if(child==0){
QPRINT("configToWidget: "+name+" not found");
continue;
}
// QLineEdit ?
QLineEdit *lineEdit = qobject_cast<QLineEdit *>(child);
if(lineEdit){
lineEdit->setText(value);
continue;
}
// QComboBox ?
QComboBox *comboBox = qobject_cast<QComboBox *>(child);
if(comboBox){
comboBox->setCurrentIndex(comboBox->findText(value));
continue;
}
// QSpinBox ?
QSpinBox *spinBox = qobject_cast<QSpinBox *>(child);
if(spinBox){
spinBox->setValue(value.toInt());
continue;
}
// QDoubleSpinBox ?
QDoubleSpinBox *doubleSpinBox = qobject_cast<QDoubleSpinBox *>(child);
if(doubleSpinBox){
doubleSpinBox->setValue(value.toInt());
continue;
}
// QTextEdit ?
QTextEdit *textEdit = qobject_cast<QTextEdit *>(child);
if(textEdit){
textEdit->setPlainText(value);
continue;
}
// QPlainTextEdit ?
QPlainTextEdit *plainTextEdit = qobject_cast<QPlainTextEdit *>(child);
if(plainTextEdit){
plainTextEdit->setPlainText(value);
continue;
}
// QTimeEdit ?
QTimeEdit *timeEdit = qobject_cast<QTimeEdit *>(child);
if(timeEdit){
timeEdit->setTime(QTime::fromString(value));
continue;
}
// QDateTimeEdit ?
QDateTimeEdit *dateTimeEdit = qobject_cast<QDateTimeEdit *>(child);
if(dateTimeEdit){
timeEdit->setDateTime(QDateTime::fromString(value));
continue;
}
// QDateEdit ?
QDateEdit *dateEdit = qobject_cast<QDateEdit *>(child);
if(dateEdit){
dateEdit->setDate(QDate::fromString(value));
continue;
}
// QDial ?
QDial *dial = qobject_cast<QDial *>(child);
if(dial){
dial->setValue(value.toInt());
continue;
}
// QSlider ?
QSlider *slider = qobject_cast<QSlider *>(child);
if(slider){
slider->setValue(value.toInt());
continue;
}
}
}
示例13: configFromNextWidget
/**
@copydoc Configurable::configFromWidget
*/
void Configurable::configFromNextWidget(QObject* cur,ConfigParamList& paramList){
//parametres de configuration
const QObjectList& list = cur->children();
for(int i=0;i<list.size();i++)
{
QObject* child = list.at(i);
if(!child->objectName().isEmpty() && child->isWidgetType())
{
QString value;
// QLineEdit ?
QLineEdit *lineEdit = qobject_cast<QLineEdit *>(child);
if(lineEdit)
value = lineEdit->text();
// QComboBox ?
QComboBox *comboBox = qobject_cast<QComboBox *>(child);
if(comboBox)
value = comboBox->currentText();
// QSpinBox ?
QSpinBox *spinBox = qobject_cast<QSpinBox *>(child);
if(spinBox)
value = spinBox->text();
// QDoubleSpinBox ?
QDoubleSpinBox *doubleSpinBox = qobject_cast<QDoubleSpinBox *>(child);
if(doubleSpinBox)
value = doubleSpinBox->text();
// QTextEdit ?
QTextEdit *textEdit = qobject_cast<QTextEdit *>(child);
if(textEdit)
value = textEdit->toPlainText();
// QPlainTextEdit ?
QPlainTextEdit *plainTextEdit = qobject_cast<QPlainTextEdit *>(child);
if(plainTextEdit)
value = plainTextEdit->toPlainText();
// QTimeEdit ?
QTimeEdit *timeEdit = qobject_cast<QTimeEdit *>(child);
if(timeEdit)
value = timeEdit->text();
// QDateTimeEdit ?
QDateTimeEdit *dateTimeEdit = qobject_cast<QDateTimeEdit *>(child);
if(dateTimeEdit)
value = timeEdit->text();
// QDateEdit ?
QDateEdit *dateEdit = qobject_cast<QDateEdit *>(child);
if(dateEdit)
value = dateEdit->text();
// QDial ?
QDial *dial = qobject_cast<QDial *>(child);
if(dial)
value = QString::number(dial->value());
// QSlider ?
QSlider *slider = qobject_cast<QSlider *>(child);
if(slider)
value = QString::number(slider->value());
//sauvegarde la valeur
if(!value.isNull()){
/*#ifdef _DEBUG
QPRINT("loadConfig >> "+child->objectName()+"="+value);
#endif*/
if(paramList.find(child->objectName()) != paramList.end())
paramList[child->objectName()]->setValue(value);
else
paramList[child->objectName()] = new ConfigParam(value,"");
}
}
Configurable::configFromNextWidget(child,paramList);
}
}
示例14: sliderMoved
void tst_QDial::sliderMoved()
{
//this tests that when dragging the arrow that the sliderMoved signal is emitted
//even if tracking is set to false
QDial dial;
dial.setTracking(false);
dial.setMinimum(0);
dial.setMaximum(100);
dial.show();
QPoint init(dial.width()/4, dial.height()/2);
QMouseEvent pressevent(QEvent::MouseButtonPress, init,
Qt::LeftButton, Qt::LeftButton, 0);
qApp->sendEvent(&dial, &pressevent);
QSignalSpy sliderspy(&dial, SIGNAL(sliderMoved(int)));
QSignalSpy valuespy(&dial, SIGNAL(valueChanged(int)));
{ //move on top of the slider
init = QPoint(dial.width()/2, dial.height()/4);
QMouseEvent moveevent(QEvent::MouseMove, init,
Qt::LeftButton, Qt::LeftButton, 0);
qApp->sendEvent(&dial, &moveevent);
QCOMPARE( sliderspy.count(), 1);
QCOMPARE( valuespy.count(), 0);
}
{ //move on the right of the slider
init = QPoint(dial.width()*3/4, dial.height()/2);
QMouseEvent moveevent(QEvent::MouseMove, init,
Qt::LeftButton, Qt::LeftButton, 0);
qApp->sendEvent(&dial, &moveevent);
QCOMPARE( sliderspy.count(), 2);
QCOMPARE( valuespy.count(), 0);
}
QMouseEvent releaseevent(QEvent::MouseButtonRelease, init,
Qt::LeftButton, Qt::LeftButton, 0);
qApp->sendEvent(&dial, &releaseevent);
QCOMPARE( valuespy.count(), 1); // valuechanged signal should be called at this point
}
示例15: wrappingCheck
void tst_QDial::wrappingCheck()
{
//This tests if dial will wrap past the maximum value back to the minimum
//and vice versa when changing the value with a keypress
QDial dial;
dial.setMinimum(0);
dial.setMaximum(100);
dial.setSingleStep(1);
dial.setWrapping(true);
dial.setValue(99);
dial.show();
{ //set value to maximum but do not wrap
QTest::keyPress(&dial, Qt::Key_Up);
QCOMPARE( dial.value(), 100);
}
{ //step up once more and wrap clockwise to minimum + 1
QTest::keyPress(&dial, Qt::Key_Up);
QCOMPARE( dial.value(), 1);
}
{ //step down once, and wrap anti-clockwise to minimum, then again to maximum - 1
QTest::keyPress(&dial, Qt::Key_Down);
QCOMPARE( dial.value(), 0);
QTest::keyPress(&dial, Qt::Key_Down);
QCOMPARE( dial.value(), 99);
}
{ //when wrapping property is false no wrapping will occur
dial.setWrapping(false);
dial.setValue(100);
QTest::keyPress(&dial, Qt::Key_Up);
QCOMPARE( dial.value(), 100);
dial.setValue(0);
QTest::keyPress(&dial, Qt::Key_Down);
QCOMPARE( dial.value(), 0);
}
{ //When the step is really big or small, wrapping should still behave
dial.setWrapping(true);
dial.setValue(dial.minimum());
dial.setSingleStep(305);
QTest::keyPress(&dial, Qt::Key_Up);
QCOMPARE( dial.value(), 5);
dial.setValue(dial.minimum());
QTest::keyPress(&dial, Qt::Key_Down);
QCOMPARE( dial.value(), 95);
dial.setMinimum(-30);
dial.setMaximum(-4);
dial.setSingleStep(200);
dial.setValue(dial.minimum());
QTest::keyPress(&dial, Qt::Key_Down);
QCOMPARE( dial.value(), -22);
}
}