标签: qsplitter

如何在Qt Designer中管理QSplitter

当我按下一个按钮时,我会弹出一个用户选择的对话框并在结尾处按"确定".我想在这个对话框中有一个分割器.左侧窗格将显示树,右侧将显示其他内容.我该怎么做?

从Qt示例本身:

 QSplitter *splitter = new QSplitter(parent);
 QListView *listview = new QListView;
 QTreeView *treeview = new QTreeView;
 QTextEdit *textedit = new QTextEdit;
 splitter->addWidget(listview);
 splitter->addWidget(treeview);
 splitter->addWidget(textedit);
Run Code Online (Sandbox Code Playgroud)

因此,在此示例中,创建拆分器时没有任何对话框资源.如果我必须创建这种方式,那就意味着我必须在代码中创建所有控件而不是Qt Creator.

当我需要屏幕上的其他控件时,这样做的正确方法是什么?

c++ qt qsplitter qt-creator qt-designer

28
推荐指数
2
解决办法
2万
查看次数

QSplitter在QWidget和QTabWidget之间无法区分

我在一个水平分离器中将QWidget和QTabWidget放在一起.分离器失去了它的形状,只有将鼠标悬停在它上面就可以知道有一个分离器.如何让它可见?

谢谢.

c++ qt qt4 qsplitter qtabwidget

15
推荐指数
3
解决办法
8731
查看次数

如何从QSplitter中删除QWidgets

在我的应用程序中有一个由QSplitter分割的窗口,我需要删除一个小部件.

我怎样才能做到这一点?我找不到有用的方法

qt parent qsplitter qwidget

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

QSplitter:如何缩小第二列?

在QtCreator中,我创建了一个QSplitter,它将QTreeWidget与垂直布局垂直分开,右边有很多东西.

我希望默认情况下第二列占用最小化第一列所需的最小空间.

我尝试将分割器的大小和垂直策略设置为扩展,但我肯定不是正确的.我该怎么设置呢?

c++ qsplitter qt-creator

13
推荐指数
1
解决办法
8204
查看次数

pyqt qt4如何向QSplitter添加一个小箭头/折叠按钮

您可以自定义分割器手柄的厚度和背景图像

http://qt-project.org/doc/qt-4.8/stylesheet-examples.html#customizing-qsplitter

但是有没有办法添加一个小的图形箭头按钮,所以当用户点击它时,我可以调用splitter.setSizes([0, 1])它来折叠它.

collapsebutton

我可以使用带有QButton的vbox布局,但它占用太多空间并且看起来不太好.

qt qt4 pyqt qsplitter pyqt4

10
推荐指数
1
解决办法
3303
查看次数

如何移动QSplitter?

假设我有一个窗口,其中有2个水平sppliters和一个按钮.如何通过单击按钮上/下移动分离器?

c++ qt qsplitter

9
推荐指数
1
解决办法
4134
查看次数

Qt - 同时使分离器水平和垂直

我有QGridLayout一个QSplitter就可以了.在那QSplitter我有一个分流器,让我分路器移到左到右的两个元素.好吧,那很好.但后来我想添加另一个分配器,但是它会向上移动.(我会用图片解释.)

拆分窗口,在一个宽盒子顶上有两个盒子

所以它主要有2个分离器,一个从左到右移动,另一个从上到下移动.

我希望你明白.

QGridLayout *layout = new QGridLayout(this);
QSplitter *splitter = new QSplitter();
text1 = new QPlainTextEdit();
text2 = new QPlainTextEdit();
splitter->addWidget(text1);
splitter->addWidget(text2);
text1->resize(800, this->height());
layout->addWidget(splitter, 1, 0);
browser = new QTextBrowser();
browser->resize(1, 1);
layout->addWidget(browser, 2, 0);
setLayout(layout);
Run Code Online (Sandbox Code Playgroud)

这里我只添加了一个分配器,因为我不知道如何做第二个.

qt qsplitter

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

如何在Qt中初始化分离器手柄位置?

我想初始化分离器手柄位置,如下所示,而不是在中间.我不能在房产中设置它.

在此输入图像描述

怎么解决这个?

谢谢您的帮助.

c++ qt splitter qsplitter

8
推荐指数
3
解决办法
4357
查看次数

QSplitter有一个固定大小的小部件和一个可变大小的小部件?

是否有可能有一个QSplitter固定大小的窗口小部件和另一个可变大小的窗口小部件?

这段代码设置正确,但是当窗口调整大小时,拆分器会按比例更改初始窗口小部件的大小:

vSplitter = new QSplitter(Qt::Vertical, this);
vSplitter->addWidget(widget1);
vSplitter->addWidget(widget2);
QList<int> heights;
heights.push_back(550);
heights.push_back(1000);
vSplitter->setSizes(heights);

setCentralWidget(vSplitter);
Run Code Online (Sandbox Code Playgroud)

谢谢.

qt qsplitter

7
推荐指数
1
解决办法
1万
查看次数

如何强制QAbstractItemView重新计算项目sizeHints

我在QSplitter中有QListView和QTabWidget.QListView使用自定义模型和自定义委托.在委托中,我重新实现了paint和sizeHint方法.但是当我调整视图大小时 - 元素的高度不会重新计算.我该如何解决?示例图片:

在调整大小之前调整大小后

在谷歌我发现可以从模型中发出layoutChanged,但我只想更新当前视图,因为模型的内容不会改变.

委托代码:

void ChatItemDelegate::paint( QPainter *painter, const QStyleOptionViewItem& option, const QModelIndex& index ) const
{
    painter->save();

    ChatItem *item = static_cast< ChatItem * >( index.internalPointer() );
    QTextDocument doc;

    doc.setHtml( item->htmlText() );
    doc.setTextWidth( option.rect.width() );

    QRect clip( 0, 0, option.rect.width(), option.rect.height() );
    painter->translate( option.rect.topLeft() );

    QColor bgColor = index.row() % 2 ? QColor( 255, 0, 0, 40 ) : QColor( 0, 255, 0, 40 );
    painter->fillRect( clip, bgColor );
    doc.drawContents( painter, clip );

    qDebug() << "paint: " …
Run Code Online (Sandbox Code Playgroud)

qt qsplitter qlistview

7
推荐指数
1
解决办法
1872
查看次数

标签 统计

qsplitter ×10

qt ×9

c++ ×5

qt-creator ×2

qt4 ×2

parent ×1

pyqt ×1

pyqt4 ×1

qlistview ×1

qt-designer ×1

qtabwidget ×1

qwidget ×1

splitter ×1