一,问题:
QDockWidget不能使用resize方法来确定初始大小,如果用setMaximumSize和setFixedSize,的确可以设置初始大小,但也限制了QDockWidget的最大尺寸,不能用鼠标拖动来改变QDockWidget的大小。
二, 目的:
如何不通过setMaximumSize和setFixedSize
设置QDockWidget的初始大小
三, 解决方案:
派生一个QWidget的新类,设置其sizeHint的返回值
#include <QtGui>
class MyWidget : public QWidget
{
public:
QSize sizeHint() const
{
return QSize(270, 900); /* 在这里定义dock的初始大小 */
}
};
int main(int argc, char **argv)
{
QApplication app(argc, argv);
QMainWindow box;
QDockWidget *dock = new QDockWidget(&box);
MyWidget *wi = new MyWidget;
dock->setWidget(wi);
box.addDockWidget(Qt::TopDockWidgetArea, dock );
box.show();
return app.exec();
}
分享到:
相关推荐
`pressPos`记录鼠标按下时的位置,`originalRect`保存窗口的初始大小,以便在缩放时进行比较和计算。 总结来说,创建一个无标题、可自由缩放和拖动的`QWidget`窗口需要对Qt的事件处理机制有深入理解,包括鼠标事件...
你可以通过以下方式初始化它: ```cpp QMainWindow mainWindow; ``` 2. **创建QDockWidget对象**:接下来,创建一个QDockWidget,用于承载你的子窗体或部件。例如,你可以创建一个包含QTextEdit的QDockWidget:...
例如,使用QPropertyAnimation的setStartValue和setEndValue设置初始和结束状态,然后通过start()方法启动动画。 此外,可能还需要考虑用户的交互方式,如点击按钮、手势滑动或者鼠标拖拽等触发侧边栏的滑出和滑入...
通过`setSizes`方法,我们可以设置初始的子部件宽度比例。 为了实现垂直拆分,只需将`QSplitter`的构造函数参数改为`Qt::Vertical`即可。另外,`QSplitter`支持动态调整,用户可以通过拖动中间的分割条来改变子部件...
接着,`QSplitter`是PyQt5中的一个容器控件,用于将多个子部件(如QWidget、QDockWidget等)分隔开,用户可以自由调整这些部件之间的大小。这在需要显示多个并行视图时非常有用,例如代码编辑器和输出窗口的并排显示...
1. **窗口初始化**:首先,你需要继承QMainWindow并创建一个新的类,然后在构造函数中对窗口进行基本配置,如设置窗口标题、大小、位置等。 2. **添加菜单栏**:使用QMenuBar和QAction对象,可以方便地创建和添加...
这包括导入必要的模块,初始化窗口对象,以及设置窗口的属性和大小。通过实践,你可以理解如何使用`QWidget`作为窗口的基础,以及如何显示和关闭窗口。 ### Qt Designer的使用 Qt Designer是一个可视化的UI设计...
** - 这个实例通常用于演示一个简单的窗口应用程序的创建,展示如何初始化一个QApplication对象并显示一个主窗口。 2. **实例 2 标准对话框的使用** - PyQt4提供了许多预定义的对话框,如QFileDialog(文件选择...
- 提供文件元数据的访问,例如文件大小、修改时间等。 - 可用于实现自定义文件系统。 #### QAbstractFontEngine - 字体引擎基础类 - **简介**:`QAbstractFontEngine` 是一个抽象类,用于定义字体渲染引擎的行为...
dockWidget = QDockWidget('Dock Widget', mainWindow) dockWidget.setWidget(QWidget()) mainWindow.addDockWidget(Qt.RightDockWidgetArea, dockWidget) mainWindow.show() app.exec_() ``` #### 实例16:堆栈...