我是Python和PyQT的初学者。我尝试使用QGridLayout来制作GUI,但是当我放置一个图像时,我遇到了一些问题。这就是没有图像时的样子:
无图像图片
对我来说不错。但是,当我尝试在右上角添加图像时,我得到:
带图像的图片
显然这不是我想要的(我希望这个小部件的大小与第一张图像的大小相同,即与原始标题大小大致相同)。代码有点长,所以我只发布了部分网格:
wid = QWidget(self)
self.setCentralWidget(wid)
grid = QGridLayout()
title = QLabel(self)
newfont = QFont("Times", 20, QFont.Bold)
title.setText('Interfaz Gráfica PIC18F4550')
title.setFont(newfont)
title.setAlignment(Qt.AlignCenter)
pic = QLabel(self)
pic.setPixmap(QtGui.QPixmap('escudo.gif'))
m = PlotCanvas(self, width=5, height=4)
connect_btn = QPushButton('Conectar', self)
connect_btn.setIcon(QIcon('lautaro.jpeg'))
connect_btn.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding)
exit_btn = QPushButton('Salir', self)
exit_btn.setIcon(QIcon('lautaro.jpeg'))
exit_btn.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding)
disconnect_btn = QPushButton('Desconectar', self)
disconnect_btn.setIcon(QIcon('lautaro.jpeg'))
disconnect_btn.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding)
frequency_btn = QPushButton('Frecuencia', self)
frequency_btn.setIcon(QIcon('lautaro.jpeg'))
frequency_btn.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding)
duty_cycle_btn = QPushButton('Duty Cycle', self)
duty_cycle_btn.setIcon(QIcon('lautaro.jpeg'))
duty_cycle_btn.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding)
grid.addWidget(connect_btn, 1, 0, 2, 1)
grid.addWidget(disconnect_btn, 3, 0, 2 ,1)
grid.addWidget(exit_btn, 5, 0, 2, 1)
grid.addWidget(m, 1, 1, 6, 1)
grid.addWidget(frequency_btn, 1, 2, 3, 1)
grid.addWidget(duty_cycle_btn, 4, 2, 3, 1)
grid.addWidget(title, 0, 1)
grid.addWidget(pic, 0, 2)
wid.setLayout(grid)
所以,问题是:如何设置控件大小?显然,在这种情况下,与标题和标签相关的小部件要比按钮和图形大得多。在
如果希望图像始终具有相同的大小,可以按如下方式设置固定的宽度和高度:
如果希望图像具有最大大小,但如果窗口变小,则应调整大小并变小,则可以使用以下方法:
^{pr2}$相关问题 更多 >
编程相关推荐