• 107阅读
  • 5回复

[提问]怎样用程序安装目录下的ini文件来控制qml里的tabview子页的隐藏和显示 [复制链接]

上一主题 下一主题
离线panda333
 

只看楼主 倒序阅读 楼主  发表于: 05-15
在客户端ini文件里添加enable disable来控制界面里的选项卡增加和隐藏
离线XChinux

只看该作者 1楼 发表于: 05-16
ini文件的读取,放到C++里去读。
然后将参数传递给qml.
设置可见不可见,设置visible属性就可以了吧?
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线XChinux

只看该作者 2楼 发表于: 05-16
其实,你将配置文件写成.js文件,也可以,QML容易用。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线panda333

只看该作者 3楼 发表于: 05-16
回 XChinux 的帖子
XChinux:ini文件的读取,放到C++里去读。
然后将参数传递给qml.
设置可见不可见,设置visible属性就可以了吧? (2019-05-16 16:24) 

感谢大佬   发现同事用的是TabBar组件   是不是只能用动态添加和动态删除来改变
离线panda333

只看该作者 4楼 发表于: 05-16
回 XChinux 的帖子
XChinux:其实,你将配置文件写成.js文件,也可以,QML容易用。 (2019-05-16 16:24) 

CMTabButton {
                            text: modelData
                            height: tabBar.height
                            width: Scaled.metric(200)
                            leftBorder: false
                            rightBorder: checked ? false : true
                            fontPointSize: Theme.headerFontSize
                            checkedColor: CMColors.accent
                            opacity: 0.
                            //onClicked:{tabBar.removeItem(tabBar.itemAt(tabindex))}
                            Component.onCompleted: { opacity = 1. }
                            
                            Behavior on opacity { OpacityAnimator { duration: 200 } }
                        }
                    }

                    onCurrentIndexChanged: {
                        contentNodeLoader.requestTabActivating(currentIndex)
                    }
                }
            }
离线panda333

只看该作者 5楼 发表于: 05-16
回 XChinux 的帖子
XChinux:其实,你将配置文件写成.js文件,也可以,QML容易用。 (2019-05-16 16:24) 

TabBar {
                    id: tabBar
                    spacing: 0
                    Layout.fillHeight: true
                    Layout.fillWidth: true

                    background: CMRectangle {
                        topLeftRadius: Scaled.metric(5)
                        topRightRadius: Scaled.metric(5)
                        color: CMColors.backgroundMiddle
                    }

                    Repeater {
                        model: contentNodeLoader.item ? contentNodeLoader.item.tabsList : []
                        
                        CMTabButton {
                            text: modelData
                            height: tabBar.height
                            width: Scaled.metric(200)
                            leftBorder: false
                            rightBorder: checked ? false : true
                            fontPointSize: Theme.headerFontSize
                            checkedColor: CMColors.accent
                            opacity: 0.
                            //onClicked:{tabBar.removeItem(tabBar.itemAt(tabindex))}
                            Component.onCompleted: { opacity = 1. }
                            
                            Behavior on opacity { OpacityAnimator { duration: 200 } }
                        }
                    }

                    onCurrentIndexChanged: {
                        contentNodeLoader.requestTabActivating(currentIndex)
                    }
                }
            }
        }
快速回复
限100 字节
 
上一个 下一个