WPF에서는  

AppDomain.CurrentDomain.BaseDirectory;

또는

string appStartPath = System.IO.Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName);

'Programming > C#' 카테고리의 다른 글

Action 사용하기  (0) 2023.09.27
현재시간(C#)  (0) 2023.09.05
Winform - // form 위에 form 설정  (0) 2022.07.13
기초 C#  (0) 2022.07.13
WPF 중복 실행 방지  (0) 2021.12.02

App.xaml.cs

using System.Threading;

namespace AppName
{
    public partial class App : Application
    {
        Mutex mutex;

        protected override void OnStartup(StartupEventArgs e)
        {
            base.OnStartup(e);

            string mutexName = "exe";
            bool createNew;

            mutex = new Mutex(true, mutexName, out createNew);

            if (!createNew)
            {
                Shutdown();
            }
        }

        public App()
        {
           this.InitializeComponent();
        }
    }
}

'Programming > C#' 카테고리의 다른 글

Action 사용하기  (0) 2023.09.27
현재시간(C#)  (0) 2023.09.05
Winform - // form 위에 form 설정  (0) 2022.07.13
기초 C#  (0) 2022.07.13
WPF에서 실행파일이 있는 경로  (0) 2022.07.13

pyinstaller 실행파일 만들기

 

1. 하나의 파일 - 로딩 속도 느림

pyinstaller --onefile -n TestExe --hidden-import PyQt5.sip Test.py

 

2. 관련 Lib 따로 구성됨 - 로딩 속도 빠름.
pyinstaller -n TestExe --hidden-import PyQt5.sip Test.py

'Programming > Python' 카테고리의 다른 글

web 사용  (0) 2023.08.03
numpy.clip(array, min, max)  (0) 2023.06.03
내장함수 eval  (0) 2023.04.08
내장함수 zip  (0) 2023.04.08
내장함수 enumerate  (0) 2023.04.08

class ui_Dlg;
class Dlg : 
{
Q_OBJECT
public:
explicit Dlg(QObject *parent=nullptr);
~Dlg();
signals:
public slots:
private:
    void initVariables();
    void initSignalSlots();
private:
     QScopedPointer<ui_Dlg> ui;
     QScopedPointer<privateStruct> d;
};

struct Dlg::privateStruct
{
    QScopedPointer<> aaa;
};

Dlg::Dlg(), d(new privateStruct)
{
}

'Programming > QT' 카테고리의 다른 글

QTimer  (0) 2021.06.10
Event  (0) 2021.06.10
QT Deploy release only  (0) 2021.04.14
Pdf 출력  (0) 2020.11.17
checkbox group  (0) 2020.08.11

// QTimer 1 sec 반복
QTimer *timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(reload()));
timer -->start(1000);

// QTimer 1 sec 후에 한번
QTimer::singleShot(1000, this, SLOT(reload()));

'Programming > QT' 카테고리의 다른 글

QT GUI  (0) 2021.06.10
Event  (0) 2021.06.10
QT Deploy release only  (0) 2021.04.14
Pdf 출력  (0) 2020.11.17
checkbox group  (0) 2020.08.11

virtual void paintEvent(QPaintEvent *event);
virtual void resizeEvent(QResizeEvent *event);
virtual void mousePressEvent(QMouseEvent *event);
virtual void mouseReleaseEvent(QMouseEvent *event);
virtual void mouseDoubleClickEvent(QMouseEvent *event);
virtual void mouseMoveEvent(QMouseEvent *event);
virtual void keyPressEvent(QKeyEvent *event);
virtual void keyReleaseEvent(QKeyEvent *event);
virtual void focusInEvent(QFocusEven t *event);
virtual void focusOutEvent(QFocusEvent *event);

void Widget::paintEvent(QPaintEvent *event)
{
Q_UNUSED(event);
QPainter painter(this);
.........
painter.end();
}
void Widget::mousePressEvent(QMouseEvent *event)
{
Q_UNUSED(event);
qDebug("x, y : %d, %d", event -->x(), event -->y());
}

void Widget::keyPressEvent(QKeyEvent *event)
{
Q_UNUSED(even t);
qDebug("Key Press Event.");
switch(event ->key())
{
case Qt::Key_A :
if(event -->modifiers())
qDebug("A");
else
qDebug("a");
break;
}
}

'Programming > QT' 카테고리의 다른 글

QT GUI  (0) 2021.06.10
QTimer  (0) 2021.06.10
QT Deploy release only  (0) 2021.04.14
Pdf 출력  (0) 2020.11.17
checkbox group  (0) 2020.08.11

windeployqtreleaseonly.zip
9.92MB

windeployqtreleaseonly --release test.exe

'Programming > QT' 카테고리의 다른 글

QT GUI  (0) 2021.06.10
QTimer  (0) 2021.06.10
Event  (0) 2021.06.10
Pdf 출력  (0) 2020.11.17
checkbox group  (0) 2020.08.11

QString html = "aaaa";

QTextDocument doc;

doc.setHtml(html);

 

QPrinter printer(QPrinter::PrinterResolution);

printer.setOutputFormat(QPrinter::PdfFormat);

printer.setPaperSize(QPrinter::A4);

printer.setOutputFileName("test.pdf");

printer.setPageMargins(QMarginsF(15,15,15,15));

doc.print(&printer);

'Programming > QT' 카테고리의 다른 글

QT GUI  (0) 2021.06.10
QTimer  (0) 2021.06.10
Event  (0) 2021.06.10
QT Deploy release only  (0) 2021.04.14
checkbox group  (0) 2020.08.11

-------------------------------------------------------------------------
for (int row = 0; row < img.rows; row++)
{
 for (int col = 0; col < img.cols; col++) 
 {
    uchar b = img.at<Vec3b>(row, col)[0];
    uchar g = img.at<Vec3b>(row, col)[1];
    uchar r = img.at<Vec3b>(row, col)[2];
 }
}
-------------------------------------------------------------------------
for (int row = 0; row < img.rows; row++)
{
  uchar* p_row = img.ptr<uchar>(row);

  for (int col = 0; col < img.cols; col++)
  {
    uchar b = p_row[col * 3 + 0];
    uchar g = p_row[col * 3 + 1];
    uchar r = p_row[col * 3 + 2];
  }
}
-------------------------------------------------------------------------
uchar* imgdata = img.data;

for (int row = 0; row < img.rows; row++)
{
  for (int col = 0; col < img.cols; col++)
  {
    uchar b = imgdata[row * img.cols * 3 + col * 3];
    uchar g = imgdata[row * img.cols * 3 + col * 3 + 1];
    uchar r = imgdata[row * img.cols * 3 + col * 3 + 2];
  }
}

SYSTEMTIME t;

GetLocalTime(&t);

/*

typedef struct _SYSTEMTIME {

WORD wYear;

WORD wMonth;

WORD wDayOfWeek;

WORD wDay;

WORD wHour;

WORD wMinute;

WORD wSecond;

WORD wMilliseconds;

} SYSTEMTIME;

*/

 

또는 

 

CTime::GetCurrentTime();

// 

'Programming > MFC' 카테고리의 다른 글

CString 을 char array 로 변환  (0) 2020.08.20
함수 속도 측정  (0) 2020.08.11

+ Recent posts