当前位置: 首页>>代码示例>>C++>>正文


C++ AppConfig类代码示例

本文整理汇总了C++中AppConfig的典型用法代码示例。如果您正苦于以下问题:C++ AppConfig类的具体用法?C++ AppConfig怎么用?C++ AppConfig使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了AppConfig类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: apply_changes

// Метод должен возвращать уровень сложности сделанных изменений
// 0 - изменения не требуют перезапуска программы
// 1 - изменения требуют перезапуска программы
int AppConfigPage_Misc::apply_changes(void)
{
 qDebug() << "Apply changes misc";
 
 // Сохраняется настройка подтверждения для действия "cut" на ветке
 if(mytetraconfig.get_cutbranchconfirm()!=cutBranchConfirm->isChecked())
  mytetraconfig.set_cutbranchconfirm(cutBranchConfirm->isChecked());

 // Сохраняется настройка отображения отладочных сообщений в консоли
 if(mytetraconfig.get_printdebugmessages()!=printDebugMessages->isChecked())
  mytetraconfig.set_printdebugmessages(printDebugMessages->isChecked());

 // Сохраняется настройка режима запуска MyTetra - обычный или свернутый
 if(mytetraconfig.get_runinminimizedwindow()!=runInMinimizedWindow->isChecked())
  mytetraconfig.set_runinminimizedwindow(runInMinimizedWindow->isChecked());

 // Сохраняется настройка нужно ли вспоминать позицию курсора при перемещении
 // по истории
 if(mytetraconfig.getRememberCursorAtHistoryNavigation()!=rememberAtHistoryNavigationCheckBox->isChecked())
  mytetraconfig.setRememberCursorAtHistoryNavigation(rememberAtHistoryNavigationCheckBox->isChecked());
 
 // Сохраняется настройка нужно ли пытаться вспоминать позицию курсора при
 // обычном выборе записи
 if(mytetraconfig.getRememberCursorAtOrdinarySelection()!=rememberAtOrdinarySelectionCheckBox->isChecked())
  mytetraconfig.setRememberCursorAtOrdinarySelection(rememberAtOrdinarySelectionCheckBox->isChecked());

 return 0;
}
开发者ID:JonhenHS,项目名称:mytetra_dev,代码行数:31,代码来源:AppConfigPage_Misc.cpp

示例2: Win32UIBinding

	void UIModule::Start()
	{
		SharedKMethod api = this->host->GetGlobalObject()->GetNS("API.fire")->ToMethod();
		api->Call("ti.UI.start", Value::Undefined);

#ifdef OS_WIN32
		UIBinding* binding = new Win32UIBinding(host);
#elif OS_OSX
		UIBinding* binding = new OSXUIBinding(host);
#elif OS_LINUX
		UIBinding* binding = new GtkUIBinding(host);
#endif

		AppConfig *config = AppConfig::Instance();
		if (config == NULL)
		{
			std::string msg = "Error loading tiapp.xml. Your application "
			                  "is not properly configured or packaged.";
			binding->ErrorDialog(msg);
			throw ValueException::FromString(msg.c_str());
			return;
		}
		WindowConfig *main_window_config = config->GetMainWindow();
		if (main_window_config == NULL)
		{
			std::string msg ="Error loading tiapp.xml. Your application "
			                 "window is not properly configured or packaged.";
			binding->ErrorDialog(msg);
			throw ValueException::FromString(msg.c_str());
			return;
		}

		binding->CreateMainWindow(main_window_config);
	}
开发者ID:cfs051059,项目名称:titanium,代码行数:34,代码来源:ui_module.cpp

示例3: onCheckBoxShowAdvancedStateChanged

void CommandWidget::onCheckBoxShowAdvancedStateChanged(int state)
{
    const bool showAdvanced = state == Qt::Checked;
    AppConfig appConfig;
    appConfig.setOption(Config::show_advanced_command_settings::name(), showAdvanced);
    ui->tabWidget->setVisible(showAdvanced);
    ui->labelDescription->setVisible(showAdvanced);
}
开发者ID:amosbird,项目名称:CopyQ,代码行数:8,代码来源:commandwidget.cpp

示例4: AppConfig

					void Client::main(std::string args[])
					{
						//创建读取应用配置的对象
						AppConfig *config = new AppConfig();

						std::string paramA = config->getParameterA();
						std::string paramB = config->getParameterB();

						puts("paramA="+paramA+",paramB="+paramB);
					}
