导航:首页 > 编程语言 > python27qt5教程

python27qt5教程

发布时间:2023-02-06 22:42:00

python安装PyQt5时遇到这个问题该怎么解决

linux系统下Qt5编译好的程序在未安装Qt的系统下运行会报以下错误:
This application failed to start because it could not find or load the Qt platform plugin "xcb".

Reinstalling the application may fix this problem.
出现这个错误,主要是因为qt5为了在多平台下更方便移植,使用了一种新的技术-----platform abstraction system (QPA),而它中的库又依赖于Qt5中的一个库文件libQt5DBus.so.5,所以,只要打包时只要加上这个文件就可以了。
linux下qt5程序打包步骤如下
1、把以下7个库文件放到/usr/lib目录下

libQt5Widgets.so.5
libQt5Gui.so.5
libQt5Core.so.5
libicui18n.so.51
libicuuc.so.51
libicudata.so.51
libQt5DBus.so.5
2、拷贝Qt5安装目录中的platforms目录,使它和你的Qt程序同级目录
现在你可以双击你的程序运行了呵呵

㈡ python pyqt5 qthread有哪些方法

用例子说明吧,常用的不多
PyQt中的线程类 QtCore.QThread ,使用时继承QThread类
启动界面的线程暂称为UI线程。界面执行命令时都在自己的UI线程中。
如果在UI线程中执行网络连接和数据库操作等耗时的操作,界面会被卡住,Windows下有可能会出现“无响应”的警告。
阻塞UI线程会降低用户体验和应用稳定性。因此我们可以把耗时操作放在线程中去执行。
QThread代表一个线程,我们可以复写run函数来执行我们要的操作。
QThread可以使用 QtCore.pyqtSignal 来与界面交互和传输数据。
PyQt4 QThread 代码示例

•Python2.7
# -*- coding: utf-8 -*-
import sys

from PyQt4 import QtCore
from PyQt4.QtCore import QCoreApplication
from PyQt4.QtGui import QWidget, QPushButton, QApplication, QTextBrowser

class TimeThread(QtCore.QThread):
signal_time = QtCore.pyqtSignal(str, int) # 信号

def __init__(self, parent=None):
super(TimeThread, self).__init__(parent)
self.working = True
self.num = 0

def start_timer(self):
self.num = 0
self.start()

def run(self):
while self.working:
print "Working", self.thread()
self.signal_time.emit("Running time:", self.num) # 发送信号
self.num += 1
self.sleep(1)

class TimeDialog(QWidget):
def __init__(self):
super(TimeDialog, self).__init__()
self.timer_tv = QTextBrowser(self)
self.init_ui()
self.timer_t = TimeThread()
self.timer_t.signal_time.connect(self.update_timer_tv)

def init_ui(self):
self.resize(300, 200)
self.setWindowTitle('TimeDialog')
self.timer_tv.setText("Wait")
self.timer_tv.setGeometry(QtCore.QRect(10, 145, 198, 26))
self.timer_tv.move(0, 15)

btn1 = QPushButton('Quit', self)
btn1.setToolTip('Click to quit')
btn1.resize(btn1.sizeHint())
btn1.move(200, 150)
btn1.clicked.connect(QCoreApplication.instance().quit)

start_btn = QPushButton('Start', self)
start_btn.setToolTip("Click to start")
start_btn.move(50, 150)
self.connect(start_btn, QtCore.SIGNAL("clicked()"), self.click_start_btn)

def click_start_btn(self):
self.timer_t.start_timer()

def update_timer_tv(self, text, number):
self.timer_tv.setText(self.tr(text + " " + str(number)))

if __name__ == '__main__':
app = QApplication(sys.argv)
time_dialog = TimeDialog()
time_dialog.show()

sys.exit(app.exec_())

QThread中使用的信号 signal_time = QtCore.pyqtSignal(str, int) 指定了参数str和int
发送信号 self.signal_time.emit("Running time:", self.num)
外部接收信号 self.timer_t.signal_time.connect(self.update_timer_tv)
信号连接到方法 update_timer_tv(self, text, number) ,注意信号与方法的参数要一一对应
使用中我们可以定义多种不同的信号 QtCore.pyqtSignal
启动线程,调用 start()

㈢ Python,pyqt5

pyqt5&pythonGui入门教程(1)第一个窗口(1) 第一个窗口和代码详细注释: fromPyQt5importQtWidgets#从PyQt库导入QtWidget通用窗口类classmywindow(QtWidgets.QWidget):#自己建一个mywindows类,以class开头,mywindows是自己的类名,

阅读全文

与python27qt5教程相关的资料

热点内容
现在最流行的单片机 浏览:88
机顶盒刷机源码 浏览:985
编码pdf下载 浏览:944
隔壁同学app怎么 浏览:299
c语言宏命令 浏览:542
php卡死源码 浏览:574
time库中的clock函数python 浏览:989
cad视觉移动命令怎么打开 浏览:821
安卓java调用python 浏览:395
java标准时间 浏览:137
华为服务器湖北渠道商云主机 浏览:30
韩式面部护理解压视频 浏览:301
pdf换成jpg图片 浏览:897
dh加密算法 浏览:107
安卓手机如何隐藏微信信息提示 浏览:632
nodejs解压缩 浏览:262
直流双转子压缩机 浏览:952
pythonxmlstring 浏览:822
用私钥加密之后可以用公钥解密 浏览:788
ug如何启动服务器 浏览:444