QT를 공부하기 시작했습니다.QMainWindow에서 QT 4.8 패딩
가 어떻게이 틈을 끌 수 있습니다 : 나는 MainWindow를하고 ANE 레이아웃에서 일부 위젯을 배치를 만들 때 같은 창 위젯의 가장자리 사이의 간격이있다?
layout()->setContentsMargins(0,0,0,0);
및 스타일 시트를 편집했지만 효과가 없었습니다. 어떻게해야합니까?
QT를 공부하기 시작했습니다.QMainWindow에서 QT 4.8 패딩
가 어떻게이 틈을 끌 수 있습니다 : 나는 MainWindow를하고 ANE 레이아웃에서 일부 위젯을 배치를 만들 때 같은 창 위젯의 가장자리 사이의 간격이있다?
layout()->setContentsMargins(0,0,0,0);
및 스타일 시트를 편집했지만 효과가 없었습니다. 어떻게해야합니까?
QMainWindow
은 "중앙 위젯"이라는 개념이 있다는 점에서 QDialog
또는 QWidget
과 약간 다릅니다. 이 창에는 도구 모음, 메뉴 및 도킹과 같은 항목을 처리 할 수있는 미리 정의 된 영역이 있으며 중앙 위젯을 창에 대한 기본 컨텐트로 정의합니다. 창 자체에는 일반적으로 레이아웃이 지정되지 않습니다. 그러나 내가하고있는 일은 창 레이아웃에 값을 설정하는 것입니다 (효과가 없습니다).
중앙 위젯으로 설정 한 위젯에는 대부분 자체 레이아웃이 있습니다. 기본적으로 중앙 위젯은 이미 가장자리로 확장 될 수 있습니다. 다음 예를 먼저 고려하십시오.
#include <QApplication>
#include <QMainWindow>
#include <QVBoxLayout>
#include <QListWidget>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QMainWindow *window = new QMainWindow;
window->resize(800,600);
QListWidget *listWidget = new QListWidget;
window->setCentralWidget(listWidget);
window->show();
return a.exec();
}
목록 위젯이 가장자리까지 완전히 확장 된 것을 볼 수 있습니다. 그러나보다 현실적인 예를 들면 다음과 같습니다.
#include <QApplication>
#include <QMainWindow>
#include <QVBoxLayout>
#include <QListWidget>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QMainWindow *window = new QMainWindow;
window->resize(800,600);
QWidget *central = new QWidget;
QListWidget *listWidget = new QListWidget;
QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(listWidget);
//Uncomment this following line to remove margins
//layout->setContentsMargins(0,0,0,0);
central->setLayout(layout);
window->setCentralWidget(central);
window->show();
return a.exec();
}
레이아웃이있는 컨테이너 위젯과 목록 위젯이 있습니다. 이 중앙 위젯의 레이아웃은 여백을 소개하는 것입니다.
어떻게 마진을 제거 할 수 있습니까? – PTBG
@PTBG : 레이아웃 내용 여백을 0으로 설정하는 줄의 주석 처리 만하면됩니다. – jdi