开发者ID:Winnerhust,项目名称:MyTool,代码行数:10,代码来源:Client.cpp

示例5: if

void SDRDevicesDialog::OnUseSelected( wxMouseEvent& event ) {
    if (dev != NULL) {
        int i = 0;
        SoapySDR::ArgInfoList::const_iterator args_i;
        SoapySDR::ArgInfoList args = dev->getSettingsArgInfo();
        
        SoapySDR::Kwargs settingArgs;
        SoapySDR::Kwargs streamArgs;
        
        for (args_i = args.begin(); args_i != args.end(); args_i++) {
            SoapySDR::ArgInfo arg = (*args_i);
            wxPGProperty *prop = props[i];
            
            if (arg.type == SoapySDR::ArgInfo::STRING && arg.options.size()) {
                settingArgs[arg.key] = arg.options[prop->GetChoiceSelection()];
            } else if (arg.type == SoapySDR::ArgInfo::BOOL) {
                settingArgs[arg.key] = (prop->GetValueAsString()=="True")?"true":"false";
            } else {
                settingArgs[arg.key] = prop->GetValueAsString();
            }
            
            i++;
        }
        
        if (dev->getRxChannel()) {
            args = dev->getRxChannel()->getStreamArgsInfo();
            
            if (args.size()) {
                for (args_i = args.begin(); args_i != args.end(); args_i++) {
                    SoapySDR::ArgInfo arg = (*args_i);
                    wxPGProperty *prop = props[i];
            
                    if (arg.type == SoapySDR::ArgInfo::STRING && arg.options.size()) {
                        streamArgs[arg.key] = arg.options[prop->GetChoiceSelection()];
                    } else if (arg.type == SoapySDR::ArgInfo::BOOL) {
                        streamArgs[arg.key] = (prop->GetValueAsString()=="True")?"true":"false";
                    } else {
                        streamArgs[arg.key] = prop->GetValueAsString();
                    }
                    
                    i++;
                }
            }
        }
        
        AppConfig *cfg = wxGetApp().getConfig();
        DeviceConfig *devConfig = cfg->getDevice(dev->getDeviceId());
        devConfig->setSettings(settingArgs);
        devConfig->setStreamOpts(streamArgs);
        wxGetApp().setDeviceArgs(settingArgs);
        wxGetApp().setStreamArgs(streamArgs);
        wxGetApp().setDevice(dev);
        Close();
    }
}
开发者ID:viraptor,项目名称:CubicSDR,代码行数:55,代码来源:SDRDevices.cpp

示例6: parse_options

static
void parse_options(int argc, char* argv[], AppConfig &conf)
{
	static struct option long_options[] = {
		{"help", no_argument, 0, 'h'},
		{"config", required_argument, 0, 'c'},
		{0, 0, 0, 0}
	};
	
	// Set default values TODO - make a member function?
	conf.blynk_server = BLYNK_DEFAULT_DOMAIN;
	conf.blynk_port = TOSTRING(BLYNK_DEFAULT_PORT);
	conf.mqtt_port = 1883;
	conf.mqtt_server = MQTT_DEFAULT_DOMAIN;
	
	const char* usage =
		"Usage: %s [options]\n"
		"\n"
		"Options:\n"
		"  -h, --help  Print this help\n"
		"  -c config.json, --config=configfile.json JSON Configuration file.\n"
		"\n"
		"Defaults:\n"
		"  Unless specified in the config file, the following defaults are used:"
		"  blynk.server: " BLYNK_DEFAULT_DOMAIN "\n"
		"  blynk.port" TOSTRING(BLYNK_DEFAULT_PORT) "\n"
		"  mqtt.server: " MQTT_DEFAULT_DOMAIN "\n"
		"  outputs: empty list"
		"\n";

	int rez;
	while (-1 != (rez = getopt_long(argc, argv, "hc:", long_options, NULL))) {
		switch (rez) {
		case 'c':
			if (conf.parse(optarg)) {
				printf("Config successfully loaded from: %s\n", optarg);
			} else {
				printf("Failed to parse config from: %s: %s\n", optarg, conf.failure());
			}
			break;
		case 'h':
		default:
			printf(usage, argv[0]);
			exit(0);
		};
	};
	// Allowed to load extra settings here.

	// Check mandatory options
	if (!conf.is_valid()) {
		printf("Final configuraton is invalid: %s\n", conf.failure());
		exit(1);
	}
	conf.dump();
}
开发者ID:karlp,项目名称:mqblynk,代码行数:55,代码来源:main.cpp

