1.利用pyqt5,調用sqlserver,在登陸窗口和主窗口之間傳遞參數(shù):賬戶id,出現(xiàn)傳參成功,但是窗口2【tab_com.py】沒有跳出,并且該窗口中,用到傳遞進去的參數(shù)的,那個表 那一部分也沒有運行
2.附代碼如下:
#登錄窗口 dl.py
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'dl.ui'
#
# Created by: PyQt5 UI code generator 5.6
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtGui import QIcon
import sys
from tab_com import Ui_main
class Ui_dialog(object):
def setupUi(self,dialog):
dialog.setObjectName("dialog")
dialog.setWindowIcon(QIcon('D:\\書.jpg'))
dialog.resize(400, 300)
dialog.setStyleSheet("background-image:url(D:/竹簡2.jpg)")
self.widget = QtWidgets.QWidget(dialog)
self.widget.setGeometry(QtCore.QRect(60, 40, 284, 211))
self.widget.setObjectName("widget")
self.verticalLayout = QtWidgets.QVBoxLayout(self.widget)
self.verticalLayout.setContentsMargins(0, 0, 0, 0)
self.verticalLayout.setObjectName("verticalLayout")
self.horizontalLayout = QtWidgets.QHBoxLayout()
self.horizontalLayout.setObjectName("horizontalLayout")
self.yhid = QtWidgets.QLabel(self.widget)
self.yhid.setStyleSheet("background-color: rgba(255, 255, 255, 0);")
self.yhid.setObjectName("yhid")
self.horizontalLayout.addWidget(self.yhid)
self.yhidte = QtWidgets.QLineEdit(self.widget)
self.yhidte.setEchoMode(QtWidgets.QLineEdit.Normal)
self.yhidte.setObjectName("yhidte")
self.horizontalLayout.addWidget(self.yhidte)
self.verticalLayout.addLayout(self.horizontalLayout)
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
self.secre = QtWidgets.QLabel(self.widget)
self.secre.setObjectName("secre")
self.horizontalLayout_2.addWidget(self.secre)
self.secrete = QtWidgets.QLineEdit(self.widget)
self.secrete.setEchoMode(QtWidgets.QLineEdit.Password)
self.secrete.setObjectName("secrete")
self.horizontalLayout_2.addWidget(self.secrete)
self.verticalLayout.addLayout(self.horizontalLayout_2)
self.remorno = QtWidgets.QCheckBox(self.widget)
self.remorno.setObjectName("remorno")
self.verticalLayout.addWidget(self.remorno)
self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
self.horizontalLayout_3.setObjectName("horizontalLayout_3")
self.cance = QtWidgets.QPushButton(self.widget)
self.cance.setStyleSheet("background-color: rgba(255, 255, 255, 0);")
self.cance.setObjectName("cance")
self.horizontalLayout_3.addWidget(self.cance)
spacerItem = QtWidgets.QSpacerItem(118, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_3.addItem(spacerItem)
self.sure = QtWidgets.QPushButton(self.widget)
self.sure.setStyleSheet("background-color: rgba(255, 255, 255, 0);")
self.sure.setObjectName("sure")
self.horizontalLayout_3.addWidget(self.sure)
self.verticalLayout.addLayout(self.horizontalLayout_3)
self.zhuce = QtWidgets.QPushButton(self.widget)
self.zhuce.setGeometry(QtCore.QRect(50, 260, 282, 23))
self.horizontalLayout_3.addWidget(self.zhuce)
self.zhuce.setStyleSheet("background-color: rgba(255, 255, 255, 0);")
self.zhuce.setObjectName("zhuce")
self.retranslateUi(dialog)
self.sure.clicked.connect(dialog.accept)
self.cance.clicked.connect(dialog.accept)
self.zhuce.clicked.connect(dialog.accept)
QtCore.QMetaObject.connectSlotsByName(dialog)
dialog.setTabOrder(self.yhidte, self.secrete)
dialog.setTabOrder(self.secrete, self.remorno)
dialog.setTabOrder(self.remorno, self.cance)
dialog.setTabOrder(self.cance, self.sure)
self.B = Ui_main()
#def retry(self):
#th = self.yhidte.text()
#widget=QtWidgets.QWidget()
#if th:
#print('jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj' + th)
#self.B.setupUi(widget,th)
#if not self.mBWidget.isVisible():
#self.B.show()
def retranslateUi(self, dialog):
_translate = QtCore.QCoreApplication.translate
dialog.setWindowTitle(_translate("dialog", "登陸"))
self.yhid.setText(_translate("dialog", "用戶id "))
self.secre.setText(_translate("dialog", "密碼 "))
self.remorno.setText(_translate("dialog", "是否記住密碼"))
self.cance.setText(_translate("dialog", "取消"))
self.sure.setText(_translate("dialog", "確認"))
self.zhuce.setText(_translate("dialog", "無賬號?注冊…"))#
#if __name__ == "__main__":
#import sys
#app = QtWidgets.QApplication(sys.argv)
#widget=QtWidgets.QDialog()
#ui = Ui_dialog()
#ui.setupUi(widget)
#widget.show()
#ui.sure.clicked.connect(ui.retry)
#sys.exit(app.exec_())
#主界面窗口 tab_com.py
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'tab.ui'
#
# Created by: PyQt5 UI code generator 5.6
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
import pymssql
from PyQt5.QtCore import *
from PyQt5 import QtWidgets,QtGui
from PyQt5.QtWidgets import *
class Ui_main(object):
def setIP(self,*x):
self.setupUi(x)
def setupUi(self, Dialog,*x):
Dialog.setObjectName("Dialog")
Dialog.setWindowIcon(QtGui.QIcon('D:\\書.jpg'))
Dialog.resize(521, 520)
self.tabWidget = QtWidgets.QTabWidget(Dialog)
self.tabWidget.setGeometry(QtCore.QRect(0, 0, 531, 501))
self.tabWidget.setObjectName("tabWidget")
self.tab = QtWidgets.QWidget()
self.tab.setObjectName("tab")
self.tableWidget = QtWidgets.QTableWidget(self.tab)
self.tableWidget.setGeometry(QtCore.QRect(-5, -9, 521, 341))
self.tableWidget.setObjectName("tableWidget")#書城表
conn = pymssql.connect(host = '(local)\SQLEXPRESS',database = 'yaoyi_10121',user = 'sa',password = '12345',charset="utf8")
cur=conn.cursor()
cur.execute('select * from book_inform_10121')
rows=cur.fetchall()
print('ppppppppppppppppppppppppppppppppppppppppppppppppppppppp' + rows[0][0])
row=cur.rowcount #取得記錄個數(shù),用于設置表格的行數(shù)
print(row)
vol=len(rows[0]) #取得字段數(shù),用于設置表格的列數(shù)
print(vol)
cur.close()
conn.close()
self.tableWidget.setRowCount(row)
self.tableWidget.setColumnCount(vol)
for i in range(row):
for j in range(vol):
temp_data=rows[i][j] #臨時記錄,不能直接插入表格
print(temp_data)
data=QtWidgets.QTableWidgetItem(str(temp_data)) #轉換后可插入表格
self.tableWidget.setItem(i,j,data)
#self.show()
self.pushButton = QtWidgets.QPushButton(self.tab)
self.pushButton.setGeometry(QtCore.QRect(50, 380, 75, 23))
self.pushButton.setObjectName("pushButton")
self.pushButton_2 = QtWidgets.QPushButton(self.tab)
self.pushButton_2.setGeometry(QtCore.QRect(380, 380, 75, 23))
self.pushButton_2.setObjectName("pushButton_2")
self.tabWidget.addTab(self.tab, "")
self.tab_2 = QtWidgets.QWidget()
self.tab_2.setObjectName("tab_2")
self.pushButton_3 = QtWidgets.QPushButton(self.tab_2)
self.pushButton_3.setGeometry(QtCore.QRect(70, 230, 75, 23))
self.pushButton_3.setObjectName("pushButton_3")
self.label = QtWidgets.QLabel(self.tab_2)
self.label.setGeometry(QtCore.QRect(50, 40, 54, 12))
self.label.setObjectName("label")
self.lineEdit = QtWidgets.QLineEdit(self.tab_2)
self.lineEdit.setGeometry(QtCore.QRect(130, 40, 113, 20))
self.lineEdit.setObjectName("lineEdit")
self.lineEdit_2 = QtWidgets.QLineEdit(self.tab_2)
self.lineEdit_2.setGeometry(QtCore.QRect(130, 90, 113, 20))
self.lineEdit_2.setObjectName("lineEdit_2")
self.label_2 = QtWidgets.QLabel(self.tab_2)
self.label_2.setGeometry(QtCore.QRect(50, 90, 54, 12))
self.label_2.setObjectName("label_2")
self.label_3 = QtWidgets.QLabel(self.tab_2)
self.label_3.setGeometry(QtCore.QRect(50, 150, 54, 12))
self.label_3.setObjectName("label_3")
self.lineEdit_3 = QtWidgets.QLineEdit(self.tab_2)
self.lineEdit_3.setGeometry(QtCore.QRect(130, 140, 113, 20))
self.lineEdit_3.setObjectName("lineEdit_3")
self.pushButton_4 = QtWidgets.QPushButton(self.tab_2)
self.pushButton_4.setGeometry(QtCore.QRect(320, 230, 75, 23))
self.pushButton_4.setObjectName("pushButton_4")
self.tabWidget.addTab(self.tab_2, "")
self.tab_3 = QtWidgets.QWidget()
self.tab_3.setObjectName("tab_3")
self.pushButton_5 = QtWidgets.QPushButton(self.tab_3)
self.pushButton_5.setGeometry(QtCore.QRect(0, 0, 75, 23))
self.pushButton_5.setStyleSheet("background-color: rgba(255, 255, 255, 0);\n"
"color: rgb(255, 24, 93);")
self.pushButton_5.setObjectName("pushButton_5")
self.pushButton_6 = QtWidgets.QPushButton(self.tab_3)
self.pushButton_6.setGeometry(QtCore.QRect(90, 0, 75, 23))
self.pushButton_6.setStyleSheet("color: rgb(255, 14, 58);\n"
"background-color: rgba(255, 255, 255, 0);")
self.pushButton_6.setObjectName("pushButton_6")
self.tableWidget_2 = QtWidgets.QTableWidget(self.tab_3)
self.tableWidget_2.setGeometry(QtCore.QRect(5, 31, 511, 401))
self.tableWidget_2.setStyleSheet("color: rgb(255, 19, 70);")
self.tableWidget_2.setGridStyle(QtCore.Qt.SolidLine)
self.tableWidget_2.setObjectName("tableWidget_2")#個人信息表
conn = pymssql.connect(host = '(local)\SQLEXPRESS',database = 'yaoyi_10121',user = 'sa',password = '12345',charset="utf8")
cur=conn.cursor()
try:
ii = x[0]
except IndexError:
pass
else:
cur.execute('select * from user_inform_10121 where u_id=%s' % x[0])
rows=cur.fetchall()
print('sssssssssssssssssssssssss' + rows[0][0])
row=cur.rowcount #取得記錄個數(shù),用于設置表格的行數(shù)
print(row)
vol=len(rows[0]) #取得字段數(shù),用于設置表格的列數(shù)
print(vol)
cur.close()
conn.close()
self.tableWidget_2.setRowCount(row)
self.tableWidget_2.setColumnCount(vol)
for i in range(row):
for j in range(vol):
temp_data=rows[i][j] #臨時記錄,不能直接插入表格
print(temp_data)
data=QtWidgets.QTableWidgetItem(str(temp_data)) #轉換后可插入表格
self.tableWidget_2.setItem(i,j,data)
#self.show()
self.tabWidget.addTab(self.tab_3, "")
self.retranslateUi(Dialog)
self.tabWidget.setCurrentIndex(2)
QtCore.QMetaObject.connectSlotsByName(Dialog)
def retranslateUi(self, Dialog):
_translate = QtCore.QCoreApplication.translate
Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
__sortingEnabled = self.tableWidget.isSortingEnabled()
self.tableWidget.setSortingEnabled(False)
self.tableWidget.setSortingEnabled(__sortingEnabled)
self.pushButton.setText(_translate("Dialog", "這是按鈕"))
self.pushButton_2.setText(_translate("Dialog", "按鈕2"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("Dialog", "書城"))
self.pushButton_3.setText(_translate("Dialog", "清除"))
self.label.setText(_translate("Dialog", "書名"))
self.label_2.setText(_translate("Dialog", "作者"))
self.label_3.setText(_translate("Dialog", "價格"))
self.pushButton_4.setText(_translate("Dialog", "確認"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("Dialog", "我的推薦"))
self.pushButton_5.setText(_translate("Dialog", "個人信息"))
self.pushButton_6.setText(_translate("Dialog", "歷史記錄"))
__sortingEnabled = self.tableWidget_2.isSortingEnabled()
self.tableWidget_2.setSortingEnabled(False)
self.tableWidget_2.setSortingEnabled(__sortingEnabled)
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_3), _translate("Dialog", "我的賬戶"))
#import sys
#app = QtWidgets.QApplication(sys.argv)
#widget=QtWidgets.QDialog()
#ui = Ui_main()
#ui.setupUi(widget)
#widget.show()
#ui.sure.clicked.connect(ui.retry)
#sys.exit(app.exec_())
#顯示 :
import sys
from PyQt5.QtWidgets import QApplication,QWidget,QDialog
from dl import Ui_dialog
from tab_com import Ui_main
from PyQt5.QtCore import *#
from PyQt5.QtWidgets import *#
import pymssql
import requests
import re
class tryth(QDialog,QWidget,Ui_dialog):
def __init__(self):
super().__init__()
self.setupUi(self)
self.sure.clicked.connect(self.retry)
#self.show()
def retry(self):
th = self.yhidte.text()
print('fukkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk' + th)
widget=QtWidgets.QWidget()
#print(str(widget))
try:
oo = th
except:
print('jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj' + th)
self.B.setupUi(widget,th)
if not self.B.isVisible():
self.B.show()##############
app = QApplication(sys.argv)
wy = tryth()
wy.show()
app.exec_()
pyqt 初學者,已經(jīng)折騰兩天了,問題是把retry函數(shù)丟到dl.py里就明顯運行了用到傳入的參數(shù)部分,但是還是不顯示窗口2【tab_com】,還請指教!
北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
北大青鳥中博軟件學院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網(wǎng)學院和江蘇省首批服務外包人才培訓基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團創(chuàng)建于1999年,經(jīng)過二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術與教育服務機構,發(fā)展為教育服務業(yè)的綜合性企業(yè)集團,成為集合面授教學培訓、網(wǎng)
達內教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構,是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
浪潮集團項目經(jīng)理。精通Java與.NET 技術, 熟練的跨平臺面向對象開發(fā)經(jīng)驗,技術功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經(jīng)理職務負責iOS教學及管理工作。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術顧問,美國Dachieve 系統(tǒng)架構師,美國AngelEngineers Inc. 系統(tǒng)架構師。