- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个带有动态添加和删除选项卡的 QTabWidget。我还有一个 QToolButton 设置为角落小部件,以便处理其 clicked()
信号上的添加事件。
虽然添加效果非常好,但从小部件中删除所有选项卡会导致按钮消失。我曾尝试使用样式表创建宽度为 0 的不可见第一个选项卡,但这种方法让我失败了。可能是因为我在所有选项卡上都有 setTabsClosable(true)
,这为关闭按钮腾出了空间。
我还认为当 QTabBar 在没有选项卡时将其高度折叠为 0 时按钮正在消失。我试过 tabBar()->setMinimumHeight(30);
但这个解决方法也没有用。有什么想法吗?
这里我的代码示例重现了这个问题:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "QToolButton"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
ui->tabWidget->setTabsClosable(true);
ui->tabWidget->tabBar()->setMinimumHeight(30);
QToolButton *btn = new QToolButton(ui->tabWidget);
btn->setText("Add new");
btn->setCursor(Qt::ArrowCursor);
btn->setAutoRaise(true);
ui->tabWidget->setCornerWidget(btn, Qt::TopLeftCorner);
qDebug() << ui->tabWidget->cornerWidget(Qt::TopLeftCorner);
connect(ui->tabWidget, SIGNAL(tabCloseRequested(int)), this, SLOT(closeTab(int)));
}
MainWindow::~MainWindow()
{
delete ui;
}
//SLOT
void MainWindow::closeTab(int index)
{
ui->tabWidget->removeTab(index);
if(ui->tabWidget->count() == 0)
qDebug() << ui->tabWidget->cornerWidget(Qt::TopLeftCorner);
}
最佳答案
我已经解决了这个问题。您需要修复 QToolButton
和 QTabBar
的最小高度。
到目前为止,我已经在 python 中运行了这段代码:
def initialise()
# Initialise your Tab Widget however you need
self.tabCloseRequested.connect(self.removeTab)
def removeTab(self,index):
h = self.cornerWidget().height()
self.removeTab(index)
self.update()
if self.count() == 0:
self.cornerWidget().setMinimumHeight(h)
self.setMinimumHeight(h)
关于c++ - QTabWidget 角落 QToolButton 小部件消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18144626/
我试图找到这些三角形角的像素值。我可以使用 Harris 角并获得角的所有 x、y 的 numpy 数组。我希望将这些角值存储在称为角的二维列表中,如 [[x1,y1], [x2,y2], [x3,y
我的谷歌地图实例中的信息窗口看起来很有趣: 构成信息窗口图形角落和末端的某些图像似乎丢失了。知道为什么会这样吗?我正在尝试,但还没有弄清楚。 我正在使用 gmap3 ,一个用于 google 的 V3
我有一个带有动态添加和删除选项卡的 QTabWidget。我还有一个 QToolButton 设置为角落小部件,以便处理其 clicked() 信号上的添加事件。 虽然添加效果非常好,但从小部件中删除
我是一名优秀的程序员,十分优秀!