我想在Qt中创建一个类似于Windows 7开始菜单的小部件。 但这是指一个垂直的按钮列表,当悬停在上面/点击时,它会将选项列表扩展到右侧。
我想到实现这一目标的一种方法是将QComboBox弹出窗口扩展到组合框的右侧,而不是低于它,但我不知道如何做或者甚至可能:
QApplication a(argc, argv);
QDialog *w = new QDialog();
QHBoxLayout *mainLayout = new QHBoxLayout();
QVBoxLayout *ComboBoxLayout = new QVBoxLayout();
mainLayout->addLayout(ComboBoxLayout);
mainLayout->addStretch();
QComboBox *box1 = new QComboBox(w);
QComboBox *box2 = new QComboBox(w);
QComboBox *box3 = new QComboBox(w);
box1->addItem("Option 1");
box1->addItem("Option 2");
box1->addItem("Option 3");
box2->addItem("Option 1");
box2->addItem("Option 2");
box2->addItem("Option 3");
box3->addItem("Option 1");
box3->addItem("Option 2");
box3->addItem("Option 3");
ComboBoxLayout->addWidget(box1);
ComboBoxLayout->addWidget(box2);
ComboBoxLayout->addWidget(box3);
ComboBoxLayout->addStretch();
w->setGeometry(200, 200, 200, 200);
w->setLayout(mainLayout);
w->show();
如果您有任何建议如何以不同的方式达到相同的效果,请分享。
修改: QMenuBar
完成了这项工作。谢谢!