示例7: IsOkApplyPreset

//Behavior when unchecking 'Presets' is to keep the GUI settings at the last preset (even if not yet applied).
//
//Alternative possible behavior when unchecking 'Presets' (currently not implemented) is to set the GUI to
//	the last applied settings. If such behavior is to be implemented, g_Conf->EnablePresets should be set to
//	false before it's applied to the GUI and then restored to it's original state such that the GUI reflects
//	g_Conf's settings as if it doesn't force presets. (if a settings which has presets enable is applied to the
//	GUI then most of the GUI is disabled).
void Dialogs::SysConfigDialog::UpdateGuiForPreset ( int presetIndex, bool presetsEnabled )
{
 	if( !m_listbook )
		return;

	//Console.WriteLn("Applying config to Gui: preset #%d, presets enabled: %s", presetIndex, presetsEnabled?"true":"false");

	AppConfig preset = *g_Conf;
	preset.IsOkApplyPreset( presetIndex );	//apply a preset to a copy of g_Conf.
	preset.EnablePresets = presetsEnabled;	//override IsOkApplyPreset (which always applies/enabled) to actual required state
	
	//update the config panels of SysConfigDialog to reflect the preset.
	size_t pages = m_labels.GetCount();
	for( size_t i=0; i<pages; ++i )
	{
		//NOTE: We should only apply the preset to panels of class BaseApplicableConfigPanel_SpecificConfig
		//      which supports it, and BaseApplicableConfigPanel implements IsSpecificConfig() as lame RTTI to detect it.
		//		However, the panels in general (m_listbook->GetPage(i)) are of type wxNotebookPage which doesn't
		//		support IsSpecificConfig(), so the panels (pages) that SysConfigDialog holds must be of class
		//		BaseApplicableConfigPanel or derived, and not of the parent class wxNotebookPage.
		if ( ((BaseApplicableConfigPanel*)(m_listbook->GetPage(i)))->IsSpecificConfig() )
		{
			((BaseApplicableConfigPanel_SpecificConfig*)(m_listbook->GetPage(i)))
				->ApplyConfigToGui( preset, AppConfig::APPLY_FLAG_FROM_PRESET | AppConfig::APPLY_FLAG_MANUALLY_PROPAGATE );
		}
	}

	//Main menus behavior regarding presets and changes/cancel/apply from SysConfigDialog:
	//1. As long as preset-related values were not changed at SysConfigDialog, menus behave normally.
	//2. After the first preset-related change at SysConfigDialog (this function) and before Apply/Ok/Cancel:
	//	- The menus reflect the temporary pending values, but these preset-controlled items are grayed out even if temporarily presets is unchecked.
	//3. When clicking Ok/Apply/Cancel at SysConfigDialog, the menus are re-alligned with g_Conf (including gray out or not as needed).
	//NOTE: Enabling the presets and disabling them wihout clicking Apply leaves the pending menu config at last preset values
	//		(consistent with SysConfigDialog behavior). But unlike SysConfigDialog, the menu items stay grayed out.
	//		Clicking cancel will revert all pending changes, but clicking apply will commit them, and this includes the menus.
	//		E.g.:
	//			1. Patches (menu) is disabled and presets (SysConfigDialog) is disabled.
	//			2. Opening config and checking presets without apply --> patches are visually enabled and grayed out (not yet applied to g_Conf)
	//			3. Unchecking presets, still without clicking apply  --> patches are visually still enabled (last preset values) and grayed out.
	//			4. Clicking Apply (presets still unchecked) --> patches will be enabled and not grayed out, presets are disabled.
	//			--> If clicking Cancel instead of Apply at 4., will revert everything to the state of 1 (preset disabled, patches disabled and not grayed out).
	
	bool origEnable=preset.EnablePresets;
	preset.EnablePresets=true;	// will cause preset-related items to be grayed out at the menus regardless of their value.
	if ( GetMainFramePtr() )
		GetMainFramePtr()->ApplyConfigToGui( preset, AppConfig::APPLY_FLAG_FROM_PRESET | AppConfig::APPLY_FLAG_MANUALLY_PROPAGATE );
	
	// Not really needed as 'preset' is local and dumped anyway. For the sake of future modifications of more GUI elements.
	preset.EnablePresets=origEnable;	
	
}
开发者ID:nkreadly07,项目名称:pcsx2,代码行数:58,代码来源:SysConfigDialog.cpp

