当前位置: 首页 > news >正文

网站备案花钱吗十大免费视频素材网

网站备案花钱吗,十大免费视频素材网,市场调研流程,大企业网站建设公司文章目录 1.QLineEdit1.1 常用属性1.2 常用信号1.3 例子1#xff0c;录入用户信息1.4 例子2#xff0c;正则验证手机号1.5 例子3#xff0c;验证输入的密码1.6 例子4#xff0c;显示密码 2. QTextEdit2.1 常用属性2.2 常用信号2.3 例子1#xff0c;获取输入框的内容2.4 例… 文章目录 1.QLineEdit1.1 常用属性1.2 常用信号1.3 例子1录入用户信息1.4 例子2正则验证手机号1.5 例子3验证输入的密码1.6 例子4显示密码 2. QTextEdit2.1 常用属性2.2 常用信号2.3 例子1获取输入框的内容2.4 例子2使用各种信号 3. QComboBox2.1 常用属性和方法2.2 常用信号2.3 例子1点餐2.4 例子2从文件读取内容 4. QSpinBox4.1 常用属性4.2 常用信号4.3 例子1饮料个数 5. QDateTimeEdit4.1 常用属性4.2 常用信号4.3 例子1计算年龄 6. QDial6.1 常用属性6.2 常用信号6.3 例子1调整窗口不透明度 7. QSlider7.1 常用属性7.2 常用信号7.3 例子1调整窗口大小7.3 例子2快捷键调整 1.QLineEdit QLineEdit表示单行输入框 1.1 常用属性 属性说明text输入框中的文本内容可用于获取或设置当前显示的文本。inputMask对输入内容的格式进行约束规定用户只能按照特定的格式输入文本例如限制输入日期、电话号码等格式。maxLength输入框允许输入的最大长度当输入的文本达到该长度后用户将无法继续输入更多字符。frame控制是否为输入框添加边框设置为 true 显示边框false 则不显示。echoMode控制输入框中文本的显示方式有以下几种模式 - QLineEdit::Normal默认模式输入框会正常显示输入的文本。 - QLineEdit::Password输入的字符会被隐藏通常用星号*或等号代替常用于密码输入场景。 - QLineEdit::NoEcho输入框不会显示任何输入的字符。cursorPosition表示光标在输入框中的位置位置从 0 开始计数可用于获取或设置光标的位置。alignment设置输入框内文字的对齐方式可同时设置水平和垂直方向的对齐例如左对齐、右对齐、居中对齐等。dragEnabled控制是否允许对输入框中的文本进行拖拽操作设置为 true 允许false 则禁止。readOnly控制输入框是否为只读状态设置为 true 时输入框内容不可修改用户只能查看false 时可正常编辑。placeHolderText当输入框内容为空时显示的提示信息用于引导用户输入相应内容。clearButtonEnabled控制输入框是否会自动显示 “清除按钮”设置为 true 显示点击该按钮可清空输入框内容false 则不显示。 1.2 常用信号 信号说明void cursorPositionChanged(int old, int new)当鼠标移动更准确地说是光标位置改变时发出此信号。old 表示光标先前的位置new 表示光标新的位置。void editingFinished()当按下返回键或者回车键或者行编辑框失去焦点时发出此信号。通常用于在用户完成一次输入操作后执行相应逻辑。void returnPressed()当按下返回键或回车键时发出此信号。如果设置了验证器必须要验证通过才能触发该信号可用于在用户按下回车键提交输入时进行处理。void selectionChanged()当选中的文本发生改变时发出此信号。可用于实现与文本选择状态相关的功能如根据选中内容更新操作按钮状态。void textChanged(const QString text)当 QLineEdit 中的文本改变时发出此信号text 是新的文本内容。代码对文本的修改也能够触发这个信号适用于实时响应文本变化的场景。void textEdited(const QString text)当 QLineEdit 中的文本改变时发出此信号text 是新的文本内容。但代码对文本的修改不能触发这个信号主要用于区分用户手动编辑和代码修改文本的情况。 1.3 例子1录入用户信息 在Qt Designer中设置基本框架 widget.cpp核心代码如下 Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui-setupUi(this);// 设置nameui-lineEdit_name-setPlaceholderText(请输入姓名);ui-lineEdit_name-setClearButtonEnabled(true);// 设置phoneui-lineEdit_phone-setPlaceholderText(请输入电话);ui-lineEdit_phone-setClearButtonEnabled(true);ui-lineEdit_phone-setInputMask(000-0000-0000); // 0表示数字, 也可以是其它数字// 设置passwordui-lineEdit_password-setPlaceholderText(请输入密码);ui-lineEdit_password-setClearButtonEnabled(true);ui-lineEdit_password-setEchoMode(QLineEdit::Password); }void Widget::on_pushButton_clicked() {QString gender ui-radioButton_male-isChecked() ? 男 : 女;qDebug() ui-lineEdit_name-text() gender ui-lineEdit_phone-text() ui-lineEdit_password-text(); }点击提交后将结果打印到控制台上 1.4 例子2正则验证手机号 const QValidator *QLineEdit::validator() const 是 QLineEdit 类中的一个成员函数 该函数的主要功能是获取当前 QLineEdit 控件所使用的验证器对象的指针 QValidator::State QValidator::validate(QString input, int pos) const 是 QValidator 类中的一个纯虚函数QValidator 是 Qt 中用于验证用户输入的基类该函数用于对输入的字符串进行验证并根据验证结果返回相应的状态。 返回值QValidator::State 是一个枚举类型用于表示验证的结果有以下三种取值 QValidator::Invalid表示输入无效不符合验证规则。QValidator::Intermediate表示输入处于中间状态部分符合验证规则但还不完整或需要进一步输入才能确定是否有效。QValidator::Acceptable表示输入完全有效符合验证规则。 参数 QString input这是一个引用类型的参数代表需要进行验证的输入字符串。在验证过程中函数可能会修改这个字符串使其符合验证规则。int pos同样是引用类型的参数代表输入字符串中光标的位置。在验证过程中函数可能会调整光标的位置。 设置一个输入框使用正则表达式验证该手机号。在Qt Designer中设置基本框架 #include widget.h #include ui_widget.h #include QRegExpValidatorWidget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui-setupUi(this);ui-lineEdit-setClearButtonEnabled(true);ui-lineEdit-setPlaceholderText(请输入手机号);// 创建一个正则表达式对象QRegExp reg(^1(3[0-9]|5[0-3,5-9]|7[1-3,5-8]|8[0-9])\\d{8}$);// 给lineEdit注册一个validatorui-lineEdit-setValidator(new QRegExpValidator(reg)); }Widget::~Widget() {delete ui; }void Widget::on_lineEdit_textChanged(const QString text) {// 获取验证器const QValidator* validator ui-lineEdit-validator();QString non_const_text text; // validate的第一个参数要求是非const的int pos 0;// 判断验证是否通过if(validator-validate(non_const_text, pos) QValidator::Acceptable) {ui-pushButton-setEnabled(true);} else {ui-pushButton-setEnabled(false);} }不能键入不正确的手机号。何时为一个合法的手机号何时按钮可用 1.5 例子3验证输入的密码 在Qt Designer中设置基本框架 设置槽函数 void Widget::check() {const QString s1 ui-lineEdit-text();const QString s2 ui-lineEdit_2-text();if(s1.isEmpty() || s2.isEmpty()) {const QString set_text (s2.isEmpty() ? 确认密码为空 : 密码为空);ui-label-setText(set_text);} else if(s1 ! s2) {ui-label-setText(两次输入的密码不一致);} else {ui-label-setText(密码匹配成功);} }void Widget::on_lineEdit_textChanged(const QString arg1) {(void) arg1;check(); }void Widget::on_lineEdit_2_textChanged(const QString arg1) {(void) arg1;check(); }1.6 例子4显示密码 在Qt Designer中设置基本框架 设置槽函数 void Widget::on_checkBox_stateChanged(int state) {if(state Qt::Checked) {ui-lineEdit-setEchoMode(QLineEdit::Normal);} else {ui-lineEdit-setEchoMode(QLineEdit::Password);} }2. QTextEdit QTextEdit表示多行输入框 2.1 常用属性 属性说明plainText当前文本内容以纯文本形式。获取当前文本内容纯文本格式使用的是toPlainText()markdown输入框内持有的内容支持 Markdown 格式能够自动将 Markdown 文本渲染成 HTML。toMarkdown()获取内容html输入框内持有的内容可以支持大部分 HTML 标签包括 img 和 table 等。toHtml()获取内容placeHolderText输入框为空时提示的内容readOnly控制输入框是否为只读状态undoRedoEnable控制是否开启 Undo/Redo 功能。按下 Ctrl Z 触发 Undo按下 Ctrl Y 触发 RedoautoFormating控制是否开启自动格式化tabstopWidth按下 Tab 键时缩进所占的空间大小overwriteMode控制是否开启覆盖写模式acceptRichText控制是否接收富文本内容verticalScrollBarPolicy垂直方向滚动条的出现策略 - Qt::ScrollBarAsNeeded根据内容自动决定是否需要滚动条默认值 - Qt::ScrollBarAlwaysOff总是关闭滚动条 - Qt::ScrollBarAlwaysOn总是显示滚动条horizontalScrollBarPolicy水平方向滚动条的出现策略 - Qt::ScrollBarAsNeeded根据内容自动决定是否需要滚动条默认值 - Qt::ScrollBarAlwaysOff总是关闭滚动条 - Qt::ScrollBarAlwaysOn总是显示滚动条 2.2 常用信号 信号说明textChanged()当 QTextEdit 中的文本内容发生改变时触发该信号可用于实时监测文本内容的变化例如在用户输入或删除文本时做出响应。selectionChanged()当文本的选中范围发生改变时触发此信号比如用户选中新的文本区域或者取消已选的文本区域可利用该信号实现与文本选择相关的功能。cursorPositionChanged()光标在 QTextEdit 中移动时触发该信号可用于实现一些依赖光标位置的操作如显示光标所在的行号和列号等。undoAvailable(bool)当可以进行 Undo撤销操作时触发此信号参数 bool 表示是否可以进行撤销操作true 表示可以false 表示不可以可据此更新撤销操作相关的界面元素状态。redoAvailable(bool)当可以进行 Redo重做操作时触发此信号参数 bool 表示是否可以进行重做操作true 表示可以false 表示不可以可用于更新重做操作相关的界面元素状态。copyAvailable(bool)文本被选中或取消选中时触发该信号参数 bool 表示是否有文本被选中true 表示有文本被选中此时可以进行复制操作false 表示无文本被选中可用于控制复制功能相关的界面元素的可用性。 2.3 例子1获取输入框的内容 在Qt Designer中设置基本框架一个QLabel和一个QTextEdit 给QTextEdit设置一个槽函数 void Widget::on_textEdit_textChanged() {QString text ui-textEdit-toPlainText();ui-label-setTextFormat(Qt::MarkdownText);ui-label-setText(text); }2.4 例子2使用各种信号 在在Qt Designer中拖入一个QTextEdit。设置槽函数 void Widget::on_textEdit_selectionChanged() {// 得到当前可见的光标const QTextCursor cursor ui-textEdit-textCursor();qDebug() selectionChanged: cursor.selectedText(); }void Widget::on_textEdit_cursorPositionChanged() {const QTextCursor cursor ui-textEdit-textCursor();qDebug() cursorPositionChanged: cursor.position(); }void Widget::on_textEdit_undoAvailable(bool b) {qDebug() undoAvailable: b; }void Widget::on_textEdit_redoAvailable(bool b) {qDebug() redoAvailable: b; }当输入内容时undoAvailable为true点击撤销后undoAvailable为falseredoAvailable为true点击反撤销后redoAvailable为falseundoAvailable为true。 void Widget::on_textEdit_copyAvailable(bool b) {qDebug() copyAvailable: b; }当选中内容时copyAvailable为true。 3. QComboBox QComboBox表示下拉框 2.1 常用属性和方法 属性 属性说明currentText表示当前在 QComboBox 中被选中的文本内容。通过这个属性可以获取用户当前选择的具体文本信息。currentIndex当前被选中条目的下标下标从 0 开始计数。若当前没有任何条目被选中该属性的值为 -1。可用于定位当前选中项在下拉列表中的位置。editable控制 QComboBox 是否允许用户对显示的文本进行修改。当设置为 true 时QComboBox 的行为与 QLineEdit 类似用户可以直接在输入框中编辑文本同时也可以为其设置验证器validator来限制输入内容的格式。iconSize用于设置下拉框图标通常是小三角图标的大小。可以根据界面设计需求调整该图标的尺寸。maxCount规定了 QComboBox 下拉列表中最多允许存在的条目数量。当添加的条目数量达到该上限时将无法再添加更多条目。 方法 方法说明addItem(const QString)向 QComboBox 的下拉列表中添加一个新的条目参数为要添加条目的文本内容。currentIndex()获取当前被选中条目的下标下标从 0 开始计数。如果当前没有任何条目被选中该方法返回 -1。currentText()获取当前被选中条目的文本内容。 2.2 常用信号 信号说明activated(int)activated(const QString text)当用户选择了一个选项时发出。这里的 “选择” 指用户点开下拉框并且鼠标划过某个选项但此时用户还未确认做出选择。activated(int) 信号会传递选中选项的索引从 0 开始计数activated(const QString text) 信号会传递选中选项的文本内容。currentIndexChanged(int) currentIndexChanged(const QString text)当前选项改变时发出。意味着用户已经明确地选择了一个选项无论是通过用户手动操作如鼠标点击、键盘选择等还是通过程序代码修改当前选项都会触发这个信号。currentIndexChanged(int) 传递改变后选项的索引currentIndexChanged(const QString text) 传递改变后选项的文本内容。editTextChanged(const QString text)当编辑框中的文本改变时发出该信号仅在 editable 属性为 true 时有效。也就是当 QComboBox 处于可编辑状态用户对输入框内的文本进行编辑修改时会触发此信号信号传递当前编辑框内的文本内容。 2.3 例子1点餐 在Qt Designer中设置基本框架 既可以在代码中设置也可以在Qt Designer中设置下拉框中的条目。右键-编辑项目-编辑组合框-点击号添加各种条目 添加一个按钮给按钮添加槽函数 void Widget::on_pushButton_clicked() {qDebug() ui-comboBox-currentText() ui-comboBox_2-currentText() ui-comboBox_3-currentText() ; }2.4 例子2从文件读取内容 当前目录下有一个food.txt 在Qt Designer中设置基本框架 widget.cpp代码如下 #include widget.h #include ui_widget.h #include fstream #include QDebugWidget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui-setupUi(this);std::string content;if(readFile(D:/bit/QT/QTPro/25_1_30QComboBox_2/food.txt, content) true) {QString str QString::fromStdString(content); // 转成QStringQStringList list str.split(\r\n); // 切割, 转成QStringListlist.removeLast(); // 删除最后一个空元素ui-comboBox-addItems(list);} }Widget::~Widget() {delete ui; }bool Widget::readFile(std::string path, std::string *outStr) {std::ifstream file(path, std::ios::binary);if(!file) {qDebug() Open file error!;printf(why: %s\n, strerror(errno));return false;}file.seekg(0, std::ios::end);int fileSize file.tellg(); // 得到文件的大小file.seekg(0);outStr-resize(fileSize);file.read((char*)outStr-c_str(), fileSize); // 读取文件内容到outStr中file.close();return true; }4. QSpinBox QSpinBox或者QDoubleSpinBox表示微调框 4.1 常用属性 属性说明value存储的数值代表 QSpinBox 当前显示的数值。singleStep每次调整的 “步长”即按下一次按钮上下箭头等数据变化的量。displayInteger数字的进制例如设置为 10 则按照 10 进制表示设置为 2 则为 2 进制表示。minimum允许输入的最小值输入的值不能小于该值。maximum允许输入的最大值输入的值不能大于该值。可以使用setRange(int min, int max)同时设置最大值和最小值suffix后缀会显示在数值的后面可用于表示单位等信息。prefix前缀会显示在数值的前面可用于添加特定标识。wrapping是否允许换行若设置为 true当达到最大值时再增加会回到最小值达到最小值时再减小会回到最大值。frame是否带边框设置为 true 显示边框false 则不显示。alignment文字对齐方式可设置水平和垂直方向的对齐例如左对齐、右对齐、居中对齐等。readOnly是否允许修改设置为 true 时用户无法直接修改输入框内的数值只能通过按钮进行调整false 时可正常编辑。buttonSymbol按钮上的图标样式有以下几种取值 - UpDownArrows上下箭头形式。 - PlusMinus加减号形式。 - NoButtons没有按钮。accelerated按下按钮时是否为快速调整模式设置为 true 时长按按钮数值会快速变化。correctionMode输入有误时的修正方式有以下两种取值 - QAbstractSpinBox::CorrectToPreviousValue如果用户输入了一个无效的值SpinBox 会恢复为上一个有效值。 - QAbstractSpinBox::CorrectToNearestValue如果用户输入了一个无效的值SpinBox 会恢复为最接近的有效值。keyboardTrack是否开启键盘跟踪设置为 true 时每次在输入框输入一个数字都会触发一次 valueChanged() 和 textChanged() 信号设置为 false 时只有在最终按下 Enter 或者输入框失去焦点才会触发这两个信号。 4.2 常用信号 信号说明参数textChanged(QString)文本框内容发生任何变化时触发无论输入是否合法或最终值是否改变。QString 类型代表当前微调框显示的完整文本包含前缀、数值和后缀。valueChanged(int)数值实际发生改变时触发仅当输入内容被解析为有效整数且值变化时触发。int 类型表示当前微调框所代表的数值不包含前缀和后缀信息。 4.3 例子1饮料个数 在Qt Designer中设置基本框架 widget.cpp如下 #include widget.h #include ui_widget.h #include QDebugWidget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui-setupUi(this);ui-spinBox-setRange(1, 100);ui-spinBox-setSuffix(瓶);ui-spinBox-setWrapping(true);ui-spinBox-setAccelerated(true); }Widget::~Widget() {delete ui; }void Widget::on_spinBox_textChanged(const QString arg1) {qDebug() textChanged: arg1; }5. QDateTimeEdit 使用 QDateTimeEdit 作为时间日期的微调框。使用 QDateEdit 作为日期的微调框。使用 QTimeEdit 作为时间的微调框 4.1 常用属性 属性说明dateTime时间日期的值格式形如 2000/1/1 0:00:00可用于获取或设置控件中显示的具体日期和时间。date单纯日期的值格式形如 2001/1/1用于获取或设置控件中显示的日期部分。time单纯时间的值格式形如 0:00:00用于获取或设置控件中显示的时间部分。displayFormat时间日期格式通过特定的格式化符号来定义显示样式例如 yyyy/M/d H:mm。格式化符号含义如下 - y表示年份 - M表示月份 - d表示日期 - H表示小时 - m表示分钟 - s表示秒 不同语言 / 库的设定规则存在差异使用时需查阅相关文档。minimumDateTime最小时间日期限制用户能选择的最早日期和时间若选择的日期时间早于此值控件会进行相应调整。maximumDateTime最大时间日期限制用户能选择的最晚日期和时间若选择的日期时间晚于此值控件会进行相应调整。timeSpec时间规范决定控件显示的时间类型有以下几种取值 - Qt::LocalTime显示本地时间。 - Qt::UTC显示协调世界时UTC。 - Qt::OffsetFromUTC显示相对于 UTC 的偏移量时差。 4.2 常用信号 信号说明参数dateChanged(QDate)当 QDateTimeEdit 中的日期部分发生改变时触发该信号。无论是用户手动输入新日期、通过日期选择器更改日期还是通过代码修改日期只要日期发生变化就会触发。QDate 类型代表当前控件中最新的日期值。timeChanged(QTime)当 QDateTimeEdit 中的时间部分发生改变时触发该信号。时间的改变可能是用户手动输入新时间、使用时间调整按钮修改时间或者通过代码修改时间等情况。QTime 类型代表当前控件中最新的时间值。dateTimeChanged(QDateTime)当 QDateTimeEdit 中的日期或者时间任意一个发生改变时触发该信号。也就是说只要日期、时间其中之一有变动或者两者同时变动都会触发此信号。QDateTime 类型代表当前控件中最新的日期和时间组合值。 4.3 例子1计算年龄 在Qt Designer中设置基本框架 使用daysTo()和secsTo()计算相差的天数和秒数。但是daysTo()在 #include widget.h #include ui_widget.h #include QDebugWidget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui-setupUi(this); }Widget::~Widget() {delete ui; }int Widget::monthBetween(const QDateTime start, const QDateTime end) {int startYear start.date().year();int startMonth start.date().month();int startDay start.date().day();int endYear end.date().year();int endMonth end.date().month();int endDay end.date().day();int monthsDiff (endYear*12endMonth) - (startYear*12startMonth); // 计算月份差值if(endDay startDay) {// 如果第二个日期的日小于第一个日期的日说明还未到完整的一个月需要将月数差值减 1。monthsDiff--;}return monthsDiff; }int Widget::yearBetween(const QDateTime start, const QDateTime end) {int startYear start.date().year();int startMonth start.date().month();int startDay start.date().day();int endYear end.date().year();int endMonth end.date().month();int endDay end.date().day();int yearsDiff endYear - startYear;if(endMonth startMonth ||(endMonth startMonth endDay startDay)) {// 比较两个日期的月份和日期如果第二个日期的月份和日期小于第一个日期的月份和日期那么年份差值需要减 1。yearsDiff--;}return yearsDiff; }int Widget::daysBetweenFake(const QDateTime start, const QDateTime end) {int year yearBetween(start, end);int month (monthBetween(start, end)) % 12;// 把开始日期加上相差的年数和月数得到一个临时日期 tempQDateTime tmp start.addYears(year).addMonths(month);return start.daysTo(end) - start.daysTo(tmp); }void Widget::on_pushButton_clicked() {QDateTime d1 ui-dateTimeEdit-dateTime();QDateTime d2 ui-dateTimeEdit_2-dateTime();int secs d1.secsTo(d2);int hour (secs / 3600) % 24;int year yearBetween(d1, d2);int month (monthBetween(d1, d2)) % 12;int days daysBetweenFake(d1, d2); // qDebug() year month days;QString text (QString(两日期相差) QString::number(year)QString(年 QString::number(month))QString(月 QString::number(days))QString(日) QString::number(hour)QString(小时));ui-label-setText(text); }由于Qt内置的daysTo()在计算不足一天时会算作一天所以会有下面的情况 显然不符合常理我们可以自己写一个myDaysTo()具体实现如下 // 我的daysTo(), 不足一天, 不算一天 int Widget::myDaysTo(const QDateTime start, const QDateTime end) {int secs start.secsTo(end);return (secs / 86400); // 一天是86400秒 }这样就正确了 6. QDial QDial表示一个旋钮 6.1 常用属性 属性说明value表示 QDial 持有的当前数值可通过该属性获取或设置 QDial 所代表的值。minimumQDial 允许设置的最小值用户无法将 QDial 的值调整到小于该值。maximumQDial 允许设置的最大值用户无法将 QDial 的值调整到大于该值。singleStep当按下方向键如上下左右键时QDial 的数值改变的步长。例如设置为 1则按一次方向键数值增加或减少 1。pageStep当按下 PageUp 或 PageDown 键时QDial 的数值改变的步长。通常该步长会比 singleStep 大用于快速调整数值。sliderPosition界面上旋钮显示的初始位置即 QDial 初始化时旋钮所在的位置对应的是具体的数值。tracking决定 QDial 的外观是否会跟踪数值变化。默认值为 true一般情况下不需要修改。当设置为 true 时旋钮会随着数值的改变实时移动设置为 false 时旋钮可能会在用户操作结束后才更新位置。wrapping表示是否允许循环调整。若设置为 true当数值超过最大值时会回到最小值继续调整当数值小于最小值时会回到最大值继续调整即调整过程可以 “套圈”。若设置为 false则不允许这种循环调整。notchesVisible控制是否显示刻度线。设置为 true 时QDial 会显示刻度线设置为 false 时刻度线不会显示。notchTarget用于设置刻度线之间的相对位置。该数值越大刻度线越稀疏数值越小刻度线越密集。通过调整该属性可以改变刻度线的显示密度。 6.2 常用信号 信号说明参数valueChanged(int)当 QDial 持有的数值发生改变时触发该信号。数值的改变可能是用户通过鼠标拖动旋钮、按下方向键、PageUp/PageDown 键等操作引起的也可能是通过代码修改 value 属性导致的。int 类型代表 QDial 当前最新的数值。rangeChanged(int, int)当 QDial 的取值范围即 minimum 和 maximum 属性发生变化时触发该信号。范围的改变可以通过代码调用 setMinimum()、setMaximum() 等方法来实现。两个 int 类型的参数第一个参数表示新的最小值第二个参数表示新的最大值。 6.3 例子1调整窗口不透明度 在Qt Designer中设置基本框架 设置槽函数 void Widget::on_dial_valueChanged(int value) {double n (double)ui-dial-value() / 100;setWindowOpacity(n);QString text QString(不透明度) QString::number(value);ui-label-setText(text); }运行结果如下 7. QSlider QSlider表示一个滑动条属性和信号与QDial类似这两个都继承自QAbstractSlider 7.1 常用属性 属性说明value滑动条当前持有的数值可通过编程方式设置或获取反映滑动条所处位置对应的数值。minimum滑动条允许设置的最小值限制了滑动条可到达的最左水平或最上垂直位置对应的数值。maximum滑动条允许设置的最大值限制了滑动条可到达的最右水平或最下垂直位置对应的数值。singleStep当按下方向键时滑动条数值改变的步长。例如设置为 1按一次方向键数值增加或减少 1。pageStep当按下 PageUp 或 PageDown 键时滑动条数值改变的步长通常用于快速调整数值一般比 singleStep 大。sliderPosition滑动条显示的初始位置即滑动条在界面初始化时滑块所处的位置对应着具体的数值。tracking决定滑动条的外观是否会跟踪数值变化。默认值为 true意味着滑块会随着数值的改变实时移动若设置为 false滑块可能在用户操作结束后才更新位置。一般情况下无需修改此属性。orientation用于指定滑动条的方向可设置为水平Qt::Horizontal或垂直Qt::Vertical。invertedAppearance若设置为 true会翻转滑动条的方向。例如水平滑动条正常是从左到右数值增大设置后变为从右到左数值增大垂直滑动条则是从下到上数值增大变为从上到下数值增大。tickPosition确定刻度的位置取值有多种 - QSlider::NoTicks不显示刻度。 - QSlider::TicksAbove水平/ QSlider::TicksLeft垂直刻度显示在滑动条上方水平或左侧垂直。 - QSlider::TicksBelow水平/ QSlider::TicksRight垂直刻度显示在滑动条下方水平或右侧垂直。 - QSlider::TicksBothSides刻度显示在滑动条两侧。tickInterval控制刻度的密集程度指定相邻两个刻度之间的数值间隔。例如设置为 10则每隔 10 个数值显示一个刻度。 7.2 常用信号 信号说明参数valueChanged(int)当 QSlider 的数值发生改变时触发该信号。数值改变可能是用户拖动滑块、使用键盘方向键、按下 PageUp/PageDown 键或者通过代码修改 value 属性等操作引起的。int 类型表示 QSlider 当前的最新数值。rangeChanged(int, int)当 QSlider 的取值范围即 minimum 和 maximum 属性发生变化时触发该信号。范围的改变通常是通过代码调用 setMinimum()、setMaximum() 或 setRange() 方法实现的。两个 int 类型的参数第一个参数表示新的最小值第二个参数表示新的最大值。 7.3 例子1调整窗口大小 在Qt Designer中设置基本框架 设置槽函数 // 设置宽度 void Widget::on_horizontalSlider_valueChanged(int value) {QRect pos geometry();setGeometry(pos.x(), pos.y(), value, pos.height()); }// 设置高度 void Widget::on_verticalSlider_valueChanged(int value) {QRect pos geometry();setGeometry(pos.x(), pos.y(), pos.width(), value); }可以通过滑动条调整窗口大小 7.3 例子2快捷键调整 在Qt Designer中设置基本框架 widget.cpp如下 #include widget.h #include ui_widget.h #include QShortcutWidget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui-setupUi(this);// 设置快捷键QShortcut* s1 new QShortcut(this);QShortcut* s2 new QShortcut(this);s1-setKey(QKeySequence(-));s2-setKey(QKeySequence());// 设置槽函数connect(s1, QShortcut::activated, this, Widget::reduceValue);connect(s2, QShortcut::activated, this, Widget::addValue); }void Widget::addValue() {int value ui-horizontalSlider-value() 5;if(value ui-horizontalSlider-maximum()) return;ui-horizontalSlider-setValue(value); }void Widget::reduceValue() {int value ui-horizontalSlider-value() - 5;if(value ui-horizontalSlider-minimum()) return;ui-horizontalSlider-setValue(value); }Widget::~Widget() {delete ui; }void Widget::on_horizontalSlider_valueChanged(int value) {ui-label-setText(当前value QString::number(value)); }运行结果可以通过-和调整滑动条
http://www.hkea.cn/news/14268084/

