标签: qdockwidget

Tabify 3 QDockWidget

如何在QMainWindow中为3个小部件创建一个表格化的底座?

我正在使用下面的代码:

widget1 = new QDockWidget(this);
widget1 ->setObjectName("name1");
addDockWidget(Qt::LeftDockWidgetArea, widget1);
widget2 = new QDockWidget(this);
widget2 ->setObjectName("name2");
addDockWidget(Qt::LeftDockWidgetArea, widget2);
tabifyDockWidget(widget2, widget1);
widget3 = new QDockWidget(this);
widget3->setObjectName("name3");
addDockWidget(Qt::LeftDockWidgetArea, widget3);
tabifyDockWidget(widget3, widget1);
Run Code Online (Sandbox Code Playgroud)

此代码生成两个停靠点:Dock 2,Dock 1和3.

c++ qdockwidget qmainwindow qt5

4
推荐指数
1
解决办法
2892
查看次数

Qt - 如何在顶部而不是底部显示tabified dockwidget的选项卡

在Qt中,您可以列出dockWidgets.如果我这样做,标签会显示在dockWidgets的底部,如左侧草图所示.这是我在Windows 7下使用最新的Qt4和PyQt4获得的行为.如何让Qt将标签放在dockWidgets顶部,如右图所示?

default: tabs on bottom                 I want: tabs on top
+--------------------+                  +------+-----+
| dockWidget1        |                  | tab1 | tab2|-------+
|                    |                  |                    |
| tab1 | tab2|-------|                  | dockWidget1        |
+------+-----+                          +--------------------+
Run Code Online (Sandbox Code Playgroud)

qt pyqt4 qdockwidget

4
推荐指数
1
解决办法
2123
查看次数

如何在pyqt(QGIS)中捕获QDockWidget的KeyPressedEvent

我试图在QDockWidget的KeyPressedEvent上添加一些逻辑。它在没有QDockWidget的情况下(即在主窗口上)工作,但在QDockWidget上却不工作。

这是我尝试过的:


from PyQt5 import QtCore
from PyQt5.QtWidgets import *
from qgis.core import QgsProject
from .progress_bar import Ui_MainWindow_Progress

try:
    _fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
    def _fromUtf8(s):
        return s

try:
    _encoding = QApplication.UnicodeUTF8
    def _translate(context, text, disambig):
        return QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
    def _translate(context, text, disambig):
        return QApplication.translate(context, text, disambig)

