首页| 论坛| 消息

标题:为什么无法在构造函数中设置Qspinbox的数值上限?
作者:runtimeerror
日期:2023-06-01 17:13
内容:

qt版本6.6.0.请大佬们回答一下啊.


#1 [XChinux 06-01 18:19]
这无所谓啊,你创建后调用setMaximum(int max)就行了吧。
#2 [realfan 06-02 09:24]
一定要在构造时指定上下限,就写个子类,继承自QSpinBox,加个满足你需求的构造函数,比如
class MySpinBox : public QSpinBox {
Q_OBJECT
public:
using QSpinBox::QSpinBox;
MySpinBox(int min, int max, QWidget *parent = nullptr) : QSpinBox(parent) {
setRange(min, max);
}

};
#3 回 XChinux 的帖子 [runtimeerror 06-02 20:01]
XChinux:这无所谓啊,你创建后调用setMaximum(int max)就行了吧。 (2023-06-01 18:19) 
在页面构造函数中可以调用ui->QSpinBox->setMaximum,但是设置是无效的.
#4 回 realfan 的帖子 [runtimeerror 06-02 20:02]
realfan:一定要在构造时指定上下限,就写个子类,继承自QSpinBox,加个满足你需求的构造函数,比如
class MySpinBox : public QSpinBox {
    Q_OBJECT
public:
    using QSpinBox::QSpinBox;
....... (2023-06-02 09:24) 
为什么会这样啊,能讲讲原因吗?
#5 回 runtimeerror 的帖子 [realfan 06-03 16:27]
runtimeerror:
在页面构造函数中可以调用ui->QSpinBox->setMaximum,但是设置是无效的.
Dialog::Dialog(QWidget *parent)
: QDialog(parent)
, ui(new Ui::Dialog)
{
ui->setupUi(this);
ui->spinBox->setMaximum(15);
}你确定你的对象名叫QSpinBox?

回复 发表
主题 版块