pyqt4是否可以无法连接sqlserverr?

温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(3013)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'使用pyqt4做一个简单的浏览器',
blogAbstract:'winsows下安装pyqt非常简单。
接下来用desinger画个页面,http.ui
&?xml version=\"1.0\" encoding=\"UTF-8\"?&&ui version=\"4.0\"&&&class&HttpWidget&/class&&&widget class=\"QDialog\" name=\"HttpWidget\"&& &property name=\"geometry\"&&& &rect&&&& &x&0&/x&&&& &y&0&/y&&&& &width&400&/width&&&& &height&300&/height&&& &/rect&& &/property&& &property name=\"windowTitle\"&',
blogTag:'python,pyqt',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:1,
publishTime:9,
permalink:'blog/static/',
commentCount:1,
mainCommentCount:1,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
hmcon:'0',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}为什么pyqt连不上sqlsever_百度知道
为什么pyqt连不上sqlsever
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
pyqt4连接mysql数据库的方法:原料:sip-4.17.tar.gz、PyQt-gpl-5.5.1.tar.gz安装包下载后解压缩到用户目录。键入以下命令:python configure.py (或python)make&sudo make install1、安装mysql的sqldrivers默认情况下qt只有SQLite驱动,其它驱动要自己安装:sudo apt-get install libqt4-sql-mysql
libqt5sql5-mysqlsudo apt-get install libqt4-sql-psql
libqt5sql5-psql2、对于安装MATLAB的系统可能出现动态链接库版本问题如import QtPy模块时出错&&& from PyQt4.QtQtSql import *Traceback (most recent call last):File &&stdin&&, line 1, in &module&ImportError: /opt/local/MATLAB/R2012a/bin/glnxa64/QtSql.so.4: undefined symbol: _ZN31locate QtSql.so然后把链接改到系统库下/opt/local/MATLAB/R2012a/bin/glnxa64/libQtSql.so.4 -& /usr/lib/x86_64-linux-gnu/libQtSql.so.4.8.6我的系统里QtCore、QtGui、QtOpenGL、QtNetwork等都有问题、需要以上操作。修改后未发现MATLAB运行异常3、测试代码mysql#-*- coding: utf-8 -*-from PyQt4.QtGui import * from PyQt4.QtCore import * from PyQt4.QtSql import *import sys #创建数据库连接def createConnection():#选择数据库类型,这里为mysql数据库db=QSqlDatabase.addDatabase(&QMYSQL&)db.setDatabaseName(&you_db&)db.setHostName(&localhost&)
#set addressdb.setUserName(&you_usr&); #set user namedb.setPassword(&you_passwd&); #set user pwd#打开数据库#打开数据库if (db.open()):print (&Success&)else:print (&Failed to connect to mysql&)#创建表def createTable():#创建QsqlQuery对象,用于执行sql语句q=QSqlQuery()q.exec_(&create table if not exists t1 (f1 integer primary key,f2 varchar(20))&)q.exec_(&delete from t1&)#这里使用 u 将字符串转换成unicode编码,解决中文乱码q.exec_(u&insert into t1 values(1,'我')&)q.exec_(u&insert into t1 values(2,'我')&)q.exec_(&commit&) class Model(QSqlTableModel):def __init__(self,parent):QSqlTableModel.__init__(self,parent)#设置要载入的表名self.setTable(&t1&)#这一步应该是执行查询的操作self.select()#数据更新的策略,详细可以查看Qt文档self.setEditStrategy(QSqlTableModel.OnManualSubmit) class TestWidget(QWidget):def __init__(self):QWidget.__init__(self)vbox=QVBoxLayout(self)self.view=QTableView()self.model=Model(self.view)self.view.setModel(self.model)vbox.addWidget(self.view) if __name__==&__main__&:a=QApplication(sys.argv)createConnection()createTable()w=TestWidget()w.show()sys.exit(a.exec_())测试完成,连接成功。
为你推荐:
其他类似问题
您可能关注的内容
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。下次自动登录
现在的位置:
& 综合 & 正文
PyQt4配置与初学
1、软件安装
软件包有以下几种:
Qt,Python,Eric,PyQt
都很容易在网上下载,我就不详说了。特别要注意版本的对应。而且eric,pyqt都会在python\Lib\site-packages下生成目录,所以这两个的安装不要自定义安装路径。
官方提示,安装Eric要有以下组件:
当双击Eric目录的install.py时,出现下图:
2、集成PyQt到Eclipse
在eclipse中下载pydev
详细步骤可参照:
不过得强调,在下载pydev时,要去掉“只显示最新版本复选框”,保证所下版本与python版本一致!!
配置时,要注意在Force builtin里添加如下符号:
PyQt4.QAxContainer,PyQt4.Qsci,PyQt4.Qt,PyQt4.QtCore,PyQt4.QtDeclarative,PyQt4.QtDesigner,PyQt4.QtGui,PyQt4.QtHelp,PyQt4.QtMultimedia
PyQt4.QtNetwork,PyQt4.QtOpenGL,PyQt4.QtScript,PyQt4.QtScriptTools,PyQt4.QtSql,PyQt4.QtSvg,PyQt4.QtTest,PyQt4.QtWebKit,PyQt4.QtXml
PyQt4.QtXmlPatterns,PyQt4.phonon,PyQt4.uic
用designer作一个简单的widget,给Quit按钮添加一个信号槽
编写python代码:
import sys
from PyQt4 import QtCore,QtGui,uic
from hello_ui import Ui_Form
app = QtGui.QApplication(sys.argv)
widget = uic.loadUi('hello.ui')
widget.show()
sys.exit(app.exec_())
注意文件后缀名是为pyw,双击即可出现窗体。单击按钮会执行槽函数退出。如果没反应,需检查代码或环境变量设置是否正确
不用ui文件,直接编写进度条示例:
import sys
from PyQt4 import QtCore,QtGui
class MyProgressBar(QtGui.QWidget):
def __init__(self,parent=None):
QtGui.QWidget.__init__(self)
# python变量分为类变量和对象变量,凡是被self所引用的都是对象变量,
# 是对象私有的,类对象是公有的。所以self不能省
self.setGeometry(300,300,250,150)
self.pbar = QtGui.QProgressBar(self)
self.pbar.setGeometry(30,40,200,25)
self.btn = QtGui.QPushButton('Start',self)
self.btn.setFocusPolicy(QtCore.Qt.NoFocus)
self.btn.move(40,80)
self.connect(self.btn,QtCore.SIGNAL('clicked()'),self.onStart)
self.timer=QtCore.QBasicTimer()
self.step = 0
def timerEvent(self,event):
if self.step &= 100:
self.timer.stop()
self.step = self.step+1
self.pbar.setValue(self.step)
def onStart(self):
if self.timer.isActive():
self.timer.stop()
self.btn.setText('start')
self.timer.start(100,self)
self.btn.setText('stop')
app = QtGui.QApplication(sys.argv)
w = MyProgressBar()
sys.exit(app.exec_())
双击运行即可
在eclipse下运行一个示例:
如果熟悉Qt,那对于以上用python写的代码就没什么理解难度了。方法名都一样,形式上不一样而已。
参考网址:
PyQt学习文档:
【上篇】【下篇】& & &最近在使用Pyqt来写一个小的软件。有一个功能需要用到多线程去访问主线程的QtGui.QLable控件来进行更新内容.发现会出现界面不更新或是长时间访问就会使程序异常的情况。下面是我以前写的例子:
lock = threading.Lock()
def __dostart(self, rmid):
while self.flag:
self.lock.acquire()
count = random.randint(1, 1000)
self.RollMessages[rmid].setText(_translate("start", str(count)+ "_" + str(rmid), None))
self.lock.release()
time.sleep(0.05)
def Start(self):
self.flag = True
Threads = []
for i in xrange(self.countRoll):
tRoll = threading.Thread(target = self.__dostart, args=[i])
Threads.append(tRoll)
for i in xrange(self.countRoll):
Threads[i].start()
错误的方法大家不要去学习,这种方法是直接去更新主线程上的RollMessages的项,运行不久就会崩溃或有异常情况发生。
后来看一些资料说Pyqt是需要使用信号和槽来实现子线更新主线程上的GUI的。方法如下
class test():
roll_signal = QtCore.pyqtSignal(int, int)#声名信号
def __init__(self):
self.roll_signal.connect(self.roll_Slot)#连接信号和槽
@QtCore.pyqtSlot(int, int)#实现槽
def roll_Slot(self, count, rmid):
self.RollMessages[rmid].setText(_translate("start", str(count)+ "_" + str(rmid), None))
def retranslateUi(self):
for i in xrange(self.countRoll):
self.RollMessages[i].setText("0")
lock = threading.Lock()
def __dostart(self, rmid):
while self.flag:
self.lock.acquire()
count = random.randint(1, 1000)
self.roll_signal.emit(count, rmid)#发射信号
self.lock.release()
time.sleep(0.05)
def Start(self):
self.flag = True
Threads = []
for i in xrange(self.countRoll):
tRoll = threading.Thread(target = self.__dostart, args=[i])
Threads.append(tRoll)
for i in xrange(self.countRoll):
Threads[i].start()
上面的代码只是为了方便理解写的代码片段,不一定保证是可以执行的。
阅读(...) 评论() &从 http://www.riverbankcomputing.co.uk/software/sip/download 下载压缩包 sip-4.19.tar.gz 解压
tar zxvf sip-4.19.tar.gz -C /home/PyQt
cd /home/PyQt/sip-4.19
sudo python configure.py
sudo make install
安装Qt4依赖的库sudo apt-get install qt4-dev-tools qt4-doc qt4-qtconfig qt4-demos qt4-designer
sudo apt-get install libqwt5-qt4 libqwt5-qt4-dev
从 https://sourceforge.net/projects/pyqt/files/PyQt4/ 下载压缩包 PyQt4_gpl_x11-4.12.tar.gz 解压
tar zxvf PyQt4_gpl_x11-4.12.tar.gz -C /home/PyQt
cd /home/PyQt/PyQt4_gpl_x11-4.12
sudo python configure.py
sudo make install
PyCharm + PyQt4
一、准备工作
下载pycharm 和 pyqt4 (百度下就有)
pyqt4安装好后,在C:\Python27\Lib\site-packages\PyQt4 路径下会有designer.exe ...
ubuntu16.10安装PyQt5
1、安装包 $sudo apt-get install python3-pyqt5
# for python3
$sudo apt-get i...
Ubuntu16.04+pycharm+pyqt5安装与配置
之前在windows下经常用python+pyqt5一起开发,今天在ubuntu16.04上安装了pyqt5并且与pycharm进行了配置。pycharm的安装过程直接略过,本文主要讲下pyqt5的安...
[Ubuntu--Install]Ubuntu16.04下搭建python3.5+PyQt5.7+Eric6开发环境
简述原来在windows下实现的python code,因为业务需要,要将其放到Ubuntu(其实是Linux)下来进行开发和demo。因此安装了目前最新的Ubuntu16.04 64bit系统,并搭...
ubuntu下的PyQt4开发环境配置
目标:在ubuntu系统上安装PyQt4工具包和用于开发的IDE: pycharm编辑器.
前提:目标环境为ubuntu14.04 64bit,已经安装了python2.7(系统自带)和Qt SDK...
在ubuntu 14.04 64bit下配置安装PyQt4(python2.7和python3.4)
在ubuntu 14.04 64bit下配置安装PyQt4(python2.7和python3.4)
http://www.linuxdiyf.com/linux/13934.html
个人觉得是原创。虽然把一些别人的成果和自己的东西写在这里。我的目的是仅供大家参考和怕自己以后忘记。最近要做python界面开发,于是自己想用pyqt,但是网上的教程各种乱,花了一天的时间才弄成了。
PyQt5 Ubuntu 16.04/14.04 环境配置
#PS:要转载请注明出处,本人版权所有
#PS:这个只是
》理解,如果和你的
#原则相冲突,请谅解,勿喷
起因,最近要用到PyQt5,所以想安装来写一个小程序,...
ubuntu下配置安装PyQt4
先安装SIP:http://www.riverbankcomputing.com/software/sip/download
找到下载后保存的文件夹,右键打开终端,解压:tar zxf 文件名.tar...
ubuntu16.04下pycharm+python3+pyqt5开发环境配置
1.安装pycharm
sudo apt-get install pycharm-community
然后在dash菜单下搜索即可,如下图:
2.安装python3
sudo apt-...
没有更多推荐了,

我要回帖

更多关于 c#连接sqlserver数据库 的文章

 

随机推荐