MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); ui->sans_img->setPixmap(QPixmap(":/images/image.png")); fontNameLbl = new QLabel(tr("字体:")); fontComboBox = new QFontComboBox; fontComboBox->setFontFilters(QFontComboBox::ScalableFonts); fontSizeLbl = new QLabel(tr("字号:")); sizeComboBox = new QComboBox; QFontDatabase db; foreach (int size, db.standardSizes()) { sizeComboBox->addItem(QString::number(size)); } QAction *atmp; //全部反向添+ atmp = ui->toolBar_font->insertSeparator(ui->action_bold); atmp = ui->toolBar_font->insertWidget(atmp,sizeComboBox); atmp = ui->toolBar_font->insertWidget(atmp,fontSizeLbl); atmp = ui->toolBar_font->insertWidget(atmp,fontComboBox); atmp = ui->toolBar_font->insertWidget(atmp,fontNameLbl); connect(fontComboBox,SIGNAL(activated(QString)),this,SLOT(TextSetFont(QString))); connect(sizeComboBox,SIGNAL(activated(QString)),this,SLOT(TextSetSize(QString))); sortLbl = new QLabel(tr("排序:")); sortComboBox = new QComboBox; sortComboBox->addItem("Standard"); sortComboBox->addItem("QTextListFormat::ListDisc"); sortComboBox->addItem("QTextListFormat::ListCircle"); sortComboBox->addItem("QTextListFormat::ListSquare"); sortComboBox->addItem("QTextListFormat::ListDecimal"); sortComboBox->addItem("QTextListFormat::ListLowerAlpha"); sortComboBox->addItem("QTextListFormat::ListUpperAlpha"); sortComboBox->addItem("QTextListFormat::ListLowerRoman"); sortComboBox->addItem("QTextListFormat::ListUpperRoman"); atmp = ui->toolBar_sort->insertSeparator(ui->action_left_align); atmp = ui->toolBar_sort->insertWidget(atmp,sortComboBox); ui->toolBar_sort->insertWidget(atmp,sortLbl); connect(sortComboBox,SIGNAL(activated(int)),this,SLOT(ShowSort(int))); }
void cEngineThread::Run() { sEngineInitConfigWin config; config.m_bBackBufferUsesDesktopResolution = false; config.m_hInstance = GetModuleHandle( NULL ); config.m_hWnd = NULL;//m_Hwnd; config.m_hParentWnd = m_Hwnd; // #Shady : set the working path for the engine config.m_pWorkingPath = "C:/K7/"; char cwd[ 256 ]; GetCurrentDirectory( 256, cwd ); System() = new cTwisterEngineWindows( config ); cK7Viewer3D* pk7Viewer = ( cK7Viewer3D* ) DatabaseSystem::CreateExposedObjectFromXMLFile( "k7settings.xml" ); if ( pk7Viewer ) { pk7Viewer->OnRTU(); } pk7Viewer->CreateSeparateWindows( m_Hwnd ); RECT rect; GetWindowRect( m_Hwnd, &rect ); /// #Shady .. example of getting the 3d view windows and manually setting their size/position unsigned int uiParentWidth = ( rect.right - rect.left ); unsigned int uiWidth = ( rect.right - rect.left ) / 2; unsigned int uiHeight = ( rect.bottom - rect.top ) / 1.66; unsigned int uiX = uiWidth / 2; unsigned int uiY = 0; // pk7Viewer->GetWindow( 1 )->MoveAndSize( 0, 0, uiWidth, uiHeight ); // pk7Viewer->GetWindow( 0 )->MoveAndSize( uiParentWidth - uiWidth, 0, uiWidth, uiHeight ); pk7Viewer->GetWindow( 1 )->MoveAndSize( 0, 0, 0,0 ); pk7Viewer->GetWindow( 0 )->MoveAndSize( uiParentWidth - uiWidth, 0, 0, 0 ); Vector3 jawAngles( 0.0f, 0.0f, 0.0f ); Vector3 jawDisplacement( 0.0f, 0.0f, 0.0f ); TextSetSize( 25.0f ); while ( !System()->ProcessMessages( false ) ) { //Input()->CatchAll(); Graphics()->BeginCritical(); Graphics()->BeginScene(); pk7Viewer->Render3D(); Graphics()->Begin2D(); Graphics()->End2D(); Graphics()->EndScene(); Graphics()->SwapBuffers(); Graphics()->EndCritical(); } SAFE_DELETE( pk7Viewer ); SAFE_DELETE( System() ); }