本文共 1114 字,大约阅读时间需要 3 分钟。
Qt QSplitte分割器使用(用户手动改变窗口大小)
头文件:
#ifndef CTESTDLG_H#define CTESTDLG_H#includeclass QSplitter;class QLabel;class QLineEdit;class QPushButton;class CTestDlg : public QDialog{ Q_OBJECTpublic: CTestDlg(QWidget *parent = 0);private: QSplitter * m_pSplitter; QLabel * m_pLabel; QLineEdit * m_pLineEdit;};#endif
源文件:
#include "CTestDlg.h"#include#include #include #include CTestDlg::CTestDlg(QWidget *parent) :QDialog(parent){ m_pSplitter = new QSplitter(this); m_pLabel = new QLabel("Area", m_pSplitter); //水平方向靠右. m_pLabel->setAlignment(Qt::AlignRight | Qt::AlignVCenter); m_pLineEdit = new QLineEdit(m_pSplitter); //用户不能手动将子控件大小调为0. m_pSplitter->setChildrenCollapsible(false); //设置分界线的样式. m_pSplitter->setStyleSheet("QSplitter::handle { background-color: black }"); //设置分界线的宽度. m_pSplitter->setHandleWidth(20); //找具体的分界线. QSplitterHandle *handle = m_pSplitter->handle(1); if (handle) { //handle->setFixedWidth(5); 使分界线拖动无效. //handle->setDisabled(true); } QVBoxLayout * pMainLayout = new QVBoxLayout; pMainLayout->addWidget(m_pSplitter); setLayout(pMainLayout);}
转载地址:http://uswci.baihongyu.com/