一般来说,我不明白如何正确创建第二个窗口。有一个函数 addTimer() 作为主窗口类 MainWindow 的方法。
class MainWindow : public QMainWindow
{
public:
MainWindow();
protected:
void timerEvent(QTimerEvent *e);
QMap<QTimer*,QTextEdit*> getTimers();
private:
QToolBar *toolbar;
void setToolBar();
QLabel *timelbl;
QLabel *mainTimerLbl;
QTextEdit *mainTimerDescriptionLbl;
QListWidget *listW;
QMap<QTimer*,QTextEdit*> timers_descriptions;
QWindow *addWindow;
void addTimer();
};
函数本身
void MainWindow::addTimer()
{
addWindow = new QWindow();
addWindow->resize(200,120);
addWindow->setTitle("New Timer");
QLabel *timeLbl = new QLabel("Time",this);
timeLbl->setGeometry(20,60,50,20);
QTimeEdit *timeEdit = new QTimeEdit(this);
timeEdit->setGeometry(90,65,100,25);
addWindow->show();
}
一般情况下,窗口已创建,但不会出现 QLabel 和 QTimeEdit。告诉我正确的方法
QWindow用于其他任务,对于桌面应用程序,最好使用
QWidget, QDialog, или QMainWindow
.让我们拿一个 QWidget,然后你的窗口的显示和它的内容会是这样的:
您可以在此处阅读有关 QVBoxLayout的信息