如何解决单击窗口最大化/最小化按钮时如何自动调整小部件的大小?
我想根据窗口大小自动调整小部件的大小。
例如:如果窗口大小增加,窗口内的小部件也必须增加。
在哪里可以插入代码?我也可以在 Qt 设计器中编辑吗?
import psycopg2
from PyQt5 import uic,QtWidgets
from PyQt5.QtWidgets import QMessageBox
import sys
try: # Establishing the connection
connection = psycopg2.connect(user="postgres",password="admin",host="127.0.0.1",port="5432",dbname="database")
cursor = connection.cursor() # create a cursor
class login(QtWidgets.QMainWindow):
def __init__(self): # call the inherited classes
super(login,self).__init__()
uic.loadUi('login/login.ui',self)
self.btnLogin.clicked.connect(self.login) # login button
self.btnCancel.clicked.connect(self.cancel)
self.show()
def login(self): # login button
auser = self.entryUsername.text() # entry username from postgresql
apass = self.entryPassword.text() # entry password from postgresql
aname = self.entryName.text() # name from postgresql
sql_select_admin = """SELECT aid,auser,apass,aname FROM admin WHERE auser = %s and apass = %s """
cursor.execute(sql_select_admin,(auser,))
record = cursor.fetchall()
myid = 0
self.entryName.setText(" ")
for row in record:
myid = row[0]
self.entryName.setText(row[3])
if auser == "" and apass == "": # if username and password are empty
confirmation = QtWidgets.QMessageBox.warning(self.parent(),"Warning","Please enter Username and Password!",)
self.entryUsername.setFocus()
elif auser == "": # if username is empty
confirmation = QtWidgets.QMessageBox.warning(self.parent(),"Please enter Username!",)
self.entryUsername.setFocus()
elif apass == "": # if username is empty
confirmation = QtWidgets.QMessageBox.warning(self.parent(),"Please enter Password!",)
self.entryPassword.setFocus()
else:
if myid == 0:
confirmation = QtWidgets.QMessageBox.warning(self.parent(),"Your Username and/or Password was Incorrect!",)
else:
confirmation = QtWidgets.QMessageBox.information(self.parent(),"Information","Your Account is Verified!",)
def cancel(self): # cancel button
cancelconfirmation = QtWidgets.QMessageBox.question(self.parent(),"Cancel","Are you sure you want to Cancel?",QtWidgets.QMessageBox.Yes,QtWidgets.QMessageBox.No)
if cancelconfirmation == QMessageBox.Yes:
self.close()
sys.exit()
else:
return
except (Exception,psycopg2.Error) as error:
print("Error while connecting to PostgreSQL",error)
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
lw = login()
app.exec_()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。