[英]opening new window from a window QT?
我有兩個類都在QDialog類下定義。
兩個類單獨工作正常並打開它們各自的窗口,但我想要的是從一個窗口在菜單欄中有一個動作,點擊打開另一個窗口。 定義的類的代碼是1類
class Box : public QDialog
{
Q_OBJECT
public:
Box(QWidget *parent=0);
private slots:
void refresh();
signals:
void itemChanged(QStandardItem *);
private:
void create_frame();
void create_menu();
QGroupBox *tablegroup;
QDialogButtonBox *buttonbox;
QAction *help;
QAction *exit;
QAction *idseacrh;
QAction *idsearch;
QMenu *file;
QMenu *search;
QMenuBar *menubar;
QTableView *table;
};
2級
class Box1 : public QDialog
{
Q_OBJECT
public:
Box1(QWidget *parent=0);
private:
QLineEdit *text;
QLabel *searchh;
QDialogButtonBox *buttonboxx;
QTableView *tablee;
QGroupBox *tableegroup;
QGroupBox *searchgroup;
};
行動將在Box中打開,它將打開Box1。 _ 我的圖像也是我創建並試圖上傳的_窗口,但它說我需要10個聲譽才能做到這一點,所以我無法做到這一點。
我不明白。 如果我理解了這個問題,你只需要將QAction從QMenuBar連接到與Box1小部件創建新窗口相對應的功能。 在這里,您是如何做到這一點的簡單示例:
void Box::newDialog()
{
QVBoxLayout* lay = new QVBoxLayout;
Box1* temp = new Box1(this);
lay->addWidget(temp);
QDialog dialog(this);
dialog.setModal(true);
dialog.setLayout(lay);
dialog.setWindowTitle("Box1");
dialog.exec();
}
和
connect(Box1Action, SIGNAL(triggered()), this, SLOT(newDialog()));
或者更簡單:
myMenu->addAction(tr("Create Box1 Window"), this, SLOT(newDialog()));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.