在哪个网站可以做试卷,成都网络设计公司,内蒙古住房和建设厅网站,三河网站建设目录 1.QAbstractslider 1.1主要属性 2.QSlider 2.1专有属性 2.2 常用函数 3.QScrollBar 4.QProgressBar 5.QDial 6.QLCDNumber 7.上述控件应用示例 1.QAbstractslider 1.1主要属性 QSlider、QScrollBar和Qdial3个组件都从QAbstractSlider继承而来#xff0c;有一些共有的属性… 目录 1.QAbstractslider 1.1主要属性 2.QSlider 2.1专有属性 2.2 常用函数 3.QScrollBar 4.QProgressBar 5.QDial 6.QLCDNumber 7.上述控件应用示例 1.QAbstractslider 1.1主要属性 QSlider、QScrollBar和Qdial3个组件都从QAbstractSlider继承而来有一些共有的属性。 QSlider是滑动的标尺型组件滑动标尺上的一个滑块可以改变值。 基类QAbstractslider的主要属性包括以下几种。 minimum、maximum设置输入范围的最小值和最大值例如用红、绿、蓝配色时每种基色的大小范围是0、255所以设置minimum为0maximum为255。 singleStep单步长拖动标尺上的滑块或按下左/右光标键时的最小变化数值。 pageStep在Slider上输入焦点按pgUp或pgDn键时变化的数值即鼠标放在标尺上点击一次滑块最小变化数值。 value组件的当前值拖动滑块时自动改变此值并限定在minimum和maximum定义的范围之内。 sliderPosition滑块的位置若tracking属性设置为true,sliderPosition就等于value。 trackingsliderPosition是否等同于value如果trackingtrue改变value时也同时改变sliderPosition。 tracking属性 默认设置为true 当打开的时候发现滑块在拖动滑块时发出valueChanged()信 号。当关闭之后就会发现滑块仅在用户释放滑块时才发出valueChanged()信号。有时候在视频 播放的时候会在进度测试时需要使用此功能。 orientationSlider的方向可以设置为水平或垂直。方向参数是Qt的枚举类型enum Qt::Orientation取值包括以下两种。 Qt::Horizontal水平方向 Qt::Vertical垂直方向。 invertedAppearance显示方式是否反向invertedAppearancefalse时水平的Slider由左向右数值增大否则反过来。 invertedControls反向按键控制若invertedControlstrue则按下PgUp或PgDn按键时调整数值的反向相反。 是否反转其滚轮和按键事件。 如果为 false则向上滚动鼠标滚轮或使用向上翻页等键会将值增加到最大值。 如果为 true则向上滚动鼠标滚轮或使用向上翻页等键会将值减小到最小值。 1.2 成员函数 【信号】void actionTriggered(int action) 当滑块动作动作被触发时会发出这个信号。动作包括 SliderNoAction SliderSingleStepAdd SliderSingleStepSub SliderPageStepAdd SliderPageStepSub SliderToMinimum SliderToMaximum SliderMove 当信号发出时sliderPosition 已经根据动作进行了调整但是 value 还没有被传播意味着 valueChanged() 信号还没有发出视觉显示还没有更新。因此在连接到此信号的槽中可以根据动作和滑块的值自己调用 setSliderPosition() 来安全地调整任何动作。 void triggerAction(QAbstractSlider::SliderAction action) 触发滑块动作。 【信号】void rangeChanged(int min, int max) 当滑块范围发生变化时会发出此信号min 是新的最小值max 是新的最大值。 void setRange(int min, int max) 将滑块的最小值设置为 min将其最大值设置为 max。 void QAbstractSlider::setRange(int min,int max) { Q_D(QAbstractSliimder) int oldMin d-minimum; int oldMax d-maximum; d-minimum min; d-maximum qMax(min,max); if(oldMin!d-minimum || oldMax ! d-maximum) { sliderChange(SliderRangeChange); emit rangeChanged(d-minmum,d-maximum); setValue(d-value); } } 【信号】void sliderMoved(int value) 当 sliderDown 为true并且滑块移动时发出此信号。这通常发生在用户拖动滑块时。value 是新的滑块位置。即使 tracking 为 false 也会发出此信号。 【信号】void sliderPressed() 此信号在用户使用鼠标按下滑块时、在调用 setSliderDown(true) 时发出。 【信号】void sliderReleased() 当用户使用鼠标释放滑块时、在调用 setSliderDown(false) 时发出此信号。 【信号】void valueChanged(int value) 当 value 发生变化时会发出此信号并将新滑块值作为参数。 void setRepeatAction(QAbstractSlider::SliderAction actionint thresholdTime 500int repeatTime 50) 在 thresholdTime 的初始延迟之后将 action 操作设置为以 repeatTime 的间隔重复触发。 QAbstractSlider::SliderAction repeatAction() 返回当前的重复动作。 void sliderChange(QAbstractSlider::SliderChange change) 重新实现此虚函数以跟踪滑块更改。 SliderRangeChange SliderOrientationChange SliderStepsChange SliderValueChange 2.QSlider 2.1专有属性 属于QSlider的专有属性有两个如下: tickPosition标尺刻度的显示位置使用枚举类型QSlider.:TickPosition取值包括以下6种。 QSlider::NoTicks 不显示刻度 QSIider::TicksBothSides 标尺两侧都显示刻度 QSlide::TicksAbove 标尺上方显示刻度 QSlider::TicksBelow 标尺下方显示刻度 QSlide::TicksLeft 标尺左侧显示刻度 QSlider::TicksRight 标尺右侧显示刻度 ticklnterval 标尺刻度的间隔值这是一个值间隔而不是像素间隔。若设置为0会在singlestep和pagestep之间自动选择。默认值为0。 2.2 常用函数 void initStyleOption(QStyleOptionSlider *option) 使用此 QSlider 中的值初始化选项。 当子类需要一个 QStyleOptionSlider 但又不想自己填写所有信息时此方法很有用。 setTickInterval(ti)此属性保存刻度线之间的间隔。这是一个值间隔而不是像素间隔。如果为0则滑块将在singleStep和pageStep之间进行选择。默认值为0。 setTickPosition(position)此属性保存此滑块的刻度线位置。有效值由TickPosition枚举描述。默认值为NoTicks。 3.QScrollBar QScrollBar卷滚条与QSlider功能类似还可以用于卷滚区域。 QScrollBar从QAbstractSlider继承而来的具有QAbstractSlider的基本属性没有专有属性。 4.QProgressBar QProgressBar进度条其父类是QWidget,一般用于显示任务进度可用于数值的百分比显示。常用属性如下。 minimum、maximum最小值和最大值。 value当前值可以设定或读取当前值。 textVisibIe:是否显示文字文字一般是百分比表示的进度。 orientation可以设置为水平或垂直方向。 format显示文字的格式“%p%显示百分比%v”显示当前值%m”显示总步数。 缺省为%p%。 5.QDial QDial表盘式数值输入组件通过转动表针获得输入值。QDial的特有的属性包括以下两种。 notchesVisible表盘的小刻度是否可见。 notchTarget表盘刻度间的间隔像素值。 6.QLCDNumber QLCDNumber模仿LCD数字的显示组件可以显示整数或浮点数显示整数时可以不 同进制显示。但就如实际的LCD一样 要设定显示数字的个数。显示整数时还可以选择以不同进制来显示如十进制、二进制、十六 进制。其主要属性如下。 digitcount显示的数的位数如果是小数小数点也算一个数位。 smallDecimalPoint是否有小数点如果有小数点就可以显示小数。 mode数的显示进制通过调用函数setDecMode()、setBinMode()、setOctMode()、 setHexMode()可以设置为常用的十进制、二进制、八进制、十六进制格式。 value返回显示值浮点数。若设置为显示整数会自动四舍五入后得到整数设置为 intvalue的值。如果smallDecimalPointtrue设置value时可以显示小数但是数的位数 不能超过digitCount。 intvalue返回显示的整数值。
例如若smallDecimaIPointtruedigitCount3设置value236则界面上LCDNumber组 件会显示为24若设置value145625则界面上LCDNumber组件只会显示145。所以用 QLCDNumber作为显示组件时应注意这些属性的配合。 7.上述控件应用示例 1main.cpp文件 #include widget.h
#include QApplicationint main(int argc, char *argv[])
{QApplication a(argc, argv);Widget w;w.show();return a.exec();
} 2widget.h文件 #ifndef WIDGET_H
#define WIDGET_H#include QWidgetnamespace Ui {
class Widget;
}class Widget : public QWidget
{Q_OBJECTpublic:explicit Widget(QWidget *parent 0);~Widget();private slots:void on_SliderV_valueChanged(int value);void on_dial_valueChanged(int value);void on_radioBtnDec_clicked(); //设置LCD显示十进制void on_radioBtnBin_clicked();//设置LCD显示二进制void on_radioBtnOct_clicked();//设置LCD显示八进制void on_radioBtnHex_clicked();//设置LCD显示十六进制void on_SliderH_valueChanged(int value);void on_ScrollBarV_sliderMoved(int position);void on_ScrollBarH_sliderMoved(int position);void on_SliderRed_valueChanged(int value); // Slidered的valueChanged()信号的响应// void on_ScrollBarH_valueChanged(int value);private:Ui::Widget *ui;
};#endif // WIDGET_H 3widget.cpp文件 #include widget.h
#include ui_widget.h#include QString
#include QPaletteWidget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget)
{ui-setupUi(this);this-setLayout(ui-horizontalLayout); //设置窗口的主布局组件QObject::connect(ui-SliderGreen,SIGNAL(valueChanged(int)), //关联 SliderGreen 的valueChanged()this,SLOT(on_SliderRed_valueChanged(int)));QObject::connect(ui-SliderBlue,SIGNAL(valueChanged(int)), //关联 SliderBlue的valueChanged()this,SLOT(on_SliderRed_valueChanged(int)));QObject::connect(ui-SliderAlpha,SIGNAL(valueChanged(int)), //关联 SliderAlpha的valueChanged()this,SLOT(on_SliderRed_valueChanged(int)));
}Widget::~Widget()
{delete ui;
}void Widget::on_SliderV_valueChanged(int value)
{ui-progBarV-setValue(value);ui-ScrollBarV-setValue(value);// ui-progBarH-setValue(value);
}//void Widget::on_btnIniItems_clicked()
//{
// int i, cnt20;QString str;
// ui-cBoxTest-clear();
// for (i0;icnt;i)
// {strQString::asprintf(Item %d,i);
// ui-cBoxTest-addItem(QString::asprintf(Item %d,i));
// }
//}//void Widget::on_btnClearItems_clicked()
//{
// ui-cBoxTest-clear();
//}//void Widget::on_cBoxTest_currentIndexChanged(const QString arg1)
//{
// ui-LabCurText-setText(当前选择项arg1);
//}//void Widget::on_chkBoxEditable_clicked(bool checked)
//{
// ui-cBoxTest-setEditable(checked);
//}//转动表盘获得的值显示在LCD组件中。
void Widget::on_dial_valueChanged(int value)
{ //设置LCD的显示值等于Dial的值ui-LCDDisplay-display(value);
}//单击“LCD显示进制”的RadioButton时设置LCD的显示进制。
void Widget::on_radioBtnDec_clicked()
{ //设置LCD显示十进制数ui-LCDDisplay-setDigitCount(3);//显示数的位数ui-LCDDisplay-setDecMode();//显示进制数
}void Widget::on_radioBtnBin_clicked()
{ //设置LCD显示二进制数ui-LCDDisplay-setDigitCount(8);ui-LCDDisplay-setBinMode();
}void Widget::on_radioBtnOct_clicked()
{ //设置LCD显示八进制数ui-LCDDisplay-setDigitCount(4);ui-LCDDisplay-setOctMode();
}void Widget::on_radioBtnHex_clicked()
{ //设置LCD显示十六进制数ui-LCDDisplay-setDigitCount(3);ui-LCDDisplay-setHexMode();
}void Widget::on_SliderH_valueChanged(int value)
{//QProgressBar组件、QScrollBar组件随QSlider的值变化而变化ui-progBarH-setValue(value); ui-ScrollBarH-setValue(value);
}void Widget::on_ScrollBarV_sliderMoved(int position)
{//QProgressBar组件使用 ui-progBarV-setValue(position);
}void Widget::on_ScrollBarH_sliderMoved(int position)
{//QProgressBar组件使用 ui-progBarH-setValue(position);
}
//使用4个滑动条输入红、绿、蓝三色和Alpha值然后合成颜色作为一个QTextEdit组件的底色。
void Widget::on_SliderRed_valueChanged(int value)
{ //拖动Red、Green、Blue 颜色滑动条时设置textEdit的底色Q_UNUSED(value);QColor color;int Rui-SliderRed-value(); //读取SliderRed的当前值int Gui-SliderGreen-value();//读取 SliderGreen 的当前值int Bui-SliderBlue-value();//读取 SliderBlue 的当前值int alphaui-SliderAlpha-value();//读取 SliderAlpha 的当前值color.setRgb(R,G,B,alpha); //使用QColor的setRgb()函数 获得颜色// QPalette pal;QPalette palui-textEdit-palette();//获取textEdit原有的 palettepal.setColor(QPalette::Base,color); //设置palette的基色即背景色ui-textEdit-setPalette(pal);//设置为textEdit的palette,改变textEdit的底色
} 4widget.ui文件 5运行界面