我使用PyQt5创建了一个应用程序,它在Windows和Linux上都运行良好,但只有一种形式。我试图弄清楚为什么窗体在Windows上显示得很好,而在Linux系统上却没有。在
第一个表单是一个简单的登录表单,我使用Designer制作。它有垂直布局和网格布局。在designer中看起来像这样。在
这在windows中看起来不错:
但是在Linux Mint 17.03中,字段被压扁并且高度不正确:
在Unbutu 14.04中类似:
我打开表单的代码如下所示:import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from login import *
import csv
class Login(QDialog):
"""User login """
def __init__(self):
QDialog.__init__(self)
self.ui = Ui_login_form()
self.ui.setupUi(self)
self.ui.buttonBox.accepted.connect(lambda: self.handle_login(servers=servers))
servers = {}
with open('servers.csv', newline='') as csvfile:
server_reader = csv.reader(csvfile)
for row in server_reader:
self.ui.cbo_db_name.addItem(row[1])
servers[row[1]] = (row[0],row[2],row[3])
def handle_login(self, servers=''):
the_key = self.ui.cbo_db_name.currentText()
self.server = servers[the_key][0]
if __name__=="__main__":
app=QApplication(sys.argv)
access = Login()
access.exec_()
print(access.server)
myapp = Test_form()
myapp.show()
sys.exit(app.exec_())
Qt designer中表单的代码如下所示:
^{pr2}$