吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 470|回复: 9
收起左侧

[讨论] pyqt6应该怎么实现动态显示

[复制链接]
SendingSonGY 发表于 2024-2-7 21:45
简单来说,应该怎么实现删除再显示。

举例:a、b两个框,a框是按钮区,b框是显示区,单击按钮触发事件,不同的按钮显示不同的画面。应该怎么实现这个画面的切换。

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

许我浅笑而安° 发表于 2024-2-7 22:34
本帖最后由 许我浅笑而安° 于 2024-2-7 23:05 编辑

[Python] 纯文本查看 复制代码
import sys  
from PyQt6.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButton, QLabel, QHBoxLayout  
  
class DynamicDisplayApp(QWidget):  
    def __init__(self):  
        super().__init__()  
        self.initUI()  
  
    def initUI(self):  
        # 创建布局  
        layout = QVBoxLayout()  
  
        # 创建按钮区(a 框)  
        button_layout = QHBoxLayout()
        self.button1 = QPushButton('显示文本1')  
        self.button1.clicked.connect(self.onButton1Clicked)  
        self.button2 = QPushButton('显示文本2')  
        self.button2.clicked.connect(self.onButton2Clicked)  
        button_layout.addWidget(self.button1)  
        button_layout.addWidget(self.button2)  
  
        # 创建显示区(b 框)  
        self.display_area = QLabel('')  
  
        # 将按钮区和显示区添加到主布局  
        layout.addLayout(button_layout)  
        layout.addWidget(self.display_area)  
  
        # 设置窗口的主布局  
        self.setLayout(layout)  
        self.setWindowTitle('动态显示示例')  
        self.show()  
  
    def onButton1Clicked(self):  
        # 当按钮1被点击时,更新显示区的内容  
        self.display_area.setText('你点击了按钮1')  
  
    def onButton2Clicked(self):  
        # 当按钮2被点击时,更新显示区的内容  
        self.display_area.setText('你点击了按钮2')  
  
if __name__ == '__main__':  
    app = QApplication(sys.argv)  
    ex = DynamicDisplayApp()  
    sys.exit(app.exec())
sai609 发表于 2024-2-7 22:35
wapjsx 发表于 2024-2-8 08:14
楼主,不知道你是否需要达到 QTabWidget的功能?或者也可参考下!

另外,也可以看下:QStackedWidget、QDockWidget或者QScrollBar这些控件。
blackfires 发表于 2024-2-8 17:41
可以通过定时器(QTimer)来实现,定时器可以周期性地触发一个事件,然后你可以在这个事件的处理函数中更新界面元素的显示内容。
 楼主| SendingSonGY 发表于 2024-2-12 20:30
许我浅笑而安° 发表于 2024-2-7 22:34
[mw_shl_code=python,true]import sys  
from PyQt6.QtWidgets import QApplication, QWidget, QVBoxLayou ...

谢谢,但是还是不明白怎么切换控件,比如说点击按钮1显示label控件,点击按钮二显示button控件或别的啥
GreenKite 发表于 2024-2-23 23:28
SendingSonGY 发表于 2024-2-12 20:30
谢谢,但是还是不明白怎么切换控件,比如说点击按钮1显示label控件,点击按钮二显示button控件或别的啥

你的这个切换画面的画面具体是什么呢?是简单的文字,图片等单个控件还是很多个控件组成的“页面”?如果是前者或者控件少的话直接按钮事件里换掉或者隐藏,后者的话把两个页面放QStackedWidget里切换

不知道有没有理解错你的意思
Cool_Breeze 发表于 2024-2-25 16:36
比如:
but1关联label1
but2关联label2
在点击but1的时候隐藏label2,显示label1
在点击but2的时候隐藏label1,显示label2

 楼主| SendingSonGY 发表于 2024-3-2 22:59
GreenKite 发表于 2024-2-23 23:28
你的这个切换画面的画面具体是什么呢?是简单的文字,图片等单个控件还是很多个控件组成的“页面”?如果 ...

对,就是页面
GreenKite 发表于 2024-3-3 09:14

那就用QStackedWidge嘛,不会的话上网搜一下,很简单的,直接去ui界面那里拖一个出来,反正一般看到那个控件就知道怎么用了,然后代码里只要换下页面就好了。

[C++] 纯文本查看 复制代码
ui.stackedWidget->setCurrentIndex(0);


上面那行就是把当前页面换到第 1 页
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止回复与主题无关非技术内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-28 22:56

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表