Версия ttk
, которую вы использовали ранее, добавляет функциональность галочки по умолчанию, и на выбранном элементе появляется галочка. Однако, когда вы вручную добавляете элементы, вам нужно будет использовать метод add_radiobutton
вместо add_command
. Это то, что позволяет поставить галочку (в версиях tk
и ttk
).
import tkinter.tkk as tkk
def __init__(self, *args, **kwargs):
...
self.om = ttk.OptionMenu(self, self.om_variable)
...
def _reset_option_menu(self, options, index=None):
...
menu.add_radiobutton(
label=string,
command=tk._setit(self.om_variable, string)
)
...
Это - то, как я установил связь: (Я не знаю, является ли это "лучшей практикой", но она работает.)
Импорт драйвера:
Java build path
Add external JARS..
и выберите местоположение к драйверу JDBC.Вот мой код:
try{
Class.forName("org.postgresql.Driver");
} catch (ClassNotFoundException cnfe){
System.out.println("Could not find the JDBC driver!");
System.exit(1);
}
Connection conn = null;
try {
conn = DriverManager.getConnection
(String url, String user, String password);
} catch (SQLException sqle) {
System.out.println("Could not connect");
System.exit(1);
}
URL может иметь один из следующих форматов:
jdbc:postgresql:database
jdbc:postgresql://host/database
jdbc:postgresql://host:port/database
Вот один способ получить возможность соединения PostgreSQL к Вашему приложению:
org.postgresql.ds.PGSimpleDataSource
DataSource.getConnection()
метод.Собственные методы для конфигурирования этого конкретного DataSource setServerName()
, setDatabaseName()
, setUser()
и setPassword()
.
Я не рекомендовал бы делать это для чего-либо еще, чем тестирование, хотя и возможно, что Ваша проблема заключается в том, как, Вы пытаетесь получить экземпляр объектного использования Class.forName()
Существует почти дюжина различных способов получить экземпляр объекта с тонкими различиями, я предлагаю гуглить для него, так как это - предмет, о котором уже записало много людей на всем протяжении Интернета.
У меня была такая же проблема с GWT.
Я исправил ее, скопировав файл jar в папку "lib": (Project \ war \ WEB-INF \ lib). Когда вы добавляете jar в Путь сборки, кажется, что связь создается статически, однако нам нужна библиотека во время выполнения!
Надеюсь, это решит вашу проблему.