hbox = QHBoxLayout(self)
left = QFrame(self)
# QFrame 控件添加StyledPanel样式能使QFrame 控件之间的界限更加明显
#left.setFrameShape(QFrame.StyledPanel)
right = QFrame(self)
#right.setFrameShape(QFrame.StyledPanel)
splitter1 = QSplitter(Qt.Horizontal)
splitter1.addWidget(left)
splitter1.setSizes([20,]) #设置分隔条位置
splitter1.addWidget(right)
hbox.addWidget(splitter1)
self.setLayout(hbox)
self.tree = QTreeWidget(left)
self.tree.setStyleSheet("background-color:#eeeeee;border:outset;color:#215b63;")
self.tree.setAutoScroll(True)
self.tree.setEditTriggers(QAbstractItemView.DoubleClicked | QAbstractItemView.EditKeyPressed)
self.tree.setTextElideMode(Qt.ElideMiddle)
#self.tree.setIndentation(30)
self.tree.setRootIsDecorated(True)
self.tree.setUniformRowHeights(False)
self.tree.setItemsExpandable(True)
self.tree.setAnimated(False)
self.tree.setHeaderHidden(True)
self.tree.setExpandsOnDoubleClick(True)
self.tree.setObjectName("tree")
# 设置根节点
root = QTreeWidgetItem(self.tree)
root.setText(0, '系统管理')
# 设置树形控件的列的宽度
#self.tree.setColumnWidth(0, 150)
# 设置子节点1
child1 = QTreeWidgetItem()
child1.setText(0, '增加人员信息')
root.addChild(child1)
# 设置子节点2
child2 = QTreeWidgetItem(root)
child2.setText(0, '查询人员信息')
# 加载根节点的所有属性与子控件
self.tree.addTopLevelItem(root)
# 设置stackedWidget
self.stackedWidget = QStackedWidget(right)
# 设置第一个面板
self.form1 = QWidget()
self.formLayout1 = QHBoxLayout(self.form1)
self.label1 = QLabel()
self.label1.setText("增加人员信息面板")
self.label1.setSizePolicy(QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding))
self.label1.setAlignment(Qt.AlignCenter)
self.label1.setFont(QFont("Roman times", 50, QFont.Bold))
self.formLayout1.addWidget(self.label1)
# 设置第二个面板
self.form2 = QWidget()
self.formLayout2 = QHBoxLayout(self.form2)
self.label2 = QLabel()
self.label2.setText("查询人员信息面板")
self.label2.setSizePolicy(QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding))
self.label2.setAlignment(Qt.AlignCenter)
self.label2.setFont(QFont("Roman times", 50, QFont.Bold))
self.formLayout2.addWidget(self.label2)
# 将两个面板,加入stackedWidget
self.stackedWidget.addWidget(self.form1)
self.stackedWidget.addWidget(self.form2)
# 树节点监听事件
self.tree.clicked.connect(self.onClicked)
# 窗口最大化
self.showMaximized()
self.setWindowTitle('树窗口分隔案列')
self.show()
def onClicked(self,qmodeLindex):
item=self.tree.currentItem()
print('Key=%s,value=%s'%(item.text(0),item.text(1)))
if item.text(0) == '增加人员信息':
self.on_pushButton1_clicked()
elif item.text(0) == '查询人员信息':
self.on_pushButton2_clicked()
else:
print('返回主界面')
# 按钮一:打开第一个面板
def on_pushButton1_clicked(self):
self.stackedWidget.setCurrentIndex(0)
# 按钮二:打开第二个面板
def on_pushButton2_clicked(self):
self.stackedWidget.setCurrentIndex(1)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
import ui_denglu as dl
import ui_zhuche as zc
from PyQt5.QtWidgets import QApplication,QMainWindow,QDialog
import sys
class parentWindow(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
self.main_ui = dl.Ui_submit_user()
self.main_ui.setupUi(self)
class childWindow(QDialog):
def __init__(self):
QDialog.__init__(self)
self.child=zc.Ui_MainWindow()
self.child.setupUi(self)
if __name__=='__main__':
app=QApplication(sys.argv)
window=parentWindow()
child=childWindow()
#通过toolButton将两个窗体关联
btn=window.main_ui.pushButton_new
btn.clicked.connect(child.show)
window.show()
sys.exit(app.exec_())
以上所述是小编给大家介绍的python 中pyqt5 树节点点击实现多窗口切换问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。
【本文对您有帮助就好】
元
RedisUtil工具类
在Redis中数据都是以key-value的形式存储的,key规定只能是string类型的,所以我们
缓存技术相关
redis-server.exe 服务器启动命令
redis-cli.exe 命令行客户端
定义一个时间类 Time,它能表示 24 小时制的时、分、秒,具体要求如下
(20 分) 定义一个时间类 Time,它能表示 24 小时制的时、分、秒,具体要求如下:
java正则表达式 过滤特殊字符的正则表达式
java正则表达式 过滤特殊字符的正则表达式
安装DB2
安装DB2
Linux扩容分区
Linux扩容分区
输出相关路径
输出相关路径
输出当前目录下所有文件名到指定文件中
输出当前目录下所有文件名到指定文件中
删除命令参数说明
删除命令参数说明
删除前3天、前30天、前7天的文件
删除前3天、前30天、前7天的文件
多线程工作处理
多线程工作处理、多线程工作处理简单实现类、多线程工作处理接口
压缩jsp,html中的代码,去掉所有空白符、换行符
压缩jsp,html中的代码,去掉所有空白符、换行符
压缩、解压缩工具类
压缩、解压缩工具类
二维码工具类
二维码工具类、支付二维码
缓存工具类 缓存名创建后即使移除缓存,也不会重新创建
缓存工具类 缓存名创建后即使移除缓存,也不会重新创建
json工具类
json工具类
常量资源文件工具类
常量资源文件工具类
资源文件工具类
资源文件工具类
处理查询结果后分页排序类
处理查询结果后分页排序类
html解析工具类、html表格解析解析工具类
html解析工具类、爬虫、html表格解析解析工具类、webClient工厂
金融业务 (4)
教育资料 (10)
Java (901)
C++ (86)
C# (215)
Python (9022)
Oracle (911)
SqlServer (681)
MySql (600)
DB2 (33)
PostgreSql (23)
Tomcat (825)
Weblogic (12)
Windows (214)
Linux (647)
VMware (32)
Ubuntu (194)
ASP.NET (198)
Android (681)
IOS (75)
Hive (45)
Hadoop (50)
Hbase (9)
Spark (4)
redis (78)
PHP (145)
Jquery (174)
Javascript (168)
NoSQL (6)
CSS (127)
资料下载 (25)
交易系统 (9)
java工具类 (32)
其它 (7)
秕处理 (4)