为TabWidget添加加号按钮 pyqt4
以下代码给出了一个选项卡接口,该界面可以动态添加选项卡 import sys, random from PyQt4 import QtCore, QtGui class TabContainer(QtGui.QWidget): def __init__(self): super(TabContainer, self).__init__() self.next_item_is_table = False self.initUI() def initUI(self): self.setGeometry( 150, 150, 650, 350) self.tabwidget = QtGui.QTabWidget(self) vbox = QtGui.QVBoxLayout() vbox.addWidget(self.tabwidget) self.setLayout(vbox) self.pages =
14 2024-04-05
编程技术问答社区
在QTabWidget上放置一个关闭按钮
我正在使用QTabWidget在窗口中渲染多个文档,我想在每个选项卡上绘制一个关闭按钮.我正在使用 vista 和 qt4 ,因此Tab小部件是本机Windows控件;这可能会影响可行性. 有人知道是否可以使用QTabWidget控件来执行此操作,还是我必须创建一个自定义小部件?如果创建一个新的小部件是唯一的选择,那么任何指针都将不胜感激.我是QT的新手. 解决方案 当前无法使用股票QTABWIDGET进行此操作,但是即将推出的QT 4.5(计划于2009年3月发布)将拥有手动或通过设置QTabBar.TabsClosable属性. 在此之前,获取关闭按钮的唯一方法是子类或QTabBar并手动添加(可能,但不是琐碎). 其他解决方案 以来.如果您只在QTabWidget上拨打setTabsClosable(true),您将拥有关闭按钮,但它们不会绑定到动作. 如果您希望按钮可以做某事,则必须将TabClos​​erequested(int)信号连接到自己的插槽之
6 2023-12-06
编程技术问答社区
选项卡内的工具栏
是否可以在QWidget内部添加放置在选项卡中的工具栏(在QTabWidget中)? 这个想法是为每个选项卡放一个单独的工具栏. 看来工具栏只能放置在QMainWindow中. 解决方案 QToolBar是普通QWidget,您可以将其添加到布局中.
18 2023-10-24
编程技术问答社区
如何在Qt中制作两行标签
我想拥有以下图像之类的东西.我想要两排的标签.一个包含在另一个中.使用两个QTABWIDGET的路吗?另外,我想提一下,该程序的主窗口将显示此结构.如果您有任何建议... 我希望标签看起来像以下内容(当然,不是完全;此手工制作的图像很糟糕). 解决方案 使用嵌套 由于您是特定的外观,因此有三种可能的解决方案(按复杂性排序): 使用嵌套QTABWIDGETS,请参阅 QT样式表. 有关某些示例代码,当然还有 docs中的参考. 忘记QTABWIDGET,写自己的QTABWIDGET,包含自定义标签栏,然后使用 开始使用QML为UI使用QML,也许只是为一个自定义标签栏,也许是整个中央小部件,具体取决于您在那里的内容. 其他解决方案 您可以使用 qtabbar 而不是. qtabwidget是由qstackedwidget和qtabbar形成的,但是您可以直接使用qtabbars-并具有两三个或更多层的选项卡.
32 2023-10-14
编程技术问答社区
取决于当前标签的QTabWidget大小
我的QTabWidget,其中包含不同高度的小部件(其宽度固定),但是,QTabWidget的默认实现选择最大的小部件的高度为自己的高度. 我想知道是否有一种(可能的快速)方法可以根据其当前标签更改QTabWidget的大小,以在显示较小的选项卡时节省空间. 解决方案 您可以将显示为QSizePolicy::Preferred的小部件的大小策略和其他设置为QSizePolicy::Ignored.在此之后,请调用adjustSize以更新大小.例如,您可以将QTabWidget的currentChanged信号连接到插槽: connect(ui->tabWidget,SIGNAL(currentChanged(int)),this, SLOT(updateSizes(int))); 和设置尺寸策略并在插槽中相应调整尺寸: void MainWindow::updateSizes(int index) { for(int i=0;itabWi
34 2023-10-14
编程技术问答社区
如何在标签式视图模式下,在QMdiArea的标签旁边添加一个 "新标签 "按钮?
我想拥有一个像Chrome或Firefox一样QMdiArea的"新标签"按钮. 我可以在MDI事物中添加新的子插件的地方制作一个按钮或菜单项,但是如何将其作为具有"+"标签的视觉上吸引人的小标签?另外,我对这样的按钮很满意. 解决方案 您必须为QTABBAR编写自己的课程.可以使用绝对定位添加加号按钮. 我在这里有一些代码;它应该给您基本的想法. class TabBarPlus(QtGui.QTabBar): """Tab bar that has a plus button floating to the right of the tabs.""" plusClicked = QtCore.Signal() def __init__(self): super().__init__() # Plus Button self.plusButton = QtGui.QPushButto
60 2023-10-14
编程技术问答社区
使用样式表时的QTabWidget tabPosition
我目前正在使用样式表来主题应用程序. 这是我用于qtabwidget的样式表: /*QTabBar et QTabWidget*/ QTabBar::tab { background: qlineargradient(spread:pad, x1:0.5, y1:0, x2:0.5, y2:1, stop:0 rgba(73, 73, 74, 255), stop:1 rgba(40, 40, 40, 255)); border: 1px solid rgb(190, 190, 190); max-height: 0.6em; min-width: 0.6em; padding: 5px; margin-left: -1px; margin-right: -1px; } QTabBar::tab:selected, QTabBar::tab:hover { background: qlineargradient(spr
34 2023-10-04
编程技术问答社区
QTabWidget的标签在垂直方向,但文本在水平方向
我试图用这样的侧边栏在C ++ QT中制作应用程序: 但是,在使qtabwidget的方向向西方向时,它使文本垂直.如何在左边有文本,但水平平整? PS:我不需要图标.预先感谢. 解决方案 您可以使用 qlistwidget 显示" tabs"(有一些mod可以使它看起来像您想要的)和 qstackedwidget 像普通标签小部件一样的页面也是如此. 其他解决方案 在insempla上 任何贡献都将不胜感激. 其他解决方案 使用qproxystyle,此功能将旋转180文本,您可以旋转90. void MyProxyStyle::drawItemText( QPainter* painter, const QRect&, int alignment, co
58 2023-09-02
编程技术问答社区
如何调整 QTabWidget 的大小?
我的程序执行计算并输出一些原理图,并绘制在标签上(使用QPixmap).我在每个选项卡上显示标签. 完成下一个计算并且图纸较小时,我希望选项卡的大小也会减小.但这没有发生.标签尺寸保持不变. i首先使用removeTab(>删除所有先前的选项卡),然后创建新的选项卡.当然,唯一没有删除的是QTabWidget本身. 从小图开始时,标签尺寸会随着较大的图纸而增加.但这并不能以相反的方式起作用. 我该如何解决?以下代码不起作用: layout_tabs = new QTabWidget; layout_tabs->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum); 我正在使用QT-4.8.4. 解决方案 您(用户)可以在切换到较小标签后使用鼠标手动调整窗口? 如果是这样,可能会发生的是父窗口小部件(即窗口)已调整大小以适应较大的孩子qtabwidget.当较小的标签出现在大标签之
14 2023-07-25
编程技术问答社区
如何将 QPushButton 链接到 QTabWidget 的标签页?
我正在使用QT来执行GUI程序,所以我的问题是,我在GUI程序中制作了一个主页,并且我有4个TABS TABS TAB1,TAB2,TAB3,TAB3,TAB4,并且我在主页上将Qpushbutton在主页上进行了.因此,任何人都可以告诉我如何将Qpushbutton链接到QTABWIDGET的TAB3,以便当我单击按钮时,它应该带我到Tab 3.谢谢 解决方案 首先创建一个插槽,什么处理按钮点击事件( slots , qpushbutton ) 然后使用qtabwidgets
22 2023-07-25
编程技术问答社区
是否有办法将部件放入 QTabWidget 的多个标签中?
激励方案:我正在使用QT/Qwidgets C ++应用程序,其GUI在很大程度上通过QTabWidget s的层次结构安排到选项卡中.这些选项卡中的许多是相同内容的各种组合物(例如,有一个带有widget A和B的选项卡,一个带有widget B和C的选项卡,等等). ). 我有一个特定的小部件类W,它是一个相当重量级的GUI对象,它出现在许多(但不是全部)选项卡中.目前,我通过简单地为我希望它出现的每个标签创建一个单独的对象来处理这一点,并且基本上有效,但是由于两个原因,它并不是100%满意: 由于小部件很重,因此创建了许多实例会减慢GUI在启动时的创建,并使用比我想要的更多的系统资源. 每当用户在一个选项卡中更改小部件的布局/状态时,我都必须手动回声将其在其他选项卡中更改为其所有"克隆";否则,用户会注意到不同W小部件的不同状态,因为他从一个选项卡移动到另一个选项卡.这是可行的,但这是一种维护和测试头痛. 因此,我想做的就是创建一个W的实例,并在当前可见的任何
8 2023-07-25
编程技术问答社区
Pyside6: 使用函数而非类创建 QTabWidget
我一直在尝试使用pyside6制作应用程序,似乎无法理解为什么我们不能创建一个QTABWIDGET,而QTABWIDGET只有功能. 我不确定我是否在某个地方犯了一个错误,所以这是我写过的代码: 导入: from PySide6.QtWidgets import (QMessageBox, QApplication, QWidget, QGridLayout, QLabel, QMainWindow, QTabWidget, QVBoxLayout) from sys import argv 2个选项卡函数: def WelPage(): grid = QGridLayout() wel_tab = QWidget() wel_tab.setLayout(grid) lab_name = QLabel("This is a label") git_link = Q
16 2023-07-22
编程技术问答社区
如何使背景颜色与表单背景相同?
在pyqt5中,我从qtabwidget获得了一些意外的行为,背景似乎是白色的,而不是默认形式的颜色(大致呈浅灰色).这是一个示例: # QTabWidget2.py from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QLabel, QHBoxLayout, QVBoxLayout, QTabWidget, \ QGraphicsView, QFrame, QGridLayout from PyQt5.QtGui import QPalette from PyQt5.Qt import Qt def main(): app = QApplication([]) mainForm = MainForm() mainForm.show() app.exec() # end main class MainForm(QWidget): def __init
20 2023-07-21
编程技术问答社区
pyqt qtabwidget 在QtDesigner中的水平标签和水平文本
我有问题要使用pyqt4 desginer更改文本对齐,我已经通过对齐向西进行水平制作标签文本作为水平的对齐方式我该怎么做...谢谢. 这是我的ui.py代码 # Form implementation generated from reading ui file 'untitled.ui' # # Created by: PyQt4 UI code generator 4.11.4 # # WARNING! All changes made in this file will be lost! from PyQt4 import QtCore, QtGui try: _fromUtf8 = QtCore.QString.fromUtf8 except AttributeError: def _fromUtf8(s): return s try: _encoding = QtGui.QApplication.UnicodeUTF8
26 2023-07-17
编程技术问答社区
根据QTableWidget的高亮显示行加载不同的QWidgets
在表格列表和两个其他类Combocells和Groupcells的列表中,QTableWidgets.它们以QTabWidget显示.我想单击表中的一行或单元格,然后根据表的行,两个类Combocells>>> and Groupcells刷新并加载到QTabWidget中. 文件的结构. main.py tablecells.py commocells.py groupcells.py 可视化 更新: 我已经更新了代码,信号和插槽捕获行号并将其发送. 尽管单击单元格Data and Value选项卡添加到标签上,并且 当选择row 0时,请删除.我没有得到的是row 1是 选择,Data and Value选项卡添加到小部件,对 combobox和Qlineedit当数据和值row 2是 单击,将Data and Value从刚开始添加到TabWidget. 我注意到它没有更新.我尝试了addTab和insertTab 使用self.update()
20 2023-07-17
编程技术问答社区
如何在QT中实现垂直标签?
我试图用QT进行水平文本实现垂直选项卡,但我在 qtabwidget 中找不到任何类似的选项. 有人要求某种类似的东西在这里但是,答案包含断开的链接,我怀疑它们提供了一个真正的解决方案. 有人能够做到吗? 解决方案 您必须实现自定义QTabBar覆盖tabSizeHint()和paintEvent()方法,如下所示: #include #include #include #include #include class TabBar: public QTabBar{ public: QSize tabSizeHint(int index) const{ QSize s = QTabBar::tabSizeHint(index); s.transpose(); ret
54 2023-07-17
编程技术问答社区
Qt TabWidget 每个标签的标题背景颜色
这是没有设置标题背景颜色的原始TabWidget 我的客户要求我做这样的事情; 为标题设置不同的背景颜色 All - Yellow purchase - light blue POS Sales - light green Cash Sales - Pink invoice - light purple 我尝试了: QTabBar { background-color : Yellow; } 但所有选项卡颜色都改变了 有人知道如何设置每个qtabbar背景颜色? 解决方案 无法通过QSS设置这些属性.要将样式更改为每个选项卡,我们必须创建一个自定义QTabBar并覆盖其paintEvent方法,以便能够更改我们使用QStyleOptionTab类的每个选项卡的样式,但是要更改QTabWidget tabbar需要使用setTabBar方法,但这是私有的,因此您需要创建一个自定义QTabWidget,如下所示:
82 2023-07-17
编程技术问答社区
QTabWidget有多行吗?
是否可以使QTABWIDGET像Windows系统一样行为,在有太多选项卡时使用多行? 我检查了QT的文档,似乎没有这样的东西. 解决方案 您需要子类或Widget并自己实现此功能.我建议您考虑一种不同的方法,如果您计划的标签要比方便地适合单行(无箭头或多个行).多行的标签虽然足够常见,但被广泛认为是不良的UI体验.带有箭头的一行仅略微更好:) 其他解决方案 您需要实现QTABBAR以呈现不同的行,然后将QTABWIDGET :: SETTABBAR()用于您的新实现.
50 2023-07-17
编程技术问答社区
如何在C++中改变QTabWidget的文本对齐方式?
这是与以下问题相同的问题 如何更改qtabwidget中的文本对齐? 我尝试将该Python代码移植到C ++中,但似乎不起作用. 这是标题文件: #include class HorizontalTabWidget : public QTabBar { Q_OBJECT public: explicit HorizontalTabWidget(QWidget *parent = 0); protected: void paintEvent(QPaintEvent *); QSize sizeHint() const; }; 这是源文件: void HorizontalTabWidget::paintEvent(QPaintEvent *) { for(int index = 0; index
46 2023-07-17
编程技术问答社区
标题中带有复选框的QTabWidget
我想知道如何在每个标题旁边的复选框中创建(使用PYQT4)派生QTabWidget?这样: 解决方案 实际上我选择仅选择子类qtabwidget. 该复选框是在创建新选项卡的创建中添加的,并保存到列表中以使其索引返回. setCheckState/ischecked方法旨在控制其选项卡索引指定的每个复选框的状态. 最后,捕获" statechanged(int)"信号,并使用指定相关复选框索引的额外参数列出. class CheckableTabWidget(QtGui.QTabWidget): checkBoxList = [] def addTab(self, widget, title): QtGui.QTabWidget.addTab(self, widget, title) checkBox = QtGui.QCheckBox() self.checkBoxList.append(check
16 2023-07-17
编程技术问答社区