问题描述
我创建了一个非常简单的登录 GUI,一旦您成功登录,主页就会加载,但出于某种原因,一旦点击,所有按钮周围都会出现这样的边框:
恼人的边界:
原始版本:
为了加载主页,我基本上隐藏了所有登录小部件并创建了主页小部件。
import sys
from PyQt5.QtWidgets import QApplication,QWidget
from PyQt5 import QtGui,QtCore,QtWidgets
# ----------------------------------------------------
#variables
logInWidgets = []
# ----------------------------------------------------
def setLogInData(username,password,label):
if username == password and username == "a":
print("Yay")
label.hide()
for i in logInWidgets:
i.hide()
loadMainPage()
else:
label.show()
# ----------------------------------------------------
def logInWindow():
LogInFrame = QtWidgets.qframe(window)
LogInFrame.setGeometry(0,1000,600)
LogInFrame.setStyleSheet(
"background: none;"
"border: 0px solid;"
"background-color: rgb(0,20,50);"
)
logInWidgets.append(LogInFrame)
MainLIFrame = QtWidgets.qframe(LogInFrame)
# MainLIFrame.setGeometry(250,145,500,330)
MainLIFrame.setGeometry(250,335)
MainLIFrame.setStyleSheet(
"border: 1px solid;"
"border-color: rgb(208,208,208);"
"border-radius: 20px;"
"background-color: rgb(255,75,20);"
)
logInWidgets.append(MainLIFrame)
LIText = QtWidgets.QLabel(MainLIFrame)
LIText.setGeometry(190,1,120,59)
LIText.setStyleSheet(
"background: none;"
"border: 0px solid;"
"font: 16pt \'Trebuchet MS\';"
"color: rgb(255,255,255);"
)
LIText.setText("Log In")
LIText.setAlignment(QtCore.Qt.AlignCenter)
logInWidgets.append(LIText)
LIInsideFrame = QtWidgets.qframe(MainLIFrame)
LIInsideFrame.setGeometry(30,60,440,240)
LIInsideFrame.setStyleSheet(
"background: none;"
"border: 1px solid;"
"border-color: rgb(208,208);"
"border-radius: 20px;"
)
logInWidgets.append(LIInsideFrame)
UsernameLabel = QtWidgets.QLabel(LIInsideFrame)
UsernameLabel.setGeometry(50,40,100,40)
UsernameLabel.setStyleSheet(
"border: 0px solid;"
"background: none;"
"font: 14pt \'Trebuchet MS\';"
"color: rgb(255,255);"
)
UsernameLabel.setText("Username")
UsernameLabel.setAlignment(QtCore.Qt.AlignCenter)
logInWidgets.append(UsernameLabel)
UsernameLE = QtWidgets.QLineEdit(LIInsideFrame)
UsernameLE.setGeometry(210,45,180,30)
UsernameLE.setStyleSheet(
"border-radius: 15px;"
"padding-left: 6px;"
"padding-right: 6px;"
"font: 12pt \'Times New Roman\';"
)
logInWidgets.append(UsernameLE)
PasswordLabel = QtWidgets.QLabel(LIInsideFrame)
PasswordLabel.setGeometry(50,105,40)
PasswordLabel.setStyleSheet(
"border: 0px solid;"
"background: none;"
"font: 14pt \'Trebuchet MS\';"
"color: rgb(255,255);"
)
PasswordLabel.setText("Password")
PasswordLabel.setAlignment(QtCore.Qt.AlignCenter)
logInWidgets.append(PasswordLabel)
PasswordLE = QtWidgets.QLineEdit(LIInsideFrame)
PasswordLE.setGeometry(210,110,30)
PasswordLE.setStyleSheet(
"border-radius: 15px;"
"padding-left: 6px;"
"padding-right: 6px;"
"font: 12pt \'Times New Roman\';"
)
PasswordLE.setEchoMode(QtWidgets.QLineEdit.Password)
logInWidgets.append(PasswordLE)
SignUpButton = QtWidgets.QPushButton(LIInsideFrame)
SignUpButton.setGeometry(65,40)
SignUpButton.setStyleSheet(
"QPushButton {"
"font: 13pt \'Trebuchet MS\';"
"color: rgb(255,255);"
"border: 0px solid;"
"background-color: rgb(45,227,142);"
"border-radius: 20px;"
"background-color: qlineargradient(spread:pad,x1:0,y1:0,x2:1,y2:1,stop:0 rgba(128,147,255),stop:1 rgba(203,131,255));"
"}"
"\n"
"QPushButton:hover {"
"background-color: qlineargradient(spread:pad,205),205));"
"}"
"\n"
"QPushButton:pressed {"
"background-color: qlineargradient(spread:pad,178),178));"
"}"
)
SignUpButton.setText("Sign Up")
logInWidgets.append(SignUpButton)
ForgotPasswordButton = QtWidgets.QPushButton(LIInsideFrame)
ForgotPasswordButton.setGeometry(175,200,40)
ForgotPasswordButton.setStyleSheet(
"QPushButton {"
"font: 13pt \'Trebuchet MS\';"
"color: rgb(255,178));"
"}"
)
ForgotPasswordButton.setText("Forgot your password?")
logInWidgets.append(ForgotPasswordButton)
LIResult = QtWidgets.QLabel(MainLIFrame)
LIResult.setGeometry(10,300,480,34)
LIResult.setStyleSheet(
"border: 0px solid;"
"background: none;"
# "background-color: rgb(0,33,68);"
"font: 12pt \'Times New Roman\';"
# "font-weight: bold;"
"color: rgb(125,0);"
)
LIResult.setText("The entered log in info is incorrect")
LIResult.setAlignment(QtCore.Qt.AlignCenter)
LIResult.hide()
logInWidgets.append(LIResult)
UsernameLE.returnpressed.connect(lambda: setLogInData(UsernameLE.text(),PasswordLE.text(),LIResult))
PasswordLE.returnpressed.connect(lambda: setLogInData(UsernameLE.text(),LIResult))
# ----------------------------------------------------
def loadMainPage():
button = QtWidgets.QPushButton(window)
button.setGeometry(100,50,60)
button.setStyleSheet(
"QPushButton { "
"background-color: rgb(37,41,46);"
"color: rgb(255,255);"
"font: 11pt \'Times New Roman\';"
"border: 0px solid;}"
"QPushButton:hover { "
"background-color: rgb(30,37);"
"}"
"QPushButton:pressed { "
"background-color: rgb(18,23);"
"}"
)
button.setText("Options")
button.show()
# ----------------------------------------------------
app = QApplication(sys.argv)
window = QWidget()
window.setwindowTitle("Border101")
window.setFixedWidth(1000)
window.setFixedHeight(600)
window.move(100,50)
window.setStyleSheet(
"background-color: rgb(208,208);"
)
logInWindow()
window.show()
sys.exit(app.exec())
用户名和密码都是“a”。为两者输入“a”并按回车键后,主页将加载,但如果您单击选项按钮,则会出现上述框架。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)