這是我的UI:與UI創建標籤編程
這片創建程序:
ui->tabWidget->addTab(new QWidget(), "Tab 2");
我想新創建的標籤有確切與「聊天室」選項卡具有相同的佈局。任何關於如何做到這一點的建議都會很棒。
這是我的UI:與UI創建標籤編程
這片創建程序:
ui->tabWidget->addTab(new QWidget(), "Tab 2");
我想新創建的標籤有確切與「聊天室」選項卡具有相同的佈局。任何關於如何做到這一點的建議都會很棒。
在Designer中最簡單的方法是創建一個名爲ChatTab
的新UI界面類,並將其基於QWidget
。
將您的聊天室小部件和佈局從您的MainWindow UI窗體移動(即剪切和粘貼)到ChatTab窗體,但將QTabWidget
容器保留在MainWindow窗體中。如果您希望聊天室在第一次打開時位於主窗口中,請將其第一個QWidget
從Designer內部推廣至ChatTab
。
任何附加標籤應編程添加像這樣:
ui->tabWidget->addTab(new ChatTab(), "Tab 2");
添加花哨的東西給ChatTab構造函數,如果你想使您的生活更輕鬆。
與QTabWidget方法相比,此方法的另一個優點是「ChatTab」小部件可以在任何窗口中重用 - QDockWidget,QDialog,QMainWindow等。您只需將其放入內部一個包裝。 – Phlucious
你應該創建此佈局定製QTabWidget,姓名ChatWidget,使工廠API這樣的:
ChatWidget * ChatWidget::creater(TabWidget * tw, ChatData * cd) {
ChatWidget * cw = ChatWidget.create();
tw.addTab(cast<QWidget>cw, 0);
// some init
...
return cw;
}
很久沒有使用Qt和C++,可能是這會給你一個提示。
使用當前聊天室類作爲基類,並做一些佈局的東西在裏面;
下一次,你想創建一個新的標籤,只是這樣做:
ui->tabWidget->addTab(new chatRoom(), "Tab 3");
希望能有所幫助。
首先,您需要在主窗口中創建一個'QTabWidget' – 2012-12-16 14:42:42
X.Jacobs:檢查更新的帖子。 – Carlj901
您需要以編程方式在新選項卡中複製佈局。無論您如何創建第一個標籤,請執行相同的操作。 –