3 回答

TA貢獻1841條經驗 獲得超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發出信號。

TA貢獻1859條經驗 獲得超6個贊
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。
- 3 回答
- 0 關注
- 190 瀏覽
添加回答
舉報