2017-01-10 11 views
0

私はPySideでGUIを作ることを学んでいます。Pyside GUI関数の上書きの問題

  • QHBoxLayout()内のボタンのサイズを変更するにはどうすればよいですか?私はbutton_1.setFixedWidth()とbutton_1.setFixedHeight()を試してみると、これらのボタンはスケーラブルではありません。 button_1.move()も機能しません。

  • また、QlabelとQLineEditを持つ関数angles()を作成しました。プログラムを実行すると、ボタン関数はGUIの右隅にボタンのみを表示するangle関数を上書きします。

  • QLineEditの長さを変更する方法と、ウィンドウ全体を拡大しないようにする方法はありますか?

    import sys 
    from PySide.QtGui import * 
    from PySide.QtCore import * 
    
    class MainWindow(QMainWindow): 
    #GUI Layout 
        def __init__(self,parent = None): 
        super(MainWindow, self).__init__(parent) 
    
        widget = QWidget() 
        self.setCentralWidget(widget) 
        self.setWindowTitle("Example") 
        self.setGeometry(400, 100, 1500, 800) 
        self.angles() 
        self.makebuttons() 
    
        def angles(self): 
         central_widget = QWidget() 
         self.setCentralWidget(central_widget) 
    
         Rotation = QLabel('Rotation:') 
         Tilt = QLabel('Tilt:') 
    
         RoatationEdit = QLineEdit() 
         TiltEdit = QLineEdit() 
    
         grid = QGridLayout() 
         grid.setSpacing(2) 
    
         grid.addWidget(Rotation,1,0) 
         grid.addWidget(RoatationEdit, 1, 1) 
         grid.addWidget(Tilt,2,0) 
         grid.addWidget(TiltEdit, 2, 1) 
         central_widget.setLayout(grid) 
    
        def makebuttons(self): 
         central_widget = QWidget() 
         self.setCentralWidget(central_widget) 
    
         hbox = QHBoxLayout() 
         button_1 = QPushButton("Button 1",self) 
         button_1.move(0,30) 
         hbox.addStretch(1) 
         button_2 = QPushButton("Button 2",self) 
         hbox.addStretch(1) 
         hbox.addWidget(button_1) 
         hbox.addWidget(button_2) 
    
         vbox = QVBoxLayout() 
         vbox.addStretch(1) 
         vbox.addLayout(hbox) 
    
         central_widget.setLayout(vbox) 
        # central_widget.addLayout(vbox) 
    
    
    if __name__ == '__main__': 
    
        import sys 
        app = QApplication(sys.argv) 
        window = MainWindow() 
        window.show() 
        sys.exit(app.exec_()) 
    
+0

makebuttons関数は、上記のすべてを削除することによって別のcentralWidgetを作成するので、あなたが角度で行ったことを見ることができません。 – eyllanesc

+0

サイズを変更したい場合:button_1.setFixedSize(あなたのスケール)* button_1.size() – eyllanesc

+0

QLineEditの幅を変更するには{あなたのQlineEdit} .setFixedWidth(あなたの幅)を使用してください – eyllanesc

答えて

0
  • あなたが使用するサイズを変更する場合:button_1.setFixedSize({your scale}*button_1.size())

  • makebuttons機能は、上記のすべてを削除して、別のcentralWidgetを作成しますので、あなたは、あなたが角度で何をしたかは表示されません。

  • は、私はそれは些細なプログラムの場合でも、私のPyside GUIのすべての作業のためのQt Designerのを使用QLineEdit使用{your QlineEdit} .setFixedWidth({your width})

+0

ありがとうございます。ボタンのサイズを変更するコードを試してみましたが、エラーが発生しました - NotImplementedError:逆の演算子が実装されていません。 –

+0

@RaghavendraMGあなたが正確に配置したことはありますか? – eyllanesc

+0

button_1の宣言の下に行を配置しました。私は2.5のスケールを追加しました。 –

0

の幅を変更するには。ドラッグ&ドロップWYSISYGツールだけではありません。あなたの例のプッシュボタンのようなものについては、ボタンのサイジングパラメータとレイアウトを設定する機能を含む設定可能なプロパティのリストが表示されます。

だから、私の解決策はpythonにコードを変換するpyside-uicツールを使用する前に、そこにレイアウトを変更し、その後QTデザイナーであなたのGUIを作成することです。次に、得られたpythonモジュールをコードにインポートします。そこから、例えば、プログラムの過程でGUIの外観を変更する必要がある場合など、後でコード内で必要なものを再構成することができます。

関連する問題