2016-08-22 1 views
0

ダイアログを起動する前に、テーブルの日付値をダイアログのQDateEditにコピーしています。これを行うと、日付形式がダイアログボックスの "yyyy-MM-dd"から "dd/MM/yy"に変わります。これはLinuxではOSxではなく発生します。 マイコード:私はpyqt4を使用していますpyqt4 LinuxでQDateEditの値を設定する

class BuildRecordEditorDialog(QDialog, Ui_brePartEditDialog): 
    def __init__(self): 
     QDialog.__init__((self)) 
     self.setupUi(self) 
     self.breDueDateEditor.setDisplayFormat('yyyy-MM-dd') 
     self.brePickDateEditor.setDisplayFormat('yyyy-MM-dd') 

# In another Module 

     buildRecordEditDialog = BuildRecordEditorDialog() # Create an edit dialog 

     brUi = buildRecordEditDialog 
     brUi.setupUi(buildRecordEditDialog) 
     brUi.breDeleteLabel.hide() # This is not a delete so hide the delete message 
     brUi.brePartNoEditor.setText(selectedPart[1].text()) # Pre-load defaults from selected data 
     brUi.breDescriptionEditor.setText(selectedPart[2].text()) 
     brUi.breQuantityEditor.setText(selectedPart[3].text()) 
     brUi.breDueDateEditor.setDate(QtCore.QDate.fromString(selectedPart[4].text(), "yyyy-MM-dd")) 
     brUi.brePickDateEditor.setDate(QtCore.QDate.fromString(selectedPart[5].text(), "yyyy-MM-dd")) 

、Pythonの3.5.4、Ubuntu Linuxの私は時間のためのロケール設定を変更した

:LC_TIME = "en_CA.UTF-8" が、それは助けにはなりません。

副注釈として、brUi.breDeleteLabel.hide()設定は尊重されません。

答えて

0

今後の予定はありませんので、私は回避策を講じました。私は、ダイアログから返された日付を、悪いフォーマットから私が望むものに変換してから処理しました。ユーザーは別の形式を参照しますが、データピッカーを使用してデータを入力するので、すべての機能が実行されます。

関連する問題