最初のコンボボックスは通貨Aの数字を保持し、2番目のコンボボックスは通貨Bの同じ金額を保持します。私が望むもの:1番目の数字を入力すると、2番目の数字は自動的に変換された数字他の通貨で、逆も同様です。 私はUbuntu 16.04、Python 3.5.1、Qt 4.8.7を使用しています。 2 QComboBoxのQt Designerの コードを使用して作成されていますQDoubleSpinBoxを2台ずつセットアップするにはどうすればいいですか?
@pyqtSignature("double")
def on_dspPuAchEur_valueChanged(self, double):
""" updaye prAchatDT according to prAchatEur"""
self.dspPuAchDT.setValue(2.2*self.dspPuAchEur.value())
@pyqtSignature("double")
def on_dspPuAchDT_valueChanged(self, double):
""" update prAchatEur according to prAchatDT"""
self.dspPuAchEur.setValue(self.dspPuAchDT.value()/2.2)
2.2は、将来的には、変数になり換算係数です。 2コンボボックスの最小値は0、最大値は50000(実際の最大値をはるかに上回ります)、ステップは1.0です。 dspPuAchEurからdspPuAchDTまでうまく動作しますが、逆の意味では機能しません。ステップは1の代わりに0.99です。手動でフィールドを編集しようとすると、表示された数字は今入力した数字ではありません。それは常にマイナス1です(私が '5'キーを押すと、私は '4'を得ます)。
誰かがこの動作について考えていますか?ありがとう。
を信号を遮断したときにコンボが更新される間、それは正常に動作します。そして、実際には丸めに問題があるようです。換算係数が整数であれば問題ありません。 – Grumeau
1つを忘れました: 多くのtkanks、Martin – Grumeau