C++ GUI Qt的建立连接,信号和槽
QObject::connect(spinBox,SIGNAL(valueChanged(int)),slider,SLOT(setValue(int)));spinbo...
QObject::connect(spinBox,SIGNAL(valueChanged(int)),slider,SLOT(setValue(int)));
spinbox是QSpinBox的一个指针,slider是QSlider的一个指针,它们之前都初始化过了.请问,如果spinBox微调框发生值的变化,slider滑块又是如何知道spinBox的值呢? 展开
spinbox是QSpinBox的一个指针,slider是QSlider的一个指针,它们之前都初始化过了.请问,如果spinBox微调框发生值的变化,slider滑块又是如何知道spinBox的值呢? 展开
3个回答
展开全部
你上上面已经用了QObject::connect(spinBox,SIGNAL(valueChanged(int)),slider,SLOT(setValue(int)));它就可以让spinBox和slider建立连接啊,当spinBox的值改变的时候slider的值也会随之改变,其实valueChanged(int)是一个信号函数,你也可以自己发出一个信号,比如你可以让spinBox发出一个valueChanged(int)信号,这样slider的值也会改变,像这样emit spinBox->spinBox(5);你会看到slider的值也改变了。这是因为你让它们建立了连接(用了QObject::connect(spinBox,SIGNAL(valueChanged(int)),slider,SLOT(setValue(int)));)
你自己也可以在头里建立一个信号函数,自己设置信号,用emit发出信号。
你自己也可以在头里建立一个信号函数,自己设置信号,用emit发出信号。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void QSpinBox::valueChanged ( int i ) [signal]
This signal is emitted whenever the spin box's value is changed. The new value's integer value is passed in i.
当spin box的值发生改变时,这个信号将被发送。spin box的最新值将通过参数i传递。
value : int
This property holds the slider's current value.
The slider forces the value to be within the legal range: minimum <= value <= maximum.
Changing the value also changes the sliderPosition.
这个属性为slider的当前值,slider将强制该值在最小值和最大值之间的合法范围内。slider的滑动块位置将与这个值的改变而同步改变。
Access functions:
int value () const
void setValue ( int )
Notifier signal:
通知信号:
void valueChanged ( int value )
设置范围可以使用 setRange ( int min, int max )
设置步调可以使用 setSingleStep ( int )
PS: The Best Way to learn QT is assistant。
This signal is emitted whenever the spin box's value is changed. The new value's integer value is passed in i.
当spin box的值发生改变时,这个信号将被发送。spin box的最新值将通过参数i传递。
value : int
This property holds the slider's current value.
The slider forces the value to be within the legal range: minimum <= value <= maximum.
Changing the value also changes the sliderPosition.
这个属性为slider的当前值,slider将强制该值在最小值和最大值之间的合法范围内。slider的滑动块位置将与这个值的改变而同步改变。
Access functions:
int value () const
void setValue ( int )
Notifier signal:
通知信号:
void valueChanged ( int value )
设置范围可以使用 setRange ( int min, int max )
设置步调可以使用 setSingleStep ( int )
PS: The Best Way to learn QT is assistant。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
产生 QSpinBox::valueChanged 信号后, 会自动调用相连的槽 QSlider::setValue, 通过参数传递值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询