示例8: ConfigPage

AppConfigPage_Misc::AppConfigPage_Misc(QWidget *parent) : ConfigPage(parent)
{
  qDebug() << "Create misc config page";

  // Блок настройки подтверждения для действия "cut" на ветке
  cutBranchConfirm=new QCheckBox(this);
  cutBranchConfirm->setText(tr("Confirm item cut"));
  cutBranchConfirm->setChecked(mytetraconfig.get_cutbranchconfirm());

  // Блок настройки отображения отладочных сообщений в консоли
  printDebugMessages=new QCheckBox(this);
  printDebugMessages->setText(tr("Print debug messages to console"));
  printDebugMessages->setChecked(mytetraconfig.get_printdebugmessages());

  // Настройка запуска MyTetra в свернутом окне
  runInMinimizedWindow=new QCheckBox(this);
  runInMinimizedWindow->setText(tr("Run MyTetra in a minimized window"));
  runInMinimizedWindow->setChecked(mytetraconfig.get_runinminimizedwindow());


  // Группировщик виджетов для настройки автоматического старта синхронизации
  historyBox=new QGroupBox(this);
  historyBox->setTitle(tr("History of visited notes"));

  rememberAtHistoryNavigationCheckBox=new QCheckBox(this);
  rememberAtHistoryNavigationCheckBox->setText(tr("Remember cursor position at history navigation"));
  rememberAtHistoryNavigationCheckBox->setChecked(mytetraconfig.getRememberCursorAtHistoryNavigation());

  rememberAtOrdinarySelectionCheckBox=new QCheckBox(this);
  rememberAtOrdinarySelectionCheckBox->setText(tr("Try remember cursor position at ordinary selection"));
  rememberAtOrdinarySelectionCheckBox->setChecked(mytetraconfig.getRememberCursorAtOrdinarySelection());

  // Виджеты вставляются в группировщик
  QVBoxLayout *historyLayout = new QVBoxLayout;
  historyLayout->addWidget(rememberAtHistoryNavigationCheckBox);
  historyLayout->addWidget(rememberAtOrdinarySelectionCheckBox);
  historyBox->setLayout(historyLayout);


  // Собирается основной слой
  QVBoxLayout *central_layout=new QVBoxLayout();
  central_layout->addWidget(cutBranchConfirm);
  central_layout->addWidget(printDebugMessages);
  central_layout->addWidget(runInMinimizedWindow);
  central_layout->addWidget(historyBox);
  central_layout->addStretch();

  // Основной слой устанавливается
  setLayout(central_layout);
}
开发者ID:JonhenHS,项目名称:mytetra_dev,代码行数:50,代码来源:AppConfigPage_Misc.cpp

示例9: atoi

GC<Log> LogList::append(GC<Log> log) {
	// Append to set
	List<Log>::append(log);
	
	// Try to match user name of log
	if (log->getCache() && !log->getCache()->isFound()) {
		AppConfig *cfg = AppConfig::getInstance();
		const char *nick;
		if ((nick = cfg->getString("username", NULL)) != NULL) {
			if ((log->getType() == Log::T_FOUND_IT || log->getType() == Log::T_ATTENDED || log->getType() == Log::T_WEBCAM_PHOTO_TAKEN) && log->getFinder()->equals(nick)) {
				int logtm = 0;
			
				// Try to find time in log 
				const char *text = log->getText()->c_str();
				size_t len = log->getText()->length();
				for (size_t i = 0; i < len; i++) {
					if (text[i] == ':' && i >= 1 && i < len - 1) {
						// Try to find forward and backward numbers.
						
						// Forward first
						if (isdigit(text[i+1]) && (i == len - 2 || isdigit(text[i+2]))) {
							int min = atoi(text + i + 1);
							if (min >= 0 && min <= 59) {
								// Found forward correct minute, search backwards.
								size_t t = i - 1;
								while (t > 0 && isdigit(text[t])) {
									t--;
								}
								
								int hour = atoi(text + t);
								
								if (hour >= 0 && hour <= 23) {
									// Found correct time, set it and stop searching.
									logtm = hour * 3600 + min * 60;
 									break;
								}
							}
						}
					}
				}
		
				log->getCache()->setDtFound(log->getTime() + logtm);
			}
		}
	}
	
	return log;
}
开发者ID:tkas,项目名称:gcm,代码行数:48,代码来源:LogList.cpp

