Я думаю, что единственное, что вам здесь нужно, это какой-то родительский виджет-заполнитель. Если вы создаете свой виджет без родителя, он считается окном верхнего уровня. Но если вы создаете его как дочерний элемент окна верхнего уровня, он считается дочерним и не получает запись панели задач как таковую. Родительское окно, с другой стороны, также не получает запись панели задач, потому что вы никогда не устанавливаете ее видимой: этот код здесь работает для меня:
class MyWindowWidget : public QWidget
{
public:
MyWindowWidget(QWidget *parent)
: QWidget(parent, Qt::Dialog)
{
}
};
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QMainWindow window;
MyWindowWidget widget(&window);
widget.show();
return app.exec();
}
Запись панели задач никогда не отображается, если вы хотите, чтобы вы хотели.