Python PyQt QVBoxLayout在底部添加元素
我是学习Python/PyQt的初学者。 我试图将Python PyQt QVBoxLayout在底部添加元素,python,pyqt4,Python,Pyqt4,我是学习Python/PyQt的初学者。 我试图将QLabel和QLineEdits添加到QVBoxLayout中,但是所有小部件都添加到屏幕底部 我尝试过使用vbox.setAlignment(Qt.AlignTop),但这似乎也不起作用 任何指点都很感激 main.py import sys import os from PyQt4.QtGui import * from PyQt4.QtCore import * app = QApplication(sys.argv) class m
QLabel
和QLineEdit
s添加到QVBoxLayout
中,但是所有小部件都添加到屏幕底部
我尝试过使用vbox.setAlignment(Qt.AlignTop)
,但这似乎也不起作用
任何指点都很感激
main.py
import sys
import os
from PyQt4.QtGui import *
from PyQt4.QtCore import *
app = QApplication(sys.argv)
class m_Window(QWidget):
def __init__(self, scale = 1):
QWidget.__init__(self)
self.initUI(scale)
def initUI(self, scale):
#initialize window sizes
win_width = app.desktop().screenGeometry().width() * scale
win_height = app.desktop().screenGeometry().height() * scale
#init widgets
project_name_lbl = QLabel('<b>Project Name</b>', self)
project_name_inp = QLineEdit(self)
frameworks = ['Skeleton CSS','Bootstrap','UIKit','Foundation','JQuery']
framework_cmbx = QComboBox(self)
framework_cmbx.addItems(frameworks)
#add items to layout
vbox = QVBoxLayout()
vbox.addStretch()
vbox.addWidget(project_name_lbl)
vbox.addWidget(project_name_inp)
vbox.addWidget(framework_cmbx)
#self settings
self.setLayout(vbox)
self.setWindowTitle('Website Template Maker')
self.setMinimumSize(QSize(win_width, win_height))
def run(self):
self.show()
sys.exit(app.exec_())
m_Window(.5).run()
导入系统
导入操作系统
从PyQt4.QtGui导入*
从PyQt4.QtCore导入*
app=QApplication(sys.argv)
类m_窗口(QWidget):
def _;初始(自身,比例=1):
QWidget.\uuuuu初始化(自)
self.initUI(比例)
def初始界面(自身、比例):
#初始化窗口大小
win_width=app.desktop().screenGeometry().width()*缩放
win_height=app.desktop().screenGeometry().height()*比例
#初始化小部件
项目名称=QLabel('project name',self)
项目名称inp=QLineEdit(自)
框架=['Skeleton CSS'、'Bootstrap'、'UIKit'、'Foundation'、'JQuery']
框架_cmbx=QCOMBOX(自身)
框架\u cmbx.附加项(框架)
#将项目添加到布局中
vbox=QVBoxLayout()
vbox.addStretch()
vbox.addWidget(项目名称)
vbox.addWidget(项目名称输入)
vbox.addWidget(框架_cmbx)
#自我设置
self.setLayout(vbox)
self.setWindowTitle('网站模板生成器')
self.setMinimumSize(QSize(win_宽度、win_高度))
def运行(自):
self.show()
sys.exit(app.exec_())
m_窗口(.5).run()
图片:
移动线路
vbox.addStretch()
添加小部件后,要执行以下操作:
vbox = QVBoxLayout()
vbox.addWidget(project_name_lbl)
vbox.addWidget(project_name_inp)
vbox.addWidget(framework_cmbx)
vbox.addStretch()
这将使布局向上而不是向下推动小部件