main_window.setCentralWidget(central_widget) # 显示窗口 main_window.show() 在上面的代码片段中,我们首先创建了两个QWidget对象(widget1和widget2),然后将它们添加到一个QVBoxLayout布局管理器中。接下来,我们将这个布局管理器设置为一个新的QWidget对象(central_widget) 的布局,并将其设置为主窗口(main_window...
my_main_window::my_main_window(QWidget* parent) : QMainWindow(parent), was_shown_(false) { // ... create menubar etc. setDockNestingEnabled(true); addDockWidget(Qt::LeftDockWidgetArea, new some_docking_widget1(this)); addDockWidget(Qt::TopDockWidgetArea, new some...
Q_OBJECT// remove thispublic: QLabel *label;test(QWidget *parent =0) {resize400300); label =newQLabel(this); label->setText("Test"); };voidpaintEvent(QPaintEvent *){ QStyleOption opt; opt.init(this);QPainterp(this);style()->drawPrimitive(QStyle::PE_Widget, &opt, &p,this); } ...
根据您提供的代码,背景图片无法显示的原因是在关闭QTabWidget里的所有窗口后,MainWindow的绘图事件(paintEvent)没有被触发。这可能是因为关闭最后一个窗口后,QTabWidget变得不可见,并且可能导致主窗口(MainWindow)无法接收到绘图事件。 解决此问题的一种方法是,在关闭最后一个窗口后手动调用update()函数来请求重绘主窗口。
self.central_widget.addWidget(self.start_screen) self.central_widget.addWidget(self.second_screen) self.central_widget.setCurrentWidget(self.start_screen) class Start(QWidget): def __init__(self, parent=None): super(Start, self).__init__(parent) layout = QHBoxLayout() button = QPushButton...
#include "test.h" class testwin : public QMainWindow { public: QWidget *centralWidget; QToolBar *mainToolBar; testwin(QWidget *parent = 0) : QMainWindow(parent) { centralWidget = new test(this); setCentralWidget(centralWidget); mainToolBar = new QToolBar(this); this->addToolBar(Qt::Top...