首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python Qt GUI设计:菜单栏、工具栏和状态栏的使用方法(拓展篇—2)

PyQt API提供了createPopupMenu()函数创建一个弹出菜单;menuBar()函数用于返回主窗口的QMenuBar对象; addMenu()函数可以将菜单添加到菜单栏中;通过addAction...通过addMenu()方法将“File"菜单添加到菜单栏中。菜单中的操作按钮可以是字符串或QAction对象。...另外,这个信号将关联的QAction对象的引用发送到连接的槽函数上。...通个示例了解QToolBar工具栏类,示例效果如下所示: 示例中,首先调用addToolBar()方法在工具栏区域添加文件工具栏。...当单击MenuBar的菜单时,将triggered信号与槽函数processTrigger()进行绑定。当单击"show"菜单选项时,会在状态栏显示提示信息,并在5秒后消失。

7.2K31

【QT】:QMainWindow 窗口

如下图为工具栏的示意图: 一、创建菜单栏 调用 QMainWindow 类的 addToolBar() 函数来创建工具栏,每增加⼀个工具栏都需要调用一次该函数。...几乎所有使用Qt的情况下,main()函数只需在将控制转交给Qt库之前执行初始化,然后Qt库通过事件向程序告知用户的行为。//所有Qt程序必须有且只有一个main()函数。...【文字居中】 splitterMain->setStretchFactor(1,1);//第一个参数表示插入时控件序号为1的控件(即第2个控件),第二个参数大于0表示该控件可伸缩 splitterMain...//exec()函数中,Qt接收并处理用户和系统的事件,并且将他们传递给适当的窗口部件。....°★ 】那么本篇到此就结束啦,如果有不懂 和 发现问题的小伙伴可以在评论区说出来哦,同时我还会继续更新关于【Qt】的内容,请持续关注我 !!

