私はPySideに基づいてGUIを使って作業しています。私はQLineEdit
の(1行の)テキストボックスを作成し、入力はちょうど4文字の長さです。既に制限が適用されています。QLineEditのテキストボックスの幅を最大4文字までに制限する方法を教えてください。
問題は、テキストボックスよりも広いテキストボックスがあることです(テキストの後に未使用のスペースがたくさんあります)。テキストボックスの長さを短くするにはどうすればよいですか?
これは、Designerでテキストボックスを設計することで簡単に修正できることです。ただし、この特定のテキストボックスはデザイナーで作成されません。
余分な8ピクセルは '2 * d-> horizontalMargin'とフレームから来ています。不思議な 'horizontalMargin'値と' verticalMargin'値は[qlineedit_p.cpp]にある静的定数です(https://code.qt.io/cgit/qt/qt.git/tree/src/gui/widgets/qlineedit_p.cpp)。 #n57)、それぞれ「2」と「1」に設定されています。フレーム値はスタイルで計算されます。したがって、2 * 2(* horizonal margin *)と2 * 2(* frame *)は8になります。定数を除いて、私はすべての 'sizeHint'コードをpysideに移植し、計算を検証することができました。 – ekhumoro