正如标题所述,我在尝试将窗体布局设置为窗口时遇到问题 - 我不确定它的确含义是“已经有布局”,因为我没有明确地称为setLayout,所以是有一些应用于窗口的默认布局?或者它与我的超级电话有关?
搜索没有给我一个正确的答案(至少不是我的情况),所以我想我会发帖。
import sys
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
#Window class
class Window(QMainWindow):
def __init__(self): # constructor for Window (passes "self" -aka Window- to __init__ to initialize it)
super(Window, self).__init__() #inherits from QMainWindow
self.setGeometry(50,50,800,600) #Set window dimensions
self.setWindowTitle("Google Music Playlist Transfer") #Set window title
self.setWindowIcon(QIcon('gmusic.png')) #Set window icon
self.home()
def home(self):
#Set email field
email = QLineEdit()
email.setMaxLength(110)
email.setAlignment(Qt.AlignLeft)
#Set password field
pwd = QLineEdit()
pwd.setAlignment(Qt.AlignLeft)
pwd.setEchoMode(QLineEdit.Password)
#Form layout
layout = QFormLayout()
layout.addRow("Email: ", email)
layout.addRow("Password: ", pwd)
#Login button
login_btn = QPushButton("Login", self) #login button
login_btn.clicked.connect(QCoreApplication.instance().quit) #tell button what to do
login_btn.resize(100, 100)
login_btn.move(100,100)
self.setLayout(layout)
self.show() #Show window
答案 0 :(得分:1)
我找到了未来路人的问题(虽然我不确切知道为什么会出现这个问题,也许有人可以在评论中对其进行扩展) - 我是继承QWindow而不是QWidget,显然这是设置布局会引起某种问题 - 再次,不确定原因,但将其更改为QWidget确实解决了问题!