Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui->setupUi(this); setFixedSize(750, 500); // 窗口大小 ui->stackedWidget->setCurrentIndex(0); QSqlQueryModel *typeModel = new QSqlQueryModel(this); typeModel->setQuery("select name from type"); ui->sellTypeComboBox->setModel(typeModel); QSplitter *splitter = new QSplitter(ui->managePage); splitter->resize(700, 360); splitter->move(0, 50); splitter->addWidget(ui->toolBox); splitter->addWidget(ui->dailyList); splitter->setStretchFactor(0, 1); splitter->setStretchFactor(1, 1); on_sellCancelBtn_clicked(); showDailyList(); }
int main(int argc, char** argv) { // Read command lines arguments. QApplication application(argc,argv); // Create Splitters QSplitter *hSplit = new QSplitter(Qt::Horizontal); QSplitter *vSplit1 = new QSplitter(Qt::Vertical,hSplit); QSplitter *vSplit2 = new QSplitter(Qt::Vertical,vSplit1); hSplit->resize(1280,720); DataLive::tp_shared_ptr _pData( new DataLive() ); // Instantiate the viewers. Viewer global_view(string("global_view"), _pData, vSplit1, NULL); Viewer rgb_view(string("rgb_view"), _pData, vSplit1, &global_view); Viewer camera_view(string("camera_view"), _pData, vSplit1, &global_view); Viewer depth_view (string("depth_view"), _pData, vSplit1, &global_view); hSplit->addWidget(&global_view); hSplit->addWidget(vSplit1); hSplit->setStretchFactor(0, 3); hSplit->setStretchFactor(1, 1); vSplit1->addWidget(&rgb_view); vSplit1->addWidget(vSplit2); vSplit2->addWidget(&depth_view); vSplit2->addWidget(&camera_view); #if QT_VERSION < 0x040000 // Set the viewer as the application main widget. application.setMainWidget(&viewer); #else hSplit->setWindowTitle("Kinect Multi-view"); #endif try{ // Make the viewer window visible on screen. hSplit->show(); // Run main loop. return application.exec(); } catch ( btl::utility::CError& e ) { if ( std::string const* mi = boost::get_error_info< btl::utility::CErrorInfo > ( e ) ) { std::cerr << "Error Info: " << *mi << std::endl; } } catch ( std::runtime_error& e ){ PRINTSTR( e.what() ); } }
int main(int argc, char **argv) { QApplication app(argc, argv); QSplitter splitter; splitter.addWidget(new StaticWidget()); splitter.addWidget(new StaticWidget()); splitter.resize(600, 400); splitter.show(); return app.exec(); }
int main(int argc, char *argv[]) { KAboutData aboutData( "tutorial1", 0, ki18n("Tutorial 1"), "1.0", ki18n("Displays a KMessageBox popup"), KAboutData::License_GPL, ki18n("(c) 2007"), ki18n("Some text..."), "http://tutorial.com/", "*****@*****.**"); KCmdLineArgs::init(argc, argv, &aboutData); KApplication app; QSplitter* splitter = new QSplitter(); QDirModel* model = new QDirModel; QTreeView* tree = new QTreeView(splitter); tree->setModel(model); tree->resize(100, 800); QFrame* frame = new QFrame(splitter); QBoxLayout* boxLayout = new QVBoxLayout(frame); QWidget* searchBar = new Pecera::SearchBar(); QWidget* terminal = createTerminalWidget(frame); boxLayout->addWidget(searchBar); boxLayout->addWidget(terminal); frame->resize(600, 500); //terminal->show(); splitter->resize(700, 500); splitter->show(); return app.exec(); }
int main(int argc, char *argv[]) { QApplication app(argc, argv); // cria um objeto "splitter" para compartilhar widgets: QSplitter *splitter = new QSplitter(Qt::Horizontal); // horizontal e o default... // cria um "model" usando o "QDirModel" QDirModel *model = new QDirModel(&app); // será deletado // na destrutora de QApplication (QObject) // model->setFilter(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot); // model->setNameFilters(QStringList() << "cursoQt"); // Neste exemplo, // O "model" será configurado para pegar dados // a partir de determinado(s) drive(s) ou diretório(s). // E serão criadas três "views" (uma "tree", uma "table", e uma "list" ) // relacionadas ao mesmo "model"; // Cada "view" exibe os dados de uma determinada maneira; // 1- ==== a primeira "view" é uma "tree": QTreeView *tree = new QTreeView(splitter); tree->setModel(model); // O DirModel já oferece um "RootIndex" a partir do qual // cada "view" exibe drives, diretórios e arquivos abaixo dele. // No Windows o "RootIndex" default exibirá // a relacão de todos os drives; // para outros Sistemas apenas o root ('/'). // Mas podemos alterar o "RootIndex" de cada view. // Um exemplo: partindo do diretório atual: // tree->setRootIndex(model->index(QDir::currentPath())); #ifdef Q_OS_WIN QString rootNdx("C:/cursoQt"); #else QString rootNdx("/home/user_name/cursoQt"); #endif // tree->setRootIndex(model->index(rootNdx)); // MAS, temos a função que develve o root do SO: // outro exemplo: partindo do diretorio "root" ( "/" ou "C:/"): // tree->setRootIndex(model->index(QDir::rootPath())); // ou ainda, um diretório específico: // tree->setRootIndex(model->index("/cursoqt")); // tree->setRootIndex(model->index("/cursoqt")); /* // outro exemplo: partindo de determinado drive: QFileInfoList fiList = QDir::drives(); foreach( const QFileInfo & fi, fiList ) { if ( fi.filePath()=="D:/" ) // apenas o drive "D:/" { tree->setRootIndex(model->index(fi.filePath())); break; } } */ // 2- ==== a segunda "view" é uma "table" QTableView *table = new QTableView(splitter); table->setModel(model); // table->setRootIndex(...); // idem // 3- ==== a terceira "view" é uma "list": QListView *list = new QListView(splitter); list->setModel(model); //list->setRootIndex(model->index(rootNdx)); // idem // configura e exibe a "splitter" splitter->setWindowTitle("00_dir - 3 'views' usando o mesmo 'model' (diretórios)"); int width=800; splitter->resize(width,500); // largura de cada "view" QList< int > cols; cols << int(width* 0.45) << int(width*0.45) << int(width*0.1); splitter->setSizes(cols); splitter->setChildrenCollapsible(false); // impede que cada banda colapse totalmente splitter->show(); int ret = app.exec(); delete splitter; // porque não alocou o splitter na PILHA ???? return ret; }