這個想法是將QWidget與一個變量連接起來,這樣當一個小部件上的文本發生變化時,它也會在變量中發生變化。將QWidget映射到變量
而且這樣做只有一個這樣的
WidgetMapper::connect(ui->lineEdit, SIGNAL(textChanged(QString)), someClass.var);
線,將例如QLineEdit
具有可變連接。
1)這將在lineEdit
2)當lineEdit觸發一個textChanged(QString)
信號顯示var
- WidgetMapper將其轉換的QString校正映射類型與字符串流,並將其寫入var
。
但我真的不知道模板,以及不知道是否有可能。 我不認爲每種類型都可以使用一個WidgetMapper,所以我也嘗試爲每種類型創建不同的實例(WidgetMapper<int> mapper;
),然後爲每個QLiteEdit編寫setter和onTextChangedSlots,但仍然無法弄清楚如何製作它也可以工作(轉換器部分仍然無法找出正確的類型)。
WidgetMapper使用QSignalMapper到信號映射到QWidget的,它工作得很好,我有麻煩的一部分 - 被轉換的QString到模板變量中。
那麼有可能嗎?如果是的話,我怎麼能這樣做?或者也許已經有解決這個問題的辦法了? (以某種方式使用QDataWidgetMapper
與包含變量的類可能?)
爲什麼不使用'QLineEdit :: value()'並在需要時轉換返回的值? –
@RomhaKorev,因爲它們有很多,並且在編輯之後變更應該在變量中更改值。所以我想避免寫每個QLineEdit onTextChanged插槽將其文本()轉換爲變量 – Stals