我使用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}$

更多推荐

qt在windows和linux效率,Windows和Linux在QT中的形式差异