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

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

Перейти к: навигация, поиск

Содержание

из 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())
   {
  1. 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)"); }

  1. 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; }

  1. 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)"));

  1. else

return QLatin1String("Unknown");

  1. 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

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

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