2017-01-10 9 views
0

Я учусь сделать GUI в PySide.Функция Pyside GUI перезаписывает проблему

  • Как изменить размер кнопок внутри QHBoxLayout()? Я попробовал button_1.setFixedWidth() и button_1.setFixedHeight(), что делает кнопки не масштабируемыми. button_1.move() также не работает.

  • Также я создал функции углов(), которые имеют Qlabel и QLineEdit, когда я запускаю программу, функция кнопки переписывает функцию углов, чтобы отображать только кнопки в правом углу графического интерфейса.

  • И как изменить размер 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 создает еще один центральный виджет, удаляя все вышеперечисленное, поэтому вы не увидите, что вы сделали с углами. – eyllanesc

+0

Если вы хотите изменить размер, используйте: button_1.setFixedSize ({your scale} * button_1.size()) – eyllanesc

+0

Чтобы изменить ширину QLineEdit, используйте {ваш QlineEdit} .setFixedWidth ({your width}) – eyllanesc

ответ

0
  • Если вы хотите изменить использование: button_1.setFixedSize({your scale}*button_1.size())

  • Функция makebuttons создает другую centralWidget, удалив все выше, так что вы не будете видеть, что вы сделали с углами.

  • Чтобы изменить ширину QLineEdit использования {your QlineEdit} .setFixedWidth({your width})

+0

Благодарим вас за ответ. Я попробовал свой код для изменения размера кнопок, и я получаю сообщение об ошибке - NotImplementedError: обратный оператор не реализован. –

+0

@ RaghavendraMG Что вы поставили точно? – eyllanesc

+0

Я разместил строку под объявлением кнопки_1. Я добавил шкалу в 2,5. –

0

Я использую Qt Designer для всех моих PySide GUI работы, даже если это довольно тривиальная программа. Это намного больше, чем просто инструмент WYSISYG с перетаскиванием. Для таких вещей, как кнопки в вашем примере, вам будет представлен список настраиваемых свойств, включая параметры калибровки кнопки, а также возможность настройки макета.

Итак, мое решение создать графический интерфейс в QT Designer затем изменить расположение там перед использованием инструмента pyside-uic для преобразования кода в python. Затем просто импортируйте полученный модуль python в свой код. Оттуда вы все равно можете переконфигурировать все, что захотите, в своем коде, если, например, вам нужно изменить внешний вид вашего графического интерфейса в ходе вашей программы.

 Смежные вопросы

  • Нет связанных вопросов^_^