pyqt執行腳本工具
A. linux 安裝pyqt5
先安裝 sip
此時sip安裝在python文件夾中,未進入系統路徑,這時候在命令行中輸入 :
sip -V #會提示找不到sip
本機中python 通過sys.path(),找到路徑為:/usr/local/python3 ;sip在其bin 文件夾下面
請執行
進入PyQt文件夾
python configure.py
make
sudo make install
B. 能同時安裝pyqt4和pyqt5嗎
安裝PtQt4前你需准備:
Xcode (10.6.1 自帶Xcode)
Qt - 我使用的是qt-mac-cocoa-opensource-4.6.2.dmg
SIP - 我使用的是sip-4.12.1.tar.gz
PyQt4 - 我使用的是PyQt-mac-gpl-snapshot-4.8.4.tar.gz
創建了一個pyqt文件夾在硬碟根目錄下,並將sip-4.12.1.tar.gz和PyQt-mac-gpl-snapshot-4.8.4.tar.gz
放到其中並解壓。
1。先安裝qt,默認安裝,這一步大部分人不會有問題,跳過。
2。接下來,打開終端(Terminal,在 Applications(應用程序)/Utilities(實用工具)/ 下),在終端輸入:export VERSIONER_PYTHON_PREFER_32_BIT=yes。
3.
使用"cd 路徑"命令將當前目錄設為sip-4.12.1,如: cd /pyqt/sip-4.12.1/, 然後進行配置(configure)【Re-build SIP in 32bit 】在終端中執行
python configure.py --arch i386
配置(configure)完成後就開始編譯,在終端中執行引用make clean(清除以前的安裝信息)make
編譯完成後就安裝,在終端中執行引用sudo make install
在這個過程中沒出現錯誤就是安裝成功了
編譯安裝PyQt4,過程和上面的一樣。 【Build PyQt4 in 32bit 】
在終端中使用"cd 路徑"命令將當前目錄設為PyQt-mac-gpl-snapshot-4.8.4,如
引用cd /Users/schi/pyqt/PyQt-mac-gpl-snapshot-4.8.4
然後進行配置(configure),在終端中執行引用python configure.py --use-arch i386
配置時會遇到引用Determining the layout of your Qt installation...
This is the GPL version of PyQt 4.6 (licensed under the GNU General Public
License) for Python 2.6.2 on darwin.
Type '2' to view the GPL v2 license.
Type '3' to view the GPL v3 license.
Type 'yes' to accept the terms of the license.
Type 'no' to decline the terms of the license.
Do you accept the terms of the license?
輸入yes,再按回車就行
配置(configure)完成後就開始編譯,在終端中執行
引用make cleanmake
編譯比較花時間,請耐心等待。
編譯完成後就安裝,在終端中執行
引用sudo make install
在這個過程中沒出現錯誤就是安裝成功了
也可以在IDLE中導入PyQt4的模塊,能成功導入就說明安裝成功
Python代碼
from PyQt4 import QtCore, QtGui
下面分析一下安裝過程中可能遇到的問題:
1.問題如下
##############
ld: warning: in /Library/Frameworks/Python.framework/Python, missing required architecture x86_64 in file
Undefined symbols:
"_Py_Initialize", referenced from:
PyCustomWidgets::PyCustomWidgets(QObject*)in pluginloader.o
"_PyLong_AsVoidPtr", referenced from:
PyCustomWidgets::PyCustomWidgets(QObject*)in pluginloader.o
"_PyErr_Print", referenced from:
PyCustomWidgets::getMoleAttr(char const*, char const*)in pluginloader.o
PyCustomWidgets::getMoleAttr(char const*, char const*)in pluginloader.o
PyCustomWidgets::PyCustomWidgets(QObject*)in pluginloader.o
PyCustomWidgets::PyCustomWidgets(QObject*)in pluginloader.o
PyCustomWidgets::PyCustomWidgets(QObject*)in pluginloader.o
PyCustomWidgets::PyCustomWidgets(QObject*)in pluginloader.o
"_PyString_FromString", referenced from:
PyCustomWidgets::PyCustomWidgets(QObject*)in pluginloader.o
"_PyType_IsSubtype", referenced from:
PyCustomWidgets::PyCustomWidgets(QObject*)in pluginloader.o
"_PyMole_GetDict", referenced from:
PyCustomWidgets::PyCustomWidgets(QObject*)in pluginloader.o
"_PyObject_CallObject", referenced from:
PyCustomWidgets::PyCustomWidgets(QObject*)in pluginloader.o
"_PyObject_CallFunctionObjArgs", referenced from:
PyCustomWidgets::PyCustomWidgets(QObject*)in pluginloader.o
"_PyList_Append", referenced from:
PyCustomWidgets::PyCustomWidgets(QObject*)in pluginloader.o
"_Py_IsInitialized", referenced from:
PyCustomWidgets::PyCustomWidgets(QObject*)in pluginloader.o
"_PyDict_Next", referenced from:
PyCustomWidgets::PyCustomWidgets(QObject*)in pluginloader.o
"_PyImport_ImportMole", referenced from:
PyCustomWidgets::getMoleAttr(char const*, char const*)in pluginloader.o
PyCustomWidgets::PyCustomWidgets(QObject*)in pluginloader.o
"_PyObject_GetAttrString", referenced from:
PyCustomWidgets::getMoleAttr(char const*, char const*)in pluginloader.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[1]: *** [libpythonplugin.dylib] Error 1
make: *** [all] Error 2
這個問題的原因就是:qt是在32位mac上編譯的,但pyqt默認是在64位機子上編譯的,所以我們在編譯的時候要制定編譯環境:是i386 還是x86_64.
請參考如下的信息:
The problem is that the Qt library is 32bit while, by default, python builds PyQt4 in 64bit. That caused problem when it tried to link 64bit object files with 32bit Qt library. To fix this issue, we need to force python to build PyQt4 in 32bit, and we also need to re-build SIP in 32bit mode. If you use the python version that comes with Mac OS (2.5 for Snow Leopard), make sure that it runs in 32bit mode by issuing the command
2.個問題如下:
>>> from PyQt4 import QtGui
Traceback (most recent call last):
File "<stdin>", line 1, in <mole>
ImportError: dlopen(/Library/Python/2.6/site-packages/PyQt4/QtGui.so, 2): Symbol not found: __
Referenced from: /Library/Python/2.6/site-packages/PyQt4/QtGui.so
Expected in: flat namespace
in /Library/Python/2.6/site-packages/PyQt4/QtGui.so
這個問題是所有的包安裝都沒有問題但是當導入QtGui或其他包時,總報這個問題,這個問題的原因是,當前pyqt release的包本身帶的一個bug,PyQt-mac-gpl-snapshot-4.8.3, 所以你下載下個要release的包就可以了。如我下的是:PyQt-mac-gpl-snapshot-4.8.4。
下面給大家介紹一下我寫的自動安裝這些程序的python源碼:
#!/usr/bin/env python
"""
Automated installer for Python 2.6 (final)
This installer is able to handle any previous
versions of Python.
NOTE: This file *must* be copied to
//nssgsvr/tools/pyInstall_OSX when modified!
"""
import os
import sys
import re
import shutil
import platform
import tarfile
# Constants
PYTHON_PKGS = {"dmgFile" : "python-2.6.1-macosx2008-12-06.dmg",
"mpkgList": ["MacPython.mpkg"] }
#WXPYTHON_PKGS = {"dmgFile" : "wxPython2.8-osx-unicode-2.8.9.2-universal-py2.6.dmg",
# "mpkgList": ["wxPython2.8-osx-unicode-universal-py2.6.pkg"] }
#ANGELIA
XCODE_PKGS = {"dmgFile" : None, "mpkgList": ["Xcode.mpkg"]}
QT_PKGS = {"dmgFile" : "qt-mac-cocoa-opensource-4.6.2.dmg",
"mpkgList": ["Qt.mpkg"] }
THIRD_PARTY_INSTALL = ["sip-4.12.1", "PyQt-mac-gpl-snapshot-4.8.4","Pyro-3.9.1", "pyserial-2.4"]
# Environment constants
TCSH_ENV_FILE = '/etc/csh.login'
BASH_ENV_FILE = '/etc/profile'
SCRIPTS_ROOT_ENV = "TEST_SCRIPTS_ROOT"
TARGET_VER = "2.6"
IS_POSIX = (os.name == 'posix')
IS_MAC = (sys.version.find('Apple') != -1)
IS_OSX = (IS_MAC and IS_POSIX)
IS_OSX_LEOPARD = (IS_OSX and platform.mac_ver()[0].startswith('10.5'))
IS_OSX_SNOWLEOPARD = (IS_OSX and platform.mac_ver()[0].startswith('10.6'))
# NSSGSVR Constants
MOUNT_POINT = "/Volumes/Test"
HOSTSERVER = "NSSGSVR.global.avidww.com" # Server that contains SQA scripts
SHARE = "TEST" # NSSGSVR share that contains the Python scripts directory
USER = "qatest"
PASSWD = "Cmqat/$/$/$" # slashes needed to escape special character '$'
C. 如何使用pyQT做pythonGUI界面
首先,如果沒有安裝python和PyQt軟體的請先直接搜索下載並安裝。python是一個開源軟體,因此都是可以在網上免費下載的,最新版本即可。下載完成後,我們先打開PyQt designer。
2
打開後,首先是一個默認的新建窗口界面,在這里我們就選擇默認的窗口即可。
3
現在是一個完全空白的窗口。第一步我們要先把所有的設計元素都拖進這個窗口。我們先拖入一個「Label」,就是一個不可編輯的標簽。
4
隨後我們再拖入一個可以編輯的「Line Edit」
5
最後我們拖入最後一個元素:「PushButton」按鈕,也就是平時我們所點的確定。
6
目前我們已經把所有所需要的元素都拖入了新建的窗口。對於每一個元素,我們都可以雙擊進行屬性值的修改,此時我們僅需要雙擊改個名字即可
7
此時我們已經完成了一半,接下來需要對動作信號進行操作。我們需要先切入編輯信號的模式
8
此時把滑鼠移動到任意元素,都會發現其變成紅色,代表其被選中。
9
當我們選中pushbutton後,繼續拖動滑鼠指向上面的line edit,會發現由pushbutton出現一個箭頭指向了line edit,代表pushbutton的動作會對line edit進行操作。
10
隨即會彈出一個配置連接窗口。左邊的是pushbutton的操作,我們選擇clicked(),即點擊pushbutton。
右邊是對line edit的操作,我們選擇clear(),即清楚line edit中的內容。
最後我們點擊確定。
保存完成後,我們在PyQt中的操作就已經完成了。保存的文件名我們命名為test,PyQt生成的設計文件後綴是.ui。
然後我們需要把.ui文件轉換成可編譯的.py文件,我們需要用到PyQt提供的pyuic4命令來完成轉換。這是一個DOS命令,因此我們需要調出DOS操作界面。打開開始菜單,找到附件中的運行。
在運行中輸入cmd,確定後即可打開DOS界面。
在DOS界面下,我們需要定位到剛才保存的.ui文件的位置,如果是默認的話,會保存在C:\Python27\Lib\site-packages\PyQt4,定位的過程如圖所示。轉換成.py文件的命令是:pyuic4 test.ui -o test.py
轉換命令執行後,會生成一個test.py的文件,如圖所示
最後我們需要對生成的python文件加入頭文件和主函數,就可以生成一個完整的GUI程序了!首先是在整個程序的最開頭加入import sys,如圖所示。
另外,在程序的末尾,加入如圖所示的主函數代碼。主函數會調用我們再PyQt里已經完成的生成元素的函數以及配置連接函數,因此我們只需要加上主函數來調用他們即可。
保存後,雙擊我們編輯完成的python文件,就會彈出我們剛才設計的GUI界面啦!這就是我們所完成的第一個用python語言寫的GUI程序啦!
D. 問一個pyqt 和 qt的有啥區別啊~
Qt是C++庫
PyQt是Python的移植版本
開發效率是PyQt了,Python比C++方便,這是必然的。
Python的程序需要安裝了Python和PyQt才能用,這是運行環境。
C++的可以靜態鏈接。
如果你.net就應該知道CLR, python解釋器的概念就類似CLR
只不過CLR只有windows實現,而python解釋器有多個系統實現
所以python腳本能直接在多個系統跑(當然前提是安裝了對應的python解釋器).
E. python如何安裝pyqt4
第一步,下載.whl文件,地址:https://www.lfd.uci.e/~gohlke/pythonlibs/#pyqt4,這里可以下載不同的python版本對應的包。
相關推薦:《Python教程》
第二步,選擇一個目錄,將下載好的文件放到該目錄下,然後cmd下,cd進入該目錄,執行命令:pip install PyQt4-4.11.4-cp36-cp36m-win_amd64.whl,完成安裝。
第三步,校驗是否安裝成功。
F. Python,pyqt5
pyqt5&pythonGui入門教程(1)第一個窗口(1) 第一個窗口和代碼詳細注釋: fromPyQt5importQtWidgets#從PyQt庫導入QtWidget通用窗口類classmywindow(QtWidgets.QWidget):#自己建一個mywindows類,以class開頭,mywindows是自己的類名,