class Ui_MainWindow(QMainWindow):

    def __init__(self, iface):
        super().__init__()
        self.iface = iface

    def setupUi(self, MainWindow):

        MainWindow.setObjectName(_fromUtf8("MainWindow"))
        MainWindow.resize(356, 750)

        self.pushButton_exit = QPushButton(MainWindow)
        self.pushButton_exit.setGeometry(QtCore.QRect(290, 0, 50, 23))
        self.pushButton_exit.setObjectName(_fromUtf8("pushButton_exit"))
        self.pushButton_exit.setStyleSheet("background-color: red")

        self.label_4 = QLabel(MainWindow)
        self.label_4.setGeometry(QtCore.QRect(20, …
Run Code Online (Sandbox Code Playgroud)

python pyqt qgis qdockwidget

4
推荐指数
1
解决办法
146
查看次数

QDockWidget选项卡位置

当我在同一个地方组合多个QDockWidgets时,它们的标签位于底部.有没有办法把它们放在顶部?

更好的是,如果我可以用标签本身替换标题栏.Eclipse IDE具有非常相似的行为,如此屏幕截图所示:

Eclipse标签.

例如,JUnit选项卡也是它的标题,可以拖动它以将其停靠在其他位置.

c++ user-interface qt tabs qdockwidget

3
推荐指数
1
解决办法
4541
查看次数

PyQt如何在closeEvent中获取发件人(widget)?

我正在尝试捕获几个可以动态添加到QMainWindow的dockWidgets的closeEvent.我不清楚如何确定哪个小部件已关闭..这是一个简化的例子:

class Example(QtGui.QMainWindow):

    def __init__(self):
        super(Example, self).__init__()

        self.leftDockWidget = QtGui.QDockWidget('pick tool', self)
        self.leftDockWidget.setWidget( QtGui.QLabel('a dock widget') )
        self.addDockWidget( QtCore.Qt.LeftDockWidgetArea, self.leftDockWidget )
        self.leftDockWidget.closeEvent = self.dockWidgetCloseEvent       
        self.show()

    def dockWidgetCloseEvent(self, event):
        print event
        # how to get sender widget ?    
Run Code Online (Sandbox Code Playgroud)

event.sender()似乎不存在..任何想法?

谢谢

python pyqt4 qdockwidget

3
推荐指数
1
解决办法
3483
查看次数

QDockWidget浮动/关闭按钮悬停图像

有没有一种方法可以更改样式表中QDo​​ckWidget(Qt 4.8)的悬停/按下图标?我正在使用这种样式来将按钮图像更改为默认状态:

QDockWidget{
    font-weight: bold;
    titlebar-close-icon: url(:/icons/ui-dock-close-off.png);
    titlebar-normal-icon: url(:/icons/ui-dock-float-off.png);
}
Run Code Online (Sandbox Code Playgroud)

我尝试了几种不同的方法,但似乎都没有用。

QDockWidget::float-button:hover{
    image: url(:/icons/icons/ui-dock-float-hover.png);
}

QAbstractButton#qt_dockwidget_floatbutton{
    image: url(:/icons/icons/ui-dock-float-hover.png);
}
Run Code Online (Sandbox Code Playgroud)

qt qt4 qdockwidget qtstylesheets

3
推荐指数
1
解决办法
1293
查看次数

更改其内容时的QDockWidget行为

我正面临着我的一个问题QDockWidget.我有几个QWidget项目,QDockwidget有时有时看不到.

我希望我QDockWidget根据其内容调整自己的大小...不仅QWidgets在它出现时,而且当它们消失时......

到目前为止,当我显示QDockWidget更多内容时,我会自行调整大小QWidgets,但是当我让它们消失时,QDockWidget保持在他之前的大小...

有什么想法要帮忙吗?

提前致谢!

qt resize qdockwidget

2
推荐指数
1
解决办法
2055
查看次数

如何在pyQt QDockWidget中禁用/隐藏“关闭”按钮

我试图禁用关闭的“ x”按钮,并且我认为可以通过将DockWidgetFeature设置为仅可移动和可浮动来起作用。

def CreateDockWidget (self):

    Pane = QtGui.QDockWidget()
    Pane.DockWidgetFeatures =  QtGui.QDockWidget.DockWidgetFloatable | QtGui.QDockWidget.DockWidgetMovable;
    Pane.setAllowedAreas( QtCore.Qt.LeftDockWidgetArea | QtCore.Qt.RightDockWidgetArea )
    textBox1 = QtGui.QTextEdit()
    Pane.setWidget(textBox1 )
    self.addDockWidget( QtCore.Qt.LeftDockWidgetArea, Pane )
Run Code Online (Sandbox Code Playgroud)

为什么上述方法不起作用?顺便说一句,如果我没有设置floatable,它将保持可浮动状态,直到其不可停靠(floating)为止,然后我将无法重新停靠它。这是为什么 ?

谢谢

pyqt qdockwidget

2
推荐指数
1
解决办法
5710
查看次数

Qt:QDockWidget 停靠时的选项卡图标

Qt 的 QMainWindow 能够停靠从 QDockWidget 派生的窗口。如果它们中的几个堆叠在一起,它也会将一个放在另一个上面,从而产生一个标签栏。每当 QDockWidget 的状态改变时,都会发出一个信号 topLevelChanged()。在这一点上,我想访问底层 QTabWidget 来为新添加的选项卡设置图标。我该怎么做?我的耐心已经结束,试图从 Qt 的文档和源代码中挖掘答案。先感谢您。

在此处输入图片说明

所以图标我想在目录/索引选项卡上。

icons qt tabbar qdockwidget

2
推荐指数
1
解决办法
1379
查看次数

最大化和最小化未停靠的QDockWidget中的按钮

我一直在尝试像平常对QDialog所做的那样将按钮添加到未固定的QDockWidget窗口中,但没有成功,如下所示:

QDockWidget* dw = new QDockWidget(QString("Stream %1").arg(i + 1), this); 
dw->setWindowFlags((dw->windowFlags() | Qt::WindowMaximizeButtonHint |
    Qt::WindowMinimizeButtonHint | Qt::WindowCloseButtonHint));
Run Code Online (Sandbox Code Playgroud)

当我取消固定它们时,它们仍然只有[X]关闭按钮。

我想念什么?

开发环境信息: Windows 10 x64,Visual Studio 2015,Qt 5.7.1,C ++

c++ qt qdockwidget qt5

2
推荐指数
1
解决办法
1114
查看次数

嵌套 QDockWidget

现在我QDockWidgets在应用程序的左侧有四个定制的。当您启动应用程序时,每一项都是可见的,但由于每一项的可见性而非常小。

我希望其中的三个QDockWidgets嵌套在一个主要的后面,以给予该优先级和屏幕的整个左侧。

有谁知道在创建它们时如何告诉QDockWidgets嵌套?

c++ qt qdockwidget

0
推荐指数
1
解决办法
5024
查看次数

Qt Designer dock小部件儿童访问

我使用Qt Designer创建了一个表单,它有一些dockwidgets,这些dockwidgets有一些子窗口小部件.我如何在mainwindow.cpp中访问dockwidget和这些子窗口小部件?

qt qt4 qt-designer qdockwidget

0
推荐指数
1
解决办法
818
查看次数