Участник:Lit-uriy/Песочница

Материал из Wiki.crossplatform.ru

< Участник:Lit-uriy(Различия между версиями)
Перейти к: навигация, поиск
(еще вариант лица раздела)
(установка Firebird)
 
(14 промежуточных версий не показаны.)
Строка 1: Строка 1:
-
{| style="text-align:center;border:0; margin-top:1.2em; background-color:#fcfcfc; width:100%;" cellpadding="0" cellspacing="0"
+
== из FAQ ==
-
| colspan="2" style="border:1px solid #aaa; border-bottom:0; background-color:#fcfcfc;" |
+
=== 1 ===
-
<!------------------ Серая плашка сверху ----------------------->
+
Заголовок у QTableView рисуется нажатым с жирным шрифтом, если выделены все ячейки. Для того, чтобы этого не происходило нужно сделать:  
-
{|style="width:100%; margin-top:.7em; background-color:#fcfcfc; border:0px solid #ccc"
+
QTableView* qtvTable;
-
|style="width:70%; color:#000; text-align:center;"|
+
qtvTable->horizontalHeader()->highlightSections(false);
-
{|style="width:100%; border:solid 0px; background:transparent"
+
-
|-
+
-
|style="width:100%; text-align:center; white-space:nowrap; color:#000" |
+
-
<div style="font-size:162%; border:0; margin:0; padding:.1em; color:#000">Добро пожаловать в раздел Qt,</div>
+
-
посвещнный кроссплатформенной библиотеке написанной на C++.
+
-
|}
+
-
|}
+
-
<!---------------- Строка вспомогательной навигации ----------
+
=== установка Firebird ===
-
{| cellpadding="5" cellspacing="0" style="border-top: 1px solid #ccc; text-align: center; margin-bottom: 8px; background:transparent; width:98%; border:0;"
+
Устанавливаем firebird в какой-нибудь каталог, не содержащий пробелов и символов кирилицы. Прописываем в переменную PATH путь_к_firebird. В файле Qt/src/sql/drivers/drivers.pri делаем изменение:
-
|[[Википедия:Руководство для быстрого старта|'''Как создать статью (вводный курс)''']]
+
{{code|bash|code=
-
|[[Википедия:Справка|Справка]]
+
contains(sql-drivers, ibase) {
-
|[[Википедия:Поиск по категориям|Система рубрикации]]
+
    HEADERS += drivers/ibase/qsql_ibase.h
-
|[[Википедия:Пресса о Википедии|Пресса о Википедии]]
+
    SOURCES += drivers/ibase/qsql_ibase.cpp
-
|}-->
+
 
-
|}
+
    unix:LIBS *= -lgds 
-
<!---------------------------------------------------------->
+
 
-
{|style="width:100%" cellspacing="0" cellpadding="0"
+
    win32 {
-
|style="width:50%" valign="top"|
+
        INCLUDEPATH += путь_к_ firebird/include
-
<!---------------------------------------------------------->
+
        LIBS += -Lпуть_к_ firebird/lib
-
{{Раздел заглавной страницы
+
        !win32-borland:LIBS *= -lfbclient_ms
-
| colorback = #f3cece
+
        win32-borland:LIBS  += fbclient_bor.lib    }
-
| Заголовок = Начало
+
}
-
| Содержание=
+
 
-
{{Участник:Lit-uriy/Песочница1/Начало}}
+
Файл Qt/src/plugins/sqldrivers/ibase/ibase.pro должен быть таким:
-
}}
+
TARGET  = qsqlibase
-
<!---------------------------------------------------------->
+
 
-
{{Раздел заглавной страницы
+
HEADERS        = ../../../sql/drivers/ibase/qsql_ibase.h
-
| colorback = #cef3ce
+
SOURCES        = main.cpp \
-
| Заголовок = Документация
+
                  ../../../sql/drivers/ibase/qsql_ibase.cpp
-
| Содержание=
+
 
-
{{Участник:Lit-uriy/Песочница1/Документация}}
+
unix:!contains( LIBS, .*gds.* ):!contains( LIBS, .*libfb.* ):LIBS    *= -lgds
-
}}
+
 
-
<!---------------------------------------------------------->
+
win32:!contains( LIBS, .*gds.* ):!contains( LIBS, .*fbclient.* ) {
-
|&nbsp;&nbsp;&nbsp;&nbsp;
+
        INCLUDEPATH += путь_к_ firebird/include
-
|style="width:50%" valign="top"|
+
        LIBS += -Lпуть_к_ firebird/lib
-
<!---------------------------------------------------------->
+
        !win32-borland:LIBS *= -lfbclient_ms
-
{{Раздел заглавной страницы
+
        win32-borland:LIBS  += fbclient_bor.lib
-
| colorback =  #cecef3
+
}
-
| Заголовок = Новичку
+
 
-
| Содержание=
+
include(../qsqldriverbase.pri)
-
{{Участник:Lit-uriy/Песочница1/Новичку}}
+
}}
-
}}
+
 
-
<!---------------------------------------------------------->
+
Собираем Qt с опцией конфигурирования -qt-sql-ibase.
-
{{Раздел заглавной страницы
+
 
-
| colorback = #f3cef3
+
=== Как определить систему (Windows/Linux/*BSD/MacOS X)?  ===
-
| Заголовок = Литература
+
{{code|qt|code=
-
| Содержание=
+
QString osVersion()
-
{{Участник:Lit-uriy/Песочница1/Литература}}
+
{
-
}}
+
    static QString osVersion;
-
<!---------------------------------------------------------->
+
    if(osVersion.isEmpty())
-
{{Раздел заглавной страницы
+
    {
-
| colorback = #f3eece
+
#if defined(Q_OS_LINUX)
-
| Заголовок = Разное
+
utsname buf;
-
| Содержание=
+
if(uname(&buf) != -1)
-
{{Участник:Lit-uriy/Песочница1/Разное}}
+
{
-
}}
+
osVersion.append(buf.release).append(QLatin1Char(' '));
-
<!---------------------------------------------------------->
+
osVersion.append(buf.sysname).append(QLatin1Char(' '));
-
|-
+
osVersion.append(buf.machine).append(QLatin1Char(' '));
-
|colspan="3"|
+
osVersion.append(QLatin1String(" (")).append(buf.machine).append(QLatin1Char(')'));
-
<!---------------------------------------------------------->
+
}
-
<div style="background-color:#E0E0E0;font-size:1px;height:8px;border:1px solid #aaa;-moz-border-radius-topright:0.5em;-moz-border-radius-topleft:0.5em;"></div>
+
else
-
<div style="border:1px solid #aaa;border-top:0px solid white;padding:5px;margin-bottom:3ex;">
+
{
-
<h2 style="font-size:100%; padding:0; margin:0; font-weight:bold; border:0;">Смежные разделы</h2>
+
osVersion = QLatin1String("Linux(unknown)");
-
[[ACE]] - [[Boost]] - [[GTK+]] - [[Qt]] - [[wxWidgets]]
+
}
-
</div>
+
#elif defined(Q_OS_MAC)
-
|}
+
switch(QSysInfo::MacintoshVersion)
-
__NOTOC__
+
{
 +
case QSysInfo::MV_LEOPARD:
 +
osVersion = QLatin1String("MacOS 10.5(Leopard)");
 +
break;
 +
case QSysInfo::MV_TIGER:
 +
osVersion = QLatin1String("MacOS 10.4(Tiger)");
 +
break;
 +
case QSysInfo::MV_PANTHER:
 +
osVersion = QLatin1String("MacOS 10.3(Panther)");
 +
break;
 +
case QSysInfo::MV_JAGUAR:
 +
osVersion = QLatin1String("MacOS 10.2(Jaguar)");
 +
break;
 +
case QSysInfo::MV_PUMA:
 +
osVersion = QLatin1String("MacOS 10.1(Puma)");
 +
break;
 +
case QSysInfo::MV_CHEETAH:
 +
osVersion = QLatin1String("MacOS 10.0(Cheetah)");
 +
break;
 +
case QSysInfo::MV_9:
 +
osVersion = QLatin1String("MacOS 9");
 +
break;
 +
case QSysInfo::MV_Unknown:
 +
default:
 +
osVersion = QLatin1String("MacOS(unknown)");
 +
break;
 +
}
 +
#elif defined(Q_OS_WIN)
 +
switch(QSysInfo::WindowsVersion)
 +
{
 +
case QSysInfo::WV_CE_6:
 +
osVersion = QLatin1String("Windows CE 6.x");
 +
break;
 +
case QSysInfo::WV_CE_5:
 +
osVersion = QLatin1String("Windows CE 5.x");
 +
break;
 +
case QSysInfo::WV_CENET:
 +
osVersion = QLatin1String("Windows CE .NET");
 +
break;
 +
case QSysInfo::WV_CE:
 +
osVersion = QLatin1String("Windows CE");
 +
break;
 +
case QSysInfo::WV_VISTA:
 +
osVersion = QLatin1String("Windows Vista");
 +
break;
 +
case QSysInfo::WV_2003:
 +
osVersion = QLatin1String("Windows Server 2003");
 +
break;
 +
case QSysInfo::WV_XP:
 +
osVersion = QLatin1String("Windows XP");
 +
break;
 +
case QSysInfo::WV_2000:
 +
osVersion = QLatin1String("Windows 2000");
 +
break;
 +
case QSysInfo::WV_NT:
 +
osVersion = QLatin1String("Windows NT");
 +
break;
 +
case QSysInfo::WV_Me:
 +
osVersion = QLatin1String("Windows Me");
 +
break;
 +
case QSysInfo::WV_98:
 +
osVersion = QLatin1String("Windows 98");
 +
break;
 +
case QSysInfo::WV_95:
 +
osVersion = QLatin1String("Windows 95");
 +
break;
 +
case QSysInfo::WV_32s:
 +
osVersion = QLatin1String("Windows 3.1 with Win32s");
 +
break;
 +
default:
 +
osVersion = QLatin1String("Windows(unknown)");
 +
break;
 +
}
 +
if(QSysInfo::WindowsVersion & QSysInfo::WV_CE_based)
 +
osVersion.append(QLatin1String(" (CE-based)"));
 +
else if(QSysInfo::WindowsVersion & QSysInfo::WV_NT_based)
 +
osVersion.append(QLatin1String(" (NT-based)"));
 +
else if(QSysInfo::WindowsVersion & QSysInfo::WV_DOS_based)
 +
osVersion.append(QLatin1String(" (MS-DOS-based)"));
 +
#else
 +
return QLatin1String("Unknown");
 +
#endif
 +
    }
 +
 
 +
return osVersion;
 +
}
 +
}}
 +
 
 +
== Тесты шаблонов ==
 +
 
 +
{{цитата|А, тебе, скотине, патриота не понять!}}
 +
 
 +
=== 2 ===
 +
{{Участник:Lit-uriy/статья|[[Изображение:Important-emblem.svg|40px]]|Привет}}
 +
 
 +
=== 3 ===
 +
== dll'ки Qt ==
 +
=== 1 ===
 +
Из катлога {{cmd|%QTDIR%/bin/}} необходимо взять dll'ки тех модулей которые вы используете. По умолчанию используются модули QtCore и QtGui (QtCore4.dll и QtGui4.dll, соответственно). И dll'ки других модулей, например, если в pro-файле есть запись:
 +
:: QT += xml
 +
то необходимо взять и QtXml4.dll.<br />
 +
{{Участник:Lit-uriy/статья|[[Изображение:Important-emblem.svg|20px]]|'''''Заметьте''''', если вы используете отладочную версию своей программы (CONFIG +{{=}} debug), то нужно взять dll'ки с буквой "'''d'''":
 +
:: QtCore'''d'''4.dll, QtGui'''d'''4.dll и QtXml'''d'''4.dll
 +
для примера выше.}}
 +
 
 +
Эти dll'ки должны быть помещены в один каталог с исполняемым файлом вашего приложения.
 +
 
 +
=== 2 ===
 +
Из катлога {{cmd|%QTDIR%/bin/}} необходимо взять dll'ки тех модулей которые вы используете. По умолчанию используются модули QtCore и QtGui (QtCore4.dll и QtGui4.dll, соответственно). И dll'ки других модулей, например, если в pro-файле есть запись:
 +
:: QT += xml
 +
то необходимо взять и QtXml4.dll.<br />
 +
{{Участник:Lit-uriy/статья|[[Изображение:Important-emblem.svg|30px]]|'''''Заметьте''''', если вы используете отладочную версию своей программы (CONFIG +{{=}} debug), то нужно взять dll'ки с буквой "'''d'''":
 +
:: QtCore'''d'''4.dll, QtGui'''d'''4.dll и QtXml'''d'''4.dll
 +
для примера выше.}}
 +
 
 +
Эти dll'ки должны быть помещены в один каталог с исполняемым файлом вашего приложения.
 +
 
 +
=== 2 ===
 +
Из катлога {{cmd|%QTDIR%/bin/}} необходимо взять dll'ки тех модулей которые вы используете. По умолчанию используются модули QtCore и QtGui (QtCore4.dll и QtGui4.dll, соответственно). И dll'ки других модулей, например, если в pro-файле есть запись:
 +
:: QT += xml
 +
то необходимо взять и QtXml4.dll.<br />
 +
{{Участник:Lit-uriy/статья|'''''Замечание'''''|Если вы используете отладочную версию своей программы (CONFIG +{{=}} debug), то нужно взять dll'ки с буквой "'''d'''":
 +
:: QtCore'''d'''4.dll, QtGui'''d'''4.dll и QtXml'''d'''4.dll
 +
для примера выше.}}
 +
 
 +
Эти dll'ки должны быть помещены в один каталог с исполняемым файлом вашего приложения.

Текущая версия на 15:41, 18 июля 2009

Содержание

[править] из FAQ

[править] 1

Заголовок у QTableView рисуется нажатым с жирным шрифтом, если выделены все ячейки. Для того, чтобы этого не происходило нужно сделать: QTableView* qtvTable; qtvTable->horizontalHeader()->highlightSections(false);

[править] установка Firebird

Устанавливаем firebird в какой-нибудь каталог, не содержащий пробелов и символов кирилицы. Прописываем в переменную PATH путь_к_firebird. В файле Qt/src/sql/drivers/drivers.pri делаем изменение:

contains(sql-drivers, ibase) {
    HEADERS += drivers/ibase/qsql_ibase.h
    SOURCES += drivers/ibase/qsql_ibase.cpp
 
    unix:LIBS *= -lgds  
 
    win32 {
        INCLUDEPATH += путь_к_ firebird/include
        LIBS += -Lпуть_к_ firebird/lib
        !win32-borland:LIBS *= -lfbclient_ms
        win32-borland:LIBS  += fbclient_bor.lib    }
}
 
Файл Qt/src/plugins/sqldrivers/ibase/ibase.pro должен быть таким: 
TARGET   = qsqlibase
 
HEADERS         = ../../../sql/drivers/ibase/qsql_ibase.h
SOURCES         = main.cpp \
                  ../../../sql/drivers/ibase/qsql_ibase.cpp
 
unix:!contains( LIBS, .*gds.* ):!contains( LIBS, .*libfb.* ):LIBS    *= -lgds
 
win32:!contains( LIBS, .*gds.* ):!contains( LIBS, .*fbclient.* ) {
        INCLUDEPATH += путь_к_ firebird/include
        LIBS += -Lпуть_к_ firebird/lib
        !win32-borland:LIBS *= -lfbclient_ms
        win32-borland:LIBS  += fbclient_bor.lib
}
 
include(../qsqldriverbase.pri)

Собираем Qt с опцией конфигурирования -qt-sql-ibase.

[править] Как определить систему (Windows/Linux/*BSD/MacOS X)?

QString osVersion()
{
    static QString osVersion;
    if(osVersion.isEmpty())
    {
#if defined(Q_OS_LINUX)
	utsname buf;
	if(uname(&buf) != -1)
	{
		osVersion.append(buf.release).append(QLatin1Char(' '));
		osVersion.append(buf.sysname).append(QLatin1Char(' '));
		osVersion.append(buf.machine).append(QLatin1Char(' '));
		osVersion.append(QLatin1String(" (")).append(buf.machine).append(QLatin1Char(')'));
	}
	else
	{
		osVersion = QLatin1String("Linux(unknown)");
	}
#elif defined(Q_OS_MAC)
	switch(QSysInfo::MacintoshVersion)
	{
		case QSysInfo::MV_LEOPARD:
			osVersion = QLatin1String("MacOS 10.5(Leopard)");
			break;
		case QSysInfo::MV_TIGER:
			osVersion = QLatin1String("MacOS 10.4(Tiger)");
			break;
		case QSysInfo::MV_PANTHER:
			osVersion = QLatin1String("MacOS 10.3(Panther)");
			break;
		case QSysInfo::MV_JAGUAR:
			osVersion = QLatin1String("MacOS 10.2(Jaguar)");
			break;
		case QSysInfo::MV_PUMA:
			osVersion = QLatin1String("MacOS 10.1(Puma)");
			break;
		case QSysInfo::MV_CHEETAH:
			osVersion = QLatin1String("MacOS 10.0(Cheetah)");
			break;
		case QSysInfo::MV_9:
			osVersion = QLatin1String("MacOS 9");
			break;
			case QSysInfo::MV_Unknown:
		default:
			osVersion = QLatin1String("MacOS(unknown)");
			break;
	}
#elif defined(Q_OS_WIN)
	switch(QSysInfo::WindowsVersion)
	{
		case QSysInfo::WV_CE_6:
			osVersion = QLatin1String("Windows CE 6.x");
			break;
		case QSysInfo::WV_CE_5:
			osVersion = QLatin1String("Windows CE 5.x");
			break;
		case QSysInfo::WV_CENET:
			osVersion = QLatin1String("Windows CE .NET");
			break;
		case QSysInfo::WV_CE:
			osVersion = QLatin1String("Windows CE");
			break;
			case QSysInfo::WV_VISTA:
			osVersion = QLatin1String("Windows Vista");
			break;
		case QSysInfo::WV_2003:
			osVersion = QLatin1String("Windows Server 2003");
			break;
		case QSysInfo::WV_XP:
			osVersion = QLatin1String("Windows XP");
			break;
		case QSysInfo::WV_2000:
			osVersion = QLatin1String("Windows 2000");
			break;
		case QSysInfo::WV_NT:
			osVersion = QLatin1String("Windows NT");
			break;
			case QSysInfo::WV_Me:
			osVersion = QLatin1String("Windows Me");
			break;
		case QSysInfo::WV_98:
			osVersion = QLatin1String("Windows 98");
			break;
		case QSysInfo::WV_95:
			osVersion = QLatin1String("Windows 95");
			break;
		case QSysInfo::WV_32s:
			osVersion = QLatin1String("Windows 3.1 with Win32s");
			break;
			default:
			osVersion = QLatin1String("Windows(unknown)");
			break;
	}
	if(QSysInfo::WindowsVersion & QSysInfo::WV_CE_based)
		osVersion.append(QLatin1String(" (CE-based)"));
	else if(QSysInfo::WindowsVersion & QSysInfo::WV_NT_based)
		osVersion.append(QLatin1String(" (NT-based)"));
	else if(QSysInfo::WindowsVersion & QSysInfo::WV_DOS_based)
		osVersion.append(QLatin1String(" (MS-DOS-based)"));
#else
		return QLatin1String("Unknown");
#endif
    }
 
return osVersion;
}

[править] Тесты шаблонов

« А, тебе, скотине, патриота не понять! »

[править] 2

40px Привет

[править] 3

[править] dll'ки Qt

[править] 1

Из катлога %QTDIR%/bin/ необходимо взять dll'ки тех модулей которые вы используете. По умолчанию используются модули QtCore и QtGui (QtCore4.dll и QtGui4.dll, соответственно). И dll'ки других модулей, например, если в pro-файле есть запись:

QT += xml

то необходимо взять и QtXml4.dll.

20px Заметьте, если вы используете отладочную версию своей программы (CONFIG += debug), то нужно взять dll'ки с буквой "d":
QtCored4.dll, QtGuid4.dll и QtXmld4.dll

для примера выше.

Эти dll'ки должны быть помещены в один каталог с исполняемым файлом вашего приложения.

[править] 2

Из катлога %QTDIR%/bin/ необходимо взять dll'ки тех модулей которые вы используете. По умолчанию используются модули QtCore и QtGui (QtCore4.dll и QtGui4.dll, соответственно). И dll'ки других модулей, например, если в pro-файле есть запись:

QT += xml

то необходимо взять и QtXml4.dll.

30px Заметьте, если вы используете отладочную версию своей программы (CONFIG += debug), то нужно взять dll'ки с буквой "d":
QtCored4.dll, QtGuid4.dll и QtXmld4.dll

для примера выше.

Эти dll'ки должны быть помещены в один каталог с исполняемым файлом вашего приложения.

[править] 2

Из катлога %QTDIR%/bin/ необходимо взять dll'ки тех модулей которые вы используете. По умолчанию используются модули QtCore и QtGui (QtCore4.dll и QtGui4.dll, соответственно). И dll'ки других модулей, например, если в pro-файле есть запись:

QT += xml

то необходимо взять и QtXml4.dll.

Замечание Если вы используете отладочную версию своей программы (CONFIG += debug), то нужно взять dll'ки с буквой "d":
QtCored4.dll, QtGuid4.dll и QtXmld4.dll

для примера выше.

Эти dll'ки должны быть помещены в один каталог с исполняемым файлом вашего приложения.