在pyqt4中,如何正确pyqt创建数据库第二个窗口

pyqt4 能在 mac 下实现窗口置顶吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
已注册用户请 &
推荐学习书目
Python Sites
值得关注的项目
Python 编程
pyqt4 能在 mac 下实现窗口置顶吗?
17:53:17 +08:00 · 1166 次点击
在 linux 平台因为基于 x11
self.win.setWindowFlags(Qt.X11BypassWindowManagerHint)可以这样利用 x11 特性来置顶
但是 mac 中移除了 x11
还有什么办法能够置顶窗口吗?
目前尚无回复
& · & 2238 人在线 & 最高记录 3541 & · &
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.1 · 14ms · UTC 04:19 · PVG 12:19 · LAX 21:19 · JFK 00:19? Do have faith in what you're doing.在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
如图如何实现从内容到索引到书签这样的切换?
有啥函数或者概念可以实现这样的操作?qt新人求教
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
用QTabWidget
# -*- coding: utf-8 -*-
from PyQt4.QtGui import *
from PyQt4.QtCore import QString
class ContentWidget(QDialog):
def __init__(self, parent=None):
super(ContentWidget, self).__init__(parent)
self.setStyleSheet("background: black")
class IndexWidget(QDialog):
def __init__(self, parent=None):
super(IndexWidget, self).__init__(parent)
self.setStyleSheet("background: red")
class TabWidget(QTabWidget):
def __init__(self, parent=None):
super(TabWidget, self).__init__(parent)
self.resize(400, 300)
self.mContent = ContentWidget()
self.mIndex = IndexWidget()
self.addTab(self.mContent, u"内容")
self.addTab(self.mIndex, u"索引")
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
t = TabWidget()
app.exec_()
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
背景描述:A窗口中存在一个IP输入框lineEdit,一个提交按钮pushbutton,点击提交按钮则打开B窗口,并传递输入的ip_add地址字符串给B窗口。B窗口代码中包含登陆数据库语句。
预期目标:接收A窗口提交过来的ip_add变量,进行登陆数据库,打印登陆是否成功的提示。
存在问题:目前是点击提交按钮,可以成功打开B窗口,但不知道怎么将变量值(ip_add)传递给第二个窗口。本人是新手,请大家帮忙看看,有什么办法进行处理?即:将下面A.py中的ip_add与B.py中的host_ip对等起来。附:A窗口基本处理语句:
# -*- coding: utf-8 -*-
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from Ui_1 import Ui_Form
class Form(QWidget, Ui_Form):
def __init__(self, parent=None):
super(Form, self).__init__(parent)
self.setupUi(self)
def on_pushButton_clicked(self):
global ip_add
self.w2=B.Dialog()
ip_add=self.lineEdit.text()
self.w2.show()
if __name__ == "__main__":
app = QApplication(sys.argv)
myapp = Form()
myapp.show()
sys.exit(app.exec_())
B窗口基本处理语句:
# -*- coding: utf-8 -*-
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from Ui_2 import Ui_Dialog
class Dialog(QDialog, Ui_Dialog):
def __init__(self, parent=None):
super(Dialog, self).__init__(parent)
self.setupUi(self)
conn = pymssql.connect(host=host_ip, database='db_name', user='db_user', password='db_pw')
.........#其他处理部分
if __name__ == "__main__":
app = QApplication(sys.argv)
myapp = Dialog()
myapp.show()
sys.exit(app.exec_())
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
你贴上的来的代码有几个问题1) from Ui_1 import Ui_Form 你没贴代码,所以你的demo没法直接用2) 你的A.py和B.py形成交叉import了,这容易形成相互依赖3)
在A中的on_pushButton_clicked如果是self.w2=B.Dialog()这样每次点击都调用的话,则会反复的产生B.Dialog()对象,一是开销比较大,二是你无法保存上一个self.w2对象。4) 窗口之间的传值其实是比较简单的,你有一个窗口对象的引用,则每次调用这个对象的窗口引用,然后把值传进去即可。
from PyQt4.QtGui import *
from B import B
class A(QWidget):
def __init__(self, parent=None):
super(A, self).__init__(parent)
self.resize(400, 300)
self.setWindowTitle("Class A")
self.mIP = QLineEdit(self)
self.mIP.setText("192.168.20.1")
self.mIP.move(0, 0)
self.mBtn = QToolButton(self)
self.mBtn.setText("get IP")
self.mBtn.move(100, 100)
self.mBtn.clicked.connect(self.handleGetIPClick)
self.mBWidget = B()
def handleGetIPClick(self, *args, **kwargs):
ipValue = self.mIP.text()
self.c = B()
print id(self.c)
if ipValue:
self.mBWidget.setIP(ipValue)
if not self.mBWidget.isVisible():
self.mBWidget.show()
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
app.exec_()
from PyQt4.QtGui import *
class B(QDialog):
def __init__(self, parent=None):
super(B, self).__init__(parent)
self.mIP = QLineEdit(self)
self.mIP.move(0, 0)
self.setWindowTitle("Class B")
self.resize(200, 100)
def setIP(self, ipValue):
self.mIP.clear()
self.mIP.setText(ipValue)
同步到新浪微博
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。PyQt在一个主窗口如何调出另一个窗口?
[问题点数:30分,结帖人jiangxinhuan]
PyQt在一个主窗口如何调出另一个窗口?
[问题点数:30分,结帖人jiangxinhuan]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2013年1月 移动平台大版内专家分月排行榜第三
匿名用户不能发表回复!|pyqt4教程之实现windows窗口小示例分享
转载 &更新时间:日 10:28:20 & 作者:
这篇文章主要介绍了pyqt4实现windows窗口小示例,需要的朋友可以参考下
代码如下:import sysfrom PyQt4 import QtGui, QtCoreclass Window( QtGui.QMainWindow):&&& def __init__(self):&&&&&&& QtGui.QMainWindow.__init__(self)&&&&&&& self.setWindowTitle('hello')&&&&&&& self.resize(800,500)
&&&&&&& menubar = self.menuBar()&&&&&&& self.file = menubar.addMenu('&file')&&&&&&& open = self.file.addAction('open')&&&&&&& self.connect(open,QtCore.SIGNAL('triggered()'),self.OnOpen)
&&&&&&& save =self.file.addAction('save')&&&&&&& self.connect(save,QtCore.SIGNAL('triggered()'),self.OnSave)&&&&&&& self.file.addSeparator()&&&&&&& close = self.file.addAction('close')&&&&&&& self.connect(close,QtCore.SIGNAL('triggered()'),self.OnClose)
&&&&&&& self.label = QtGui.QLabel('this is a google text')&&&&&&& self.label.setAlignment(QtCore.Qt.AlignCenter)&&&&&&& self.setCentralWidget(self.label)
&&& def OnOpen(self):&&&&&&& self.label.setText('open')&&& def OnClose(self):&&&&&&& self.close()&&& def OnSave( self):&&&&&&& self.label.setText('save')&&& def contextMenuEvent(self,event):&&&&&&& self.file.exec_( event.globalPos())
app =QtGui.QApplication(sys.argv)win = Window()win.show()app.exec_()
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具

我要回帖

更多关于 怎么创建第二个微信号 的文章

 

随机推荐