我使用QSplitter并排放置一些小部件。作为用户,我只需拖动分隔条即可调整这些小部件的大小。作为一名程序员,我现在不知道如何准确指定我想要的宽度和高度。这是我的原始状态(通过不同的拉伸(stretch)调整)。我尝试使用setFixedSize(),但在该调用之后,用户无法再自行调整小部件的大小(这绝对是正确的行为,因为大小已“固定”)。如果我使用resize(),它几乎没有效果。小部件已调整大小,但(!)不正确,并且(!)当我再次开始拖动时,小部件将获得其初始状态。有什么方法可以正确调整代码中左侧小部件的大小吗?我不想有固定大小,但resize()不能正常工作,如您所见。那我该怎
我想像下面这样初始化拆分器handle位置,而不是在中间。我无法在属性中设置它。如何解决?感谢您的帮助。 最佳答案 您可以使用QSplitter::setSizes来重新定位句柄:ui->splitter->setSizes(QList() 关于c++-如何在Qt中初始化拆分器句柄位置?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/25063003/
假设我有一个窗口,其中有2个水平拆分器和一个按钮。如何通过单击按钮向上/向下移动拆分器? 最佳答案 看看http://doc.qt.io/qt-4.8/qsplitter.html#setSizes.要点是没有明确移动拆分器的方法,您只能通过调整QSplitter本身中的小部件的大小来实现类似的行为,这可以通过使用QSplitter::setSizes轻松实现。我会做类似的事情QListcurrentSizes=mySplitter->sizes();//adjustsizesindividuallyhere,e.g.current
我在两边都有一个QSplitter和两个小部件,但我希望能够有一个边距,以便两个小部件之间有一个清晰的过渡。我查看了QSplitter和QSplitterHandle,但没有看到任何明确的方法。如何在两个小部件之间添加分隔线? 最佳答案 样式表是一种强大的机制,可用于更改Qt中任何小部件的外观。参见here获取快速教程,以及here引用指南。可以使用Designer中的编辑器分配样式表,或使用setStylesheet(QString)作为字符串传递。使用Designer肯定更容易,因为这样您就可以在运行小部件之前看到它的外观。现在
在QtCreator中,我创建了一个QSplitter,它将QTreeWidget与垂直布局垂直分开,右侧有很多东西。我希望第二列默认占用最大化第一列所需的最小空间。我尝试将拆分器的大小和垂直策略设置为可扩展,但肯定我做得不对。如何准确设置? 最佳答案 您可以在代码中使用QSplitter::setStretchFactor(intindex,intstretch)进行设置。您可以将第一列设置为1,第二列设置为0。splitter->setStretchFactor(0,1);splitter->setStretchFactor(1
我将QWidget和QTabWidget并排放置在一个水平分离器中。并且分离器失去了它的形状,你可以通过将鼠标悬停在它上来知道有一个分离器。如何让它可见?谢谢。 最佳答案 由于QSplitterHandle(大多数人认为是“拆分器”)是从QWidget派生的,因此您可以向其添加其他小部件。以下是我过去为解决这个确切问题所做的工作://Nowaddthelinetothesplitterhandle//Note:index0handleisalwayshidden,index1isbetweenthetwowidgetsQSplitt
当我按下按钮时,我会弹出一个对话框,用户可以在其中选择内容并在最后按“确定”。我想在此对话框中使用拆分器。左Pane将显示树,右Pane将显示其他内容。我该怎么做?来自Qt示例本身:QSplitter*splitter=newQSplitter(parent);QListView*listview=newQListView;QTreeView*treeview=newQTreeView;QTextEdit*textedit=newQTextEdit;splitter->addWidget(listview);splitter->addWidget(treeview);splitter-
当我按下按钮时,我会弹出一个对话框,用户可以在其中选择内容并在最后按“确定”。我想在此对话框中使用拆分器。左Pane将显示树,右Pane将显示其他内容。我该怎么做?来自Qt示例本身:QSplitter*splitter=newQSplitter(parent);QListView*listview=newQListView;QTreeView*treeview=newQTreeView;QTextEdit*textedit=newQTextEdit;splitter->addWidget(listview);splitter->addWidget(treeview);splitter-