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

我使用PyQt5创建了一个应用程序,它在Windows和Linux上都运行良好,但只有一种形式。我试图弄清楚为什么窗体在Windows上显示得很好,而在Linux系统上却没有。在

第一个表单是一个简单的登录表单,我使用Designer制作。它有垂直布局和网格布局。在designer中看起来像这样。在

3PQCg.png

这在windows中看起来不错:

pVQ96.png

但是在Linux Mint 17.03中,字段被压扁并且高度不正确:

9oUAB.png

在Unbutu 14.04中类似:

kTrFd.png

我打开表单的代码如下所示: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}$

Windows平台开发的Qt程序和在Linux系统上开发的Qt程序有一些区别。 首先,由于WindowsLinux是不同的操作系统,因此在代码编译和运行方面存在一些差异。在Windows平台上,Qt程序通常使用Visual Studio集成开发环境(IDE)来编写和调试代码,而在Linux上则通常使用Qt Creator IDE。此外,Windows平台使用的编译器是MSVC(Microsoft Visual C++ Compiler),而Linux平台使用的是GNU编译器集合(GCC)。 其次,在图形界面方面也存在一些差异。由于WindowsLinux的图形界面库不同,因此在开发Qt程序时,需要根据操作系统选择相应的界面控件和风格。例如,Windows平台上常用的控件有按钮、文本框和滚动条,而Linux平台则一般使用不同的风格和控件,如工具栏和下拉菜单。 另外,对于文件系统和路径的处理也有所不同。在Windows平台上,文件和目录路径使用反斜杠(\)来分隔,而在Linux系统上使用正斜杠(/)来分隔。因此,如果在不同平台下共享Qt代码,需要注意对路径的处理方式。 最后,对于跨平台开发,Qt提供了一些自动化工具和函数,以便开发人员能够在多个操作系统上进行测试和部署。例如,Qt提供了Qt Test模块来进行单元测试,并且提供了Qt Installer Framework来方便在不同平台上进行程序的安装与发布。 总之,尽管Windows平台开发的Qt程序和在Linux系统上开发的Qt程序之间存在一些差异,但使用Qt的跨平台特性和工具,开发人员可以比较轻松地进行跨平台开发,并在不同的操作系统上运行和部署他们的应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值