Значок, отображаемый при запуске исполняемого файла в Windows, поступает из самого исполняемого файла. Чтобы связать значок с вашим приложением, вам нужно указать значок при создании с помощью pyinstaller.exe
, передав параметр --icon
. Например:
pyinstaller.exe --onefile --windowed --name myapps --icon=icon.ico opc.py
Обратите внимание, что в отличие от setWindowIcon()
файл значка должен находиться в формате .ico
, поэтому вам сначала нужно будет преобразовать его из .png
.
Если вы хотите использовать вызов PyQt для установки значка, вам необходимо связать файл значка с исполняемым файлом, что можно сделать с помощью файла спецификации PyInstaller . Пошаговое руководство по созданию и модификации файла spec находится в предыдущем ответе .
Вы можете получить все почтовые клиенты, используя ACTION_SENDTO, например
Intent getMailClients = new Intent(Intent.ACTION_SENDTO);
getMailClients.setData(Uri.parse("mailto:"));
final PackageManager pm = this.getPackageManager();
final List<ResolveInfo> emailsClients = pm.queryIntentActivities(getMailClients, 0);
if (emailsClients.size() == 0) {
Toast.makeText(this, "There are no email clients installed", Toast.LENGTH_LONG).show();
return;
}
, а затем создать свой собственный выбор (диалог со списком найденных приложений). Когда пользователь нажимает на элемент, вы можете сделать что-то вроде этого.
Intent sendMailIntent = new Intent(Intent.ACTION_SEND);
sendMailIntent.setType(some type like text/plain or other you need);
...
there you can set SUBJECT,EMAILTO, attach files
...
final List<ResolveInfo> matches = pm.queryIntentActivities(sendMailIntent, 0);
ResolveInfo sendingProgramm = null;
for (final ResolveInfo info : matches) {
if (info.activityInfo.packageName.equals(clickedResolveInfo.activityInfo.packageName)) {
sendingProgramm = info;
sendMailIntent
.setClassName(sendingProgramm.activityInfo.packageName, sendingProgramm.activityInfo.name);
break;
}
}
startActivity(sendMailIntent);
Может быть, это поможет вам.