相关文章:

  • 网站根目录表示综合购物网站建站
  • 想给公司做个网站怎么做的漳州做网站建设的公司
  • 黑龙江网站建设业务闵行广州网站建设公司
  • 网站要交钱吗织梦服务行业手机网站模板
  • 洛阳网站设计公司wordpress 侧边栏 修改字体大小
  • l5手机网站模板wordpress多个用户发表文章
  • 设置个网站要多少钱芜湖市住房和城乡建设局官网
  • 西乡塘区网站建设邯郸网站建设方案
  • 个人网站网址有哪些宜春市住房和城乡建设局网站
  • 网站导航内链建设搜索引擎中 哪些网站可以获得更好的排名
  • 在哪做网站关键词域名建议网站
  • 电子商务商城网站建设在县城做哪个招聘网站比较赚钱
  • 广州网站建设哪家便宜网站建设零基础好学吗
  • 建站公司 知乎 discuz高端网站
  • 怎么做期货网站旧电脑做php网站服务器
  • 英文网站 常用字体电子相册免费制作
  • 北京网站建设降龙网络html怎么做网站地图
  • 备案网站名称怎么改搜索引擎优化简历
  • 帮企业做网站的公司厦门小程序开发的公司
  • 北京企业网站建设飞沐网站开发公司照片
  • 外贸公司用什么建网站公司网站开发项目管理制度
  • 个人网站建设方法和过程wordpress多站模式
  • 上海网站建设网页苏州市吴江建设局网站
  • 室内设计师之路网站百度做广告多少钱
  • 网站硬件建设公司怎样建设阿里巴巴网站
  • 做网站被骗培训网页
  • 山东建设兵团网站wordpress api 跨域
  • icp备案网站信息查询做论坛网站的元素
  • 搭建一个网站要多少怎么创业做电商
  • 不花钱的网站建设沧州做家装的公司网站