要在 QWidget 上设置自己的边框线,而不影响其子控件(例如按钮)的边框线,可以通过以下方法实现:
#include <QtWidgets>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
// 创建QWidget作为容器,并设置自身边框样式
QWidget *widget = new QWidget;
widget->setStyleSheet("border: 1px solid black;");
// 创建两个QPushButton
QPushButton *button1 = new QPushButton("Button 1");
QPushButton *button2 = new QPushButton("Button 2");
// 创建QHBoxLayout并将按钮添加到其中
QHBoxLayout *layout = new QHBoxLayout;
layout->addWidget(button1);
layout->addWidget(button2);
// 将QHBoxLayout设置为QWidget的布局
widget->setLayout(layout);
// 使用QVBoxLayout创建一个容器来放置QWidget,此时该容器没有边框线
QVBoxLayout *mainLayout = new QVBoxLayout;
// 然后将QWidget添加到这个容器中,这样QWidget就有了独立的边框线
mainLayout->addWidget(widget);
// 设置主窗口的布局为mainLayout,并显示主窗口
QWidget mainWindow;
mainWindow.setLayout(mainLayout);
mainWindow.show();
return app.exec();
}
通过以上代码,在一个带有独立边框样式的 QWidget 中放置了两个按钮,同时保持按钮本身没有边框线。最后将该 QWidget 放置在另外一个容器中,并设置布局为 QVBoxLayout ,使得整体界面更加清晰。
内容由零声教学AI助手提供,问题来源于学员提问