8310
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    C++ Qt开发:ToolBar与MenuBar菜单组件

    Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍ToolBar工具栏组件以及与之类似的...工具按钮可以包含文本、图标,也可以与相应的槽函数关联,实现用户点击按钮时触发相应的操作。分组和弹出菜单: 工具栏支持将工具按钮分组,使界面更加清晰。还可以为工具按钮添加弹出菜单,以提供额外的选项。...(nullptr,"提示","触发读取文件",QMessageBox::Ok); });}代码运行后读者可看到如下图所示的效果,在配置模式中增加了两个子菜单,每个子菜单分别绑定到了一个槽函数上,而其父菜单仅仅只是展示功能此处可以不增加任何实质性的功能...该信号在用户请求上下文菜单时触发,例如通过右键单击某个小部件(如窗口、按钮、表格等)时。...我们可以将右击customContextMenuRequested()事件绑定到主窗口中,实现在窗体任意位置右击都可以弹出菜单栏,读者可以直接在主界面中点击右键转到槽,如下图;当读者点击主窗体中的右键时则会触发

    2.7K10

    【Python篇】PyQt5 超详细教程——由入门到精通(终篇)

    addAction() file_menu.addAction(open_action) 将菜单项(QAction)添加到菜单(QMenu)中。用户点击这些菜单项时,会触发相应的事件。...triggered.connect() 每个菜单项可以连接到特定的事件处理函数。通过 triggered.connect() 方法,将菜单项的点击事件绑定到自定义方法。...例如,open_action.triggered.connect(self.open_file) 将“打开”菜单项绑定到 open_file() 方法,当用户点击“打开”时,会执行该方法。...事件处理 菜单项和工具栏按钮都连接到了相同的事件处理函数,这使得无论用户从菜单栏还是工具栏发起操作,都会触发相同的逻辑。...❤️ 以上就是关于【Python篇】PyQt5 超详细教程——由入门到精通(最终篇)的内容啦,各位大佬有什么问题欢迎在评论区指正,或者私信也行哦,您的支持是我创作的最大动力!❤️

    1.4K12

    C++ Qt开发:ToolBar与MenuBar菜单组件

    Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍ToolBar工具栏组件以及与之类似的...工具按钮可以包含文本、图标,也可以与相应的槽函数关联,实现用户点击按钮时触发相应的操作。 分组和弹出菜单: 工具栏支持将工具按钮分组,使界面更加清晰。还可以为工具按钮添加弹出菜单,以提供额外的选项。...::information(nullptr,"提示","触发读取文件",QMessageBox::Ok); }); } 代码运行后读者可看到如下图所示的效果,在配置模式中增加了两个子菜单,每个子菜单分别绑定到了一个槽函数上...该信号在用户请求上下文菜单时触发,例如通过右键单击某个小部件(如窗口、按钮、表格等)时。...我们可以将右击customContextMenuRequested()事件绑定到主窗口中,实现在窗体任意位置右击都可以弹出菜单栏,读者可以直接在主界面中点击右键转到槽,如下图; 当读者点击主窗体中的右键时则会触发

    1K10

    QACTION_QA百科

    Actions可以作为独立的对象被创建,但是我们也可以在构建菜单的时候创建它们;QMenu类包含了非常简便的方法用于创建适合用作菜单项的actions。...在绝大多数情况下,actions都是应用程序主窗口的孩子。 类的枚举成员变量: 这个枚举类型主要是在调用QAction::activate()函数的时候被使用到。...QToolBar提供了QToolBar::insertWidget()函数可以十分方便的将单个widget插入到合适的位置。...如果将一个action从容器widget上删除,那么就会调用QWidgetAction::deleteWidget(),调用该函数的参数就是上面创建的自定义widget。...Mac OS X:在Mac OS X上,如果你将一个widget添加到应用程序菜单栏的某个菜单上,那么该widget可以显示出来,并且可以实现功能,只是有一些限制: 1、该widget的父对象不再是QMenu

    1.4K20

    Qt学习之路_14(简易音乐播放器)

    tick()中的参数time指定了媒体对象在媒体流中的当前时间位置,单位是毫秒。程序中关联了这个信号,其主要目的是为了获得当前的播放时间。...可以直接调用媒体播放文件的totalTime方法实现统计媒体文件的总播放时长,单位为毫秒,然后可以将其转换保存在QTime对象中,直接使用toString()函数来指定其形式。...如果在设置了媒体源之后立即调用了play()函数,那么媒体对象就不会进入StoppedState状态了,而是直接进入PlayingState状态。   ...因为只有在LoadingState完成后才能获得元数据,所以可以先调用解析器的setCurrentSource()函数为其设置一个媒体源,然后关联它的stateChanged()信号,等其进入到StoppedState...知识点总结 Qt知识点总结:   QAction对象使用setText()方法时,如果在对象的构造函数中已经有了其文字显示,那么action上面显示的就是构造函数中的text文本。

    4.4K20

    Qt学习之路_14(简易音乐播放器)

    tick()中的参数time指定了媒体对象在媒体流中的当前时间位置,单位是毫秒。程序中关联了这个信号,其主要目的是为了获得当前的播放时间。...可以直接调用媒体播放文件的totalTime方法实现统计媒体文件的总播放时长,单位为毫秒,然后可以将其转换保存在QTime对象中,直接使用toString()函数来指定其形式。...如果在设置了媒体源之后立即调用了play()函数,那么媒体对象就不会进入StoppedState状态了,而是直接进入PlayingState状态。   ...因为只有在LoadingState完成后才能获得元数据,所以可以先调用解析器的setCurrentSource()函数为其设置一个媒体源,然后关联它的stateChanged()信号,等其进入到StoppedState...知识点总结 Qt知识点总结:   QAction对象使用setText()方法时,如果在对象的构造函数中已经有了其文字显示,那么action上面显示的就是构造函数中的text文本。

    2K30

    使用QT创建系统托盘

    那么,我们也添加一个小图标来作为我们程序的系统托盘图标。这一步很简单:先在源代码的文件夹中建立一个子文件夹,比如命名为images.然后在工程中添加一个资源文件。...每一个菜单项在创建后,我们就将其触发信号连接到指定的槽函数。第14到20行将创建好的菜单项添加到上下文菜单中去,搞定。第21行将这个系统托盘显示出来。这一句很重要,不能忘记。...否则在系统托盘区将看不到图标。 这时功能基本完成,程序在一启动时就可以在系统托盘区看到托盘图标。但是如果在上述构造函数中没有加showMessage()这个函数,将不会出现托盘气球提醒。...由于我们在构造函数中已经调用了show()函数,所以此时系统托盘图标是可见的。于是进入if语句。...首先将主窗口进行隐藏,然后调用QSystemTrayIcon的showMessage()函数显式托盘气球提醒。最后调用ignore()函数忽略事件,以防止该事件继续传递。效果如下图: ?

    2.7K80

    【QT】Qt 窗口 (QMainWindow)

    创建菜单项 在 Qt 中,并没有专⻔的菜单项类,可以通过 QAction 类,抽象出公共的动作。如在菜单中添加菜单项. QAction 可以给菜单栏使⽤, 也可以给⼯具栏使⽤...."提示消息", this); // 将标签放入状态栏中 status->addWidget(label); 调整显⽰消息的位置,将创建的标签放入到状态栏的右侧 //...mainwindow.cpp ⽂件中实现:当点击 “新建” 时,弹出⼀个模态对话框; 说明:在菜单项中,点击菜单项时就会触发 triggered() 信号。...,当点击之后就会触发 triggered 信号 connect(ui->action, &QAction::triggered, [=](){ QDialog dlg...: 参数1:parent 父对象 参数2:caption 对话框标题 参数3:dir 默认打开的路径 参数4:filter ⽂件过滤器 示例代码1: #include "mainwindow.h

    35410

    如何确定 PyQt 上下文菜单中的触发菜单项

    我们可以为每个上下文菜单项创建一个 QAction 对象,并使用信号映射器将每个 QAction 的 triggered() 信号与一个槽函数关联。...在槽函数中,我们可以通过信号映射器来获取触发信号的 QAction 对象,从而确定哪个菜单项被点击。...然后,在槽函数中,我们可以通过 self.sender().data() 来获取触发信号的 QAction 对象的数据,从而确定哪个菜单项被点击。...方法中,通过比较 QAction 对象来确定哪个菜单项被触发。...在示例中,我们使用了简单的 print 语句来显示触发的动作,你可以根据具体的需求进行相应的处理。通过这些步骤,我们就可以在 PyQt 应用程序中有效地管理和处理上下文菜单中的菜单项触发事件。

    10210

    PYQT中的菜单和工具栏

    在这部分的PyQt5教程中,我们将创建菜单和工具栏。菜单式位于菜单栏的一组命令操作。工具栏是应用窗体中由按钮和一些常规命令操作组成的组件。 QMainWindow类提供了一个应用主窗口。...第一次调用这个方法创建了一个状态栏。随后方法返回状态栏对象。然后用showMessage()方法在状态栏上显示一些信息。 菜单栏 菜单栏是GUI应用的常规组成部分。...例如,在Opera网页浏览器中,当我们右键单击网页时,我们会得到一个上下文菜单。在这里,我们可以重新加载页面,返回或查看页面源。如果我们右键单击工具栏,我们将获得另一个用于管理工具栏的上下文菜单。...工具栏有一个动作,当这个退出动作被触发时应用将会被中断。 我们创建了一个动作对象,和之前菜单栏中的部分代码相似。这个动作有一个标签,图标和快捷键。...并且将QtGui.QMainWindow的quit()方法连接到了触发信号上。

    2.6K30

    Qt编写数据可视化大屏界面电子看板3-新建布局

    一、前言 能够新建布局,也是数据可视化大屏界面电子看板系统中的必备功能之一,新建布局这样的功能一般做到右键菜单中,单击新建布局菜单,弹出输入框要求输入新的布局的名称,为了更符合国情,直接支持中文名称,保存成配置文件直接中文名称命名...新建布局必须要有个默认的窗体排列,Qt中的dock窗体,默认布局会以窗体的sizehint作为大小参照标准,也不一定是完全正确的,还跟窗体中的子控件有关系,不过这些都不影响布局以后重新从配置文件加载的布局...,QMainWindow提供saveState()函数直接保存当前窗体的所有布局位置大小等信息到配置文件,至于配置文件的内容格式,那是人类无法理解的格式,反正我是看不懂,这些都没有关系的,你重新用restoreState...()函数加载读取配置文件的信息时,会自动应用,这样就很爽很完美了。...、标识牌、符号颜色等方式来发出视觉信号,鲜明准确地刺激人的神经末梢,快速地传递信息,形象直观地将潜在的问题和浪费现象都显现出来。

    1K60

    PyQt 的动作(QAction)

    PyQt使用各种动作(QAction)来为主窗口应用程序用户提供各种功能,这些动作会有文本(用在菜单,含菜单栏菜单和快捷菜单)、图标(用在菜单和工具栏上)、工具栏提示信息、状态栏提示信息,以及连接的触发时供调用的槽...值得注意的是,需要给QAction一个父类对象,例如,主窗口,以便声明动作的作用域,还可以确保在适当的时候删除它们。...) # 动作在self中可用 self.actionTextBold.setShortcut(QKeySequence.Bold)#设置跨平台标准化快捷键 #windows...#self.actionTextBold.toggled.connect(self.textBold)#也可以不指名信号参数 #也任然可以用triggered信号,但此时不能传递...bool参数(选中状态) #self.actionTextBold.triggered.connect(self.textBold) 也可以在初始化时设定QAction的各项参数:

    4.2K20

    Qt 学习记录

    在Qt中我们需要使用connect函数进二者的关联。...函数体内可以使用 Lambda 所在类中的成员变量。 a。将 a 按值进行传递。按值进行传递时,函数体内不能修改传递进来的 a 的拷贝,因为默认情况下函数是const 的。...按值传递函数对象参数时,加上 mutable 修饰符后,可以修改按值传递进来的拷贝(注意是能修改拷贝,而不是值本身)。...扩展知识: 按值传递与按引用传递的区别? 按值传递,不会改变当前调用函数里实参,按引用传值,会改变调用里面实参。 按值传递,可以保护实参不被修改,效率比较低。...直接调用QMainWindow类的addToolBar()函数获取主窗口的工具条对象,每增加一个工具条都需要调用一次该函数。 插入属于工具条的动作,即在工具条上添加操作。

    7.2K50

    Qt5 和 OpenCV4 计算机视觉项目:1~5

    ,我们还传递由QImage对象持有并由其bits方法返回的数据指针作为第四个参数。...添加动作后,我们将新的插槽连接到该动作。 在该插槽中,我们将打开的图像作为QPixmap的实例,并将其转换为QImage对象,然后转换为Mat对象。...然后,我们调用GaussianBlur函数对作为cv::Mat实例传递到我们的方法的图像进行平滑处理,并将平滑后的版本存储在smoothed变量中。...这意味着我们不能将它们传递给不支持原地操作的函数。 warpAffine函数将称为转换矩阵的矩阵作为其第三个参数。 该变换矩阵包含描述仿射变换应如何完成的数据。...QAction *calcFPSAction; 该操作将添加到文件菜单。 单击后,将调用新添加的calculateFPS插槽。

    6K10

    Python高级进阶#019 pyqt5菜单menu应用,新建多窗体

    actHelp=QAction("帮助",self) 利用Qaction的triggered信号实现菜单按钮的功能。...这里要注意,直接将子菜单写在父级菜单的下方。...新建一个窗体的写法 1.直接写一个自定义的类窗体 2.将这个类窗体先不要show 3.将这个类窗体在main中进行实例化,作为全局变量 4.在槽的行为中,将这个窗体show出来。...新建多个窗体 1.这里的思想要实例化多个窗体,且这些窗体都是全局变量 2.这里我们要考虑使用列表作为全局变量来承载这些窗体对象 3.此时,我们需要在自定义的类中书写show的代码 四、总结强调 1.掌握菜单栏的书写...2.掌握菜单按钮的单击行为跳转功能 3.掌握子菜单的建立 4.掌握多窗体的书写注意点 本节教程源代码: import sysfrom PyQt5.QtWidgets import QApplication

    3K31

    CC++ Qt ListWidget 增加右键菜单

    在上一篇博文《C/C++ Qt ListWidget 列表框组件应用》中介绍了ListWidget组件的基本使用技巧,本次将给ListWidget组件增加一个右键菜单,当用户在ListWidget组件中的任意一个子项下右键...// 全局下设置增加菜单QAction *NewAction;QAction *InsertAction;QAction *DeleteAction;其次则是通过代码的方式在程序中动态创建一个基础的右键菜单...,并对该菜单设置子菜单以及所对应的图标组,最后就是将信号连接到指定的全局菜单指针上即可,这个代码实现如下。...InsertAction->setIcon(QIcon(":/image/2.ico")); DeleteAction->setIcon(QIcon(":/image/3.ico")); // 绑定槽函数...ui->plainTextEdit->appendPlainText(QString("新建触发")); }); connect(InsertAction,&QAction::triggered

    78110
    领券