我想插入一个空格来将第二个标签与第三个标签分开.这可能吗?我已经尝试了一些样式表,但由于这个小部件对我来说是一种新的东西,到目前为止我还没有成功.
我有一个QTabWidget名为tabWidget.它有三个选项卡:"基本","高级"和"当前结构".选项卡按顺序显示在窗口小部件中.
我想在布尔result值为false 时禁用"高级"选项卡.我以为它会像这段代码一样简单:
bool result = false;
if (result == false)
{
tabWidget->widget(1)->setDisabled(true);
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,此代码不会禁用该选项卡,即使我检查它也会保持启用状态:
tabWidget->tabBar()->isTabEnabled(1); // This returns true
Run Code Online (Sandbox Code Playgroud)
为什么标签不会被禁用?还有另一种方法吗?
我使用的是Qt 5.4.0.
PyQt5 QTabWidget有一个方法setCurrentIndex,您可以使用该方法使特定选项卡成为活动选项卡.我似乎找不到任何方法来按标签名称索引(我在Qt Designer中设置).是否有任何方式(直接或间接)按名称索引?
我需要在单击选项卡时显示上下文菜单,并且需要对该特定选项卡作出反应.有没有办法在不进行子类化的情况下执行此操作?
我找不到在QTabWidget中设置文本对齐方式.
在我创建了这个小部件的实例之后,我将其tabPosition属性设置为West,但我希望它在水平方向上显示文本/标签.我已经看了Qt的样式表,但正如你所看到的,text-align属性只能在QPushButton和QProgressBar上设置.
我已经在网上搜索了,但我刚发现了一个bug报告,一个未回答的问题,最后是一个建议重新实现paint()方法的用户.也许我会解决,但我使用Python(PyQt或PySide),我不知道该怎么做.
你能帮助我吗?
编辑:感谢Teukamm,我写了一些代码:
from PyQt4 import QtGui, QtCore
class HorizontalTabWidget(QtGui.QTabBar):
def paintEvent(self, event):
for index in range(self.count()):
painter = QtGui.QPainter()
painter.begin(self)
painter.setPen(QtCore.Qt.blue);
painter.setFont(QtGui.QFont("Arial", 10));
tabRect = self.tabRect(index)
painter.drawText(tabRect, QtCore.Qt.AlignVCenter | QtCore.Qt.TextDontClip, self.tabText(index));
painter.end()
def sizeHint(self):
return QtCore.QSize(60, 130)
import sys
app = QtGui.QApplication(sys.argv)
tabs = QtGui.QTabWidget()
tabs.setTabBar(HorizontalTabWidget())
widget1 = QtGui.QWidget()
widget2 = QtGui.QWidget()
tabs.addTab(widget1, "Widget1")
tabs.addTab(widget2, "Widget2")
tabs.setTabPosition(2)
tabs.show()
sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)
最后我的文本按照我的预期对齐,但我有一点(大?)问题:当你点击每个标签按钮的右侧时,它不会发送currentChanged SIGNAL.我还尝试在paintEvent中扩展每个tabRect的宽度,但它不起作用.我应该改变什么?
谢谢 :) …
我有一个QTabWidget,每个标签都有一个QPlainTextEdit小部件.那么,我如何访问每个标签小部件?如何编辑该小部件?
请查看附图以了解问题.在您可以看到的图像中,如何删除边框线或将其颜色设置为QDialog颜色.谢谢.

我正在使用 PyQt5 来制作用户界面。现在我已经设置了一个选项卡小部件,我想在选择特定选项卡时触发该事件。换句话说,例如,我有选项卡 A 和选项卡 B,我想在每次用户从选项卡 A 切换到选项卡 B 时执行该功能。
我最近一直在努力在 PyQt GUI 应用程序中嵌入一个终端。几乎尝试了互联网上的所有搜索,但似乎没有任何帮助。
我有一个 QTabWidget,我只需要一个选项卡就有一个终端。
根本不可能这样做吗?
是不是有什么样QTabWidget.Tab2.show(terminal-app)和默认的终端被显示在TAB2和像每一个功能ls,ifconfig,cd等工作正常?
PS - 我已经尝试过这些,但没有成功。 在 PyQt5 中嵌入终端
(此处将代码从 PyQt4 转换为 PyQt5,但这不能满足我的需求)如何使用嵌入在 PyQt GUI 中的终端
TIA
我最近了解了 QTabWidget 并尝试在 python 中使用它。我的问题是,我可以更改每个选项卡的高度、宽度和背景吗?
我尝试做
self.Tab1.setStyleSheet("background: white")
Run Code Online (Sandbox Code Playgroud)
但这没有任何作用。
提前致谢。