Java 和 Qtjambi-4.8.6 QTabWidget 不以 MacOs 为中心

问题描述

我将 QTJambi 4.8.6 与 JDK 16 一起使用。当我从命令行运行代码时,选项卡未居中并且没有为选项卡标签显示足够的空间。我查看了 QT documentation,它说 QTabWidget 应该在 MacOs 中居中,并且没有提到如何设置选项卡的宽度。

我尝试使用 TabPosition Enum 但这没有“居中”选项,只有垂直位置(北和南)。似乎没有宽度属性让我假设标签应该是正确的大小,具体取决于标签内容

最后,我也尝试使用 docuumentMode 但这不会居中或更改选项卡的大小。这是 Java 代码

/*
 * To change this license header,choose License Headers in Project Properties.
 * To change this template file,choose Tools | Templates
 * and open the template in the editor.
 */
package com.ripplesoftware.sitereviewer;

import com.trolltech.qt.gui.QApplication;
import com.trolltech.qt.core.QTextCodec;
import com.trolltech.qt.gui.QLabel;
import com.trolltech.qt.gui.QMainWindow;
import com.trolltech.qt.gui.QVBoxLayout;
import com.trolltech.qt.gui.QWidget;
import com.trolltech.qt.gui.QPushButton;
import com.trolltech.qt.gui.QTabWidget;

/**
 *
 * @author development
 */
public class SiteReviewer {

    public static void main(String[] args){
      QApplication.initialize(args);
      QTextCodec.setCodecForCStrings(QTextCodec.codecForName("UTF-8"));
      QTextCodec.setCodecForLocale(QTextCodec.codecForName("UTF-8"));

      QMainWindow mainWindow = new QMainWindow();
      /* Set main window */
      mainWindow.setwindowTitle("RSC Site Reviewer");
      mainWindow.setFixedSize(600,800);
      mainWindow.setVisible(true);
      /* Set Layout */
      QVBoxLayout vBoxLayout = new QVBoxLayout();
      vBoxLayout.setContentsMargins(0,0);
      QWidget mainWidget = new QWidget();
      mainWidget.setFixedSize(600,800);
      mainWidget.setVisible(true);
      mainWidget.setLayout(vBoxLayout);
      mainWindow.setCentralWidget(mainWidget);
      /*  */
      /* Setup tab */
      QTabWidget tabWidget = new QTabWidget(mainWidget);
      tabWidget.setDocumentMode(false);
      QWidget tab = new QWidget();
      tabWidget.addTab(tab,"Tab 1 with lots of words");
      QWidget tab2 = new QWidget();
      tabWidget.addTab(tab2,"Tab 2");

      QPushButton hello = new QPushButton("Quit");
      hello.resize(120,40);
      hello.show();
      vBoxLayout.addWidget(hello);

      QApplication.execStatic();

    }

}

我使用以下命令编译和执行:

$ javac -cp qtjambi-4.8.6.jar:qtjambi-native-macosx-gcc-4.8.6.jar SiteReviewer.java
$ java -XstartOnFirstThread -cp qtjambi-4.8.6.jar:qtjambi-native-macosx-gcc-4.8.6.jar SiteReviewer.java

enter image description here

我的问题是:将标签居中我做错了什么?我是否正确地创建了布局,或者选项卡是否以某种方式被装入了比整个画布还小的布局的一部分?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...