From e3531649735e6c43ee608d32092ab8e9a63c275c Mon Sep 17 00:00:00 2001 From: yangjiaxuan <171295266@qq.com> Date: Fri, 9 Jun 2023 15:26:44 +0800 Subject: [PATCH] =?UTF-8?q?sane=E9=A9=B1=E5=8A=A8=E5=BE=AE=E8=B0=83?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E7=95=8C=E9=9D=A2slider?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/saneui/hg_settingdialog.cpp | 21 +++++++++++++++++++++ modules/saneui/hg_settingdialog.h | 1 + 2 files changed, 22 insertions(+) diff --git a/modules/saneui/hg_settingdialog.cpp b/modules/saneui/hg_settingdialog.cpp index f16ed153..c2bb8d61 100644 --- a/modules/saneui/hg_settingdialog.cpp +++ b/modules/saneui/hg_settingdialog.cpp @@ -441,6 +441,13 @@ void hg_settingdialog::createUI() widget_slider_spin->setMinimumWidth(300); QSlider* sliderCreation = new QSlider(widget_slider_spin); + + if (0 == strcmp(opt->name, SANE_STD_OPT_NAME_THRESHOLD) || 0 == strcmp(opt->name, SANE_STD_OPT_NAME_ANTI_NOISE_LEVEL) || + 0 == strcmp(opt->name, SANE_STD_OPT_NAME_MARGIN)) + { + sliderCreation->installEventFilter(this); + } + sliderCreation->setOrientation(Qt::Horizontal); sliderCreation->setMinimumWidth(120); sliderCreation->setRange(opt->constraint.range->min, opt->constraint.range->max); @@ -706,6 +713,7 @@ void hg_settingdialog::createUI() } //for + hlayoutOkAndCancel->insertWidget(0, buttonAbout, 0, Qt::AlignRight); updateUIStatus(); scrollArea->setWidget(widget); @@ -1576,6 +1584,19 @@ void hg_settingdialog::closeEvent(QCloseEvent* e) e->accept(); } +bool hg_settingdialog::eventFilter(QObject *target, QEvent *event) +{ + if (target->findChild("QSlider")); + { + if (event->type() == QEvent::Wheel) + { + return true; + } + } + + return QDialog::eventFilter(target, event); +} + bool hg_settingdialog::createMsgBoxUi(bool add, std::string &name) { QString text(tr("Please select to overwrite the original configuration:")); diff --git a/modules/saneui/hg_settingdialog.h b/modules/saneui/hg_settingdialog.h index 8d632512..0405a6c0 100644 --- a/modules/saneui/hg_settingdialog.h +++ b/modules/saneui/hg_settingdialog.h @@ -78,6 +78,7 @@ private: const void* find_option_description(const std::string& title, int* id); // return const SANE_Option_Descriptor* pointer virtual void closeEvent(QCloseEvent* e); + virtual bool eventFilter(QObject *target, QEvent *event) override; bool createMsgBoxUi(bool add, std::string &name); std::string getCurUiShemeName(std::string name); void save_scheme(void);