示例10: onClickedEditMyTetraConfigFile

void AppConfigPage_Misc::onClickedEditMyTetraConfigFile(void)
{
  // Сбрасываются в файл конфига все возможные изменения, которые, возможно еще не были записаны
  mytetraConfig.sync();

  editConfigFile( globalParameters.getWorkDirectory()+"/conf.ini", 0.8 );
}
开发者ID:xintrea,项目名称:mytetra_dev,代码行数:7,代码来源:AppConfigPage_Misc.cpp

示例11: AddResult

bool ResultLog::AddResult(wxString resultname, StringValueList &row)
{
	AppConfig *ac = AppConfig::GetInstance();

	wxString maxrows;
	ac->GetValue( wxString(wxT("HISTORY_COUNT")), maxrows );
	long imax;
	maxrows.ToLong( &imax );

	Result *r = GetResults( resultname );

	if( r->GetRowCount() > imax-1 )
	{
		r->DeleteRow( 0 );
	}

	r->AddRow( row );
	return false;
}
开发者ID:stein1,项目名称:bbk,代码行数:19,代码来源:ResultLog.cpp

示例12: main

int main(int argc, char* argv[])
{
    // Create all the necessary objects (calls the default constructor for each)
    TargetDetector detector;
    TargetProcessor processor;
    NetworkController networkController;
    VideoDevice camera;
	CmdLineInterface interface(argc, argv);		
	AppConfig config = interface.getConfig();
	GUIManager gui;

	if(config.getIsDevice())
    {
        camera.startCapture(config.getDeviceID());
        if(config.getIsDebug())
            std::cout << "Camera ready!\n";
    }

    //init networking
    if(config.getIsNetworking())
        networkController.startServer();

    if(!config.getIsHeadless())
        gui.init();
    if(config.getIsDebug())
	 std::cout << "Im debugging! :D\n";

    while(true)
    {
        networkController.waitForPing();

        cv::Mat image = camera.getImage();
        Target* target = detector.processImage(image);

        bool foundTarget = (target == NULL ? false : true);

        if(foundTarget)
        {
            processor.loadTarget(target);
            double distance = processor.calculateDistance();

            networkController.sendMessage("true;" +
                boost::lexical_cast<std::string> (distance));

            std::cout << "Target Found! Distance: " << distance;
        }
        else
        {
            networkController.sendMessage("false;");
        }
    }

    return 0;
}
开发者ID:ronakdev,项目名称:cv-2016,代码行数:54,代码来源:main.cpp

示例13: setupUI

void FindTableWidget::setupUI(void)
{
    findTableView=new QTableView(this);
    findTableView->setObjectName("findTableView");
    findTableView->setMinimumSize(1,1);
    findTableView->horizontalHeader()->hide();

// Установка высоты строки с принудительной стилизацией (если это необходимо),
// так как стилизация через QSS для элементов QTableView полноценно не работает
// У таблицы есть вертикальные заголовки, для каждой строки, в которых отображается номер строки.
// При задании высоты вертикального заголовка, высота применяется и для всех ячеек в строке.
    findTableView->verticalHeader()->setDefaultSectionSize ( findTableView->verticalHeader()->minimumSectionSize () );
    int height=mytetraConfig.getUglyQssReplaceHeightForTableView();
    if(height!=0)
        findTableView->verticalHeader()->setDefaultSectionSize( height );
    if(mytetraConfig.getInterfaceMode()=="mobile")
        findTableView->verticalHeader()->setDefaultSectionSize( getCalculateIconSizePx() );

// Устанавливается режим что могут выделяться только строки
// а не отдельный item таблицы
    findTableView->setSelectionBehavior(QAbstractItemView::SelectRows);

// Устанавливается режим что редактирование невозможно
    findTableView->setEditTriggers(QAbstractItemView::NoEditTriggers);

// Настройка области виджета для кинетической прокрутки
    setKineticScrollArea( qobject_cast<QAbstractItemView*>(findTableView) );
}
开发者ID:beimprovised,项目名称:mytetra_webengine,代码行数:28,代码来源:FindTableWidget.cpp

