QTabWidget方法在QtDesigner中不可用

QTabWidget方法在QtDesigner中不可用,qt,pyqt4,qt-designer,Qt,Pyqt4,Qt Designer,QTabWidget类中可用的方法之一是-我看不到在QtDesigner中设置此方法的方法(我知道我可以在代码中设置它)-是否有特定的原因使用此方法(可能还有其他方法?)在QtDesigner中不可设置吗?只需更改已启用QTabWidget内相应小部件的属性即可。 根据文献记载,这是可行的。我做了一个测试,看起来要么是文档错误,要么是代码中有错误。我不会解释为什么只提供解决方案 创建此方法: void tabBarWorkaround(QTabWidget *tabWidget) {

QTabWidget
类中可用的方法之一是-我看不到在QtDesigner中设置此方法的方法(我知道我可以在代码中设置它)-是否有特定的原因使用此方法(可能还有其他方法?)在QtDesigner中不可设置吗?

只需更改
已启用
QTabWidget内相应小部件的属性
即可。

根据文献记载,这是可行的。我做了一个测试,看起来要么是文档错误,要么是代码中有错误。我不会解释为什么只提供解决方案

创建此方法:

void tabBarWorkaround(QTabWidget *tabWidget) {
    for (int i=0; i<tabWidget->count(); ++i) {
        tabWidget->setTabEnabled(i, tabWidget->widget(i)->isEnabled());
    }
}
从现在起,在designer中更改页面的
enabled
属性将按照您的意愿工作。
我已经用Qt 5.2.1测试了这一点,它是有效的。

我意识到有两种不同的可能事件:

  • 取消选中QtDesigner中选项卡小部件的“启用”复选框实际上会调用
    self..setEnabled(False)
    ,这似乎会禁用选项卡中的所有子小部件,但不会禁用选项卡按钮本身(!)

  • 在QtDesigner中,禁用选项卡按钮使其不可单击是不可能的,但在代码中是可能的(如前一个答案中所述):
    self.\u uiform..setTabEnabled(,False)


据我所知,“启用”复选框用于父
QWidget
,而不是每个单独的页面widget;如果页面中有一个小部件,它有属性,但单个页面没有t@ChrisW您可以在右侧的对象资源管理器中选择选项卡页面side@ratchetfreak我相信他不想禁用选项卡小部件,但是选项卡栏中的选项卡。@thuga你读过OP中的链接文档了吗
setTabEnabled
设置相关tabWidgets的
enabled
属性。@ratchetfreak它还从选项卡栏禁用选项卡<代码>页面的选项卡被适当地重新绘制。
。从属性编辑器中禁用小部件并不能做到这一点。只有属性在属性编辑器中可见。这当前不是一个属性。您可以提交功能请求。如果您想了解更多有关请求功能的信息。
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    tabBarWorkaround(ui->tabWidget);
}