Итак, я пытаюсь немного поэкспериментировать с PyQt5. Я создал базовое c окно с двумя QPushButtons
.
from PyQt5 import QtWidgets
from PyQt5.QtWidgets import QApplication, QMainWindow, QSizePolicy
import sys
class Okno(QMainWindow):
def __init__(self):
super(Okno, self).__init__()
self.setGeometry(500, 500, 900, 500) # window size setGeometry(xpos, ypos, w, h)
# self.setFixedSize(900, 500) # fix window position
self.setWindowTitle("My window")
self.label = QtWidgets.QLabel(self)
self.button1 = QtWidgets.QPushButton(self)
self.button2 = QtWidgets.QPushButton(self)
self.iniUI()
# Buttons
def iniUI(self):
self.button1.setText("Open file")
self.button1.move(75, 450)
self.button1.setMinimumWidth(150)
self.button1.clicked.connect(Button_events.open_file) # add (connect) button event
self.button2.setText("Exit")
self.button2.move(750, 450)
self.button2.clicked.connect(exit)
# Button events
class Button_events(QMainWindow):
def open_file(self):
print("Open file")
# Main method
def window():
app = QApplication(sys.argv)
okno = Okno()
okno.show()
sys.exit(app.exec_())
window()
Я установил положение кнопки по абсолютным координатам. Когда я изменяю размер My Window
, кнопка просто сохраняет свои абсолютные координаты.
Как я могу прикрепить координаты кнопки к My Window
, чтобы при масштабировании окна кнопка двигалась внутри.
Можно ли установить минимальный размер My Window
относительно минимального размера QPushButtons
(когда кнопки не подходят My Window
, его нельзя отрегулировать меньше)?
Вот простой экран того, чего я пытаюсь достичь (оригинальные кнопки будут разрезаны пополам, они исчезнут, если My Window
станет меньше):
Спасибо.