示例14: setupSignals

void TreeScreen::setupSignals(void)
{
// Соединение сигнал-слот чтобы показать контекстное меню по правому клику на ветке
    connect(knowTreeView, SIGNAL(customContextMenuRequested(const QPoint &)),
            this,SLOT(on_customContextMenuRequested(const QPoint &)));

// Соединение сигнал-слот чтобы показать контекстное меню по долгому нажатию
    connect(knowTreeView, SIGNAL(tapAndHoldGestureFinished(const QPoint &)),
            this, SLOT(on_customContextMenuRequested(const QPoint &)));

// Соединение сигнал-слот что ветка выбрана мышкой или стрелками на клавиатуре
    if(mytetraConfig.getInterfaceMode()=="desktop")
        connect(knowTreeView->selectionModel(), SIGNAL(currentRowChanged (const QModelIndex&, const QModelIndex&)),
                this, SLOT(on_knowtree_clicked(const QModelIndex&)));

    if(mytetraConfig.getInterfaceMode()=="mobile")
        connect(knowTreeView, SIGNAL(clicked(const QModelIndex &)),
                this, SLOT(on_knowtree_clicked(const QModelIndex &)));

// Сигнал чтобы открыть на редактирование параметры записи при двойном клике
// connect(knowTreeView, SIGNAL(doubleClicked(const QModelIndex &)),
//         actionList["editBranch"], SLOT(trigger(void)));

// Сигнал что ветка выбрана мышкой
// connect(knowTreeView,SIGNAL(pressed(const QModelIndex &)),
//         this,SLOT(on_knowTreeView_clicked(const QModelIndex &)));
// connect(knowTreeView, SIGNAL(clicked(const QModelIndex &)),
//         this, SLOT(on_knowTreeView_clicked(const QModelIndex &)));

}
开发者ID:beimprovised,项目名称:mytetra_webengine,代码行数:30,代码来源:TreeScreen.cpp

示例15: setupUI

void TreeScreen::setupUI(void)
{
    toolsLine=new QToolBar(this);

    /*
    QSize tool_bar_icon_size(16,16);
    toolsLine->setIconSize(tool_bar_icon_size);
    */

    insertActionAsButton(toolsLine, actionList["insSubbranch"]);
    insertActionAsButton(toolsLine, actionList["insBranch"]);

    if(mytetraConfig.getInterfaceMode()=="desktop") {
        insertActionAsButton(toolsLine, actionList["editBranch"]);
        insertActionAsButton(toolsLine, actionList["delBranch"]);
    }

    toolsLine->addSeparator();

    insertActionAsButton(toolsLine, actionList["expandAllSubbranch"]);
    insertActionAsButton(toolsLine, actionList["collapseAllSubbranch"]);

    toolsLine->addSeparator();

    insertActionAsButton(toolsLine, actionList["moveUpBranch"]);
    insertActionAsButton(toolsLine, actionList["moveDnBranch"]);

    if(mytetraConfig.getInterfaceMode()=="mobile") {
        toolsLine->addSeparator();
        insertActionAsButton(toolsLine, actionList["findInBase"]); // Клик по этой кнопке связывается с действием в MainWindow
    }


    knowTreeView=new KnowTreeView(this);
    knowTreeView->setObjectName("knowTreeView");
    knowTreeView->setMinimumSize(150,250);
    knowTreeView->setWordWrap(true);

// Временно сделан одинарный режим выбора пунктов
// todo: Множественный режим надо выставить тогда, когда
// станет ясно, как удалять несколько произвольных веток так, чтобы
// в процессе удаления QModelIndex нижестоящих еще не удаленных
// веток не менялся
// knowTreeView->setSelectionMode(QAbstractItemView::ExtendedSelection);
    knowTreeView->setSelectionMode(QAbstractItemView::SingleSelection);

    knowTreeView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn);

// Нужно установить правила показа контекстного самодельного меню
// чтобы оно могло вызываться
    knowTreeView->setContextMenuPolicy(Qt::CustomContextMenu);

// Представление не должно позволять редактировать элементы обычным путем
    knowTreeView->setEditTriggers(QAbstractItemView::NoEditTriggers);
}
开发者ID:beimprovised,项目名称:mytetra_webengine,代码行数:55,代码来源:TreeScreen.cpp


注:本文中的AppConfig类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。