我正在学习用PySide制作GUI。你知道吗
如何在QHBoxLayout()中重新调整按钮的大小?我尝试了button_1.setFixedWidth()和button_1.setFixedHeight(),它们使按钮不可伸缩。按钮\u 1.move()也不起作用。
我还创建了一个函数angles(),它有Qlabel和QLineEdit,当我运行程序时,button函数重写angles函数,只在GUI的右角显示按钮。
如何调整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_())
如果要调整大小,请使用:
button_1.setFixedSize({your scale}*button_1.size())
makebuttons函数通过删除上面的所有内容来创建另一个centralWidget,这样您就看不到您对角度做了什么。
要更改
QLineEdit
的宽度,请使用{your QlineEdit} .setFixedWidth({your width})
我使用Qt Designer来完成所有的PysideGUI工作,即使它是一个相当简单的程序。它不仅仅是一个拖放WYSISYG工具。对于示例中的按钮,您将看到一个可配置属性的列表,包括按钮的大小参数以及配置布局的能力。你知道吗
因此,我的解决方案是在QT Designer中创建GUI,然后在使用
pyside-uic
工具将代码转换为python
之前修改那里的布局。然后将生成的python
模块导入到您的代码中。在那里,您仍然可以在以后的代码中重新配置您想要的任何东西,例如,如果您需要在程序运行期间更改GUI的外观。你知道吗相关问题 更多 >
编程相关推荐