我的代码进入了OnOptionsItemSelected方法.我试过显示一个简单的吐司,它工作正常,所以至少我知道我"到了那里".
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.select_dialog_multichoice);
adapter.add("whatever data1");
adapter.add("whatever data2");
adapter.add("whatever data3");
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("whatever title");
builder.setAdapter(adapter, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
}
});
Run Code Online (Sandbox Code Playgroud)
问题是没有警报对话框.我尝试用简单的数组构建一个警告对话框,它可以工作.
我使用了我的工作 tkinter 代码(仅绘制了窗口/按钮等),并尝试从此处已批准的答案中添加一些代码:用于在窗口上打印串行数据的 python 代码。
批准的答案本身只需很小的修改即可工作,但添加到我的代码中时,我收到错误“'Gui'对象没有属性'after'”
我不明白的是为什么在 Gui 类中而不是在 process_serial 方法中查找属性“after”。
from tkinter import *
from tkinter import ttk
import serial
import threading
import queue
class SerialThread(threading.Thread):
def __init__(self, queue):
threading.Thread.__init__(self)
self.queue = queue
def run(self):
s = serial.Serial('COM11',115200)
while True:
if s.inWaiting():
text = s.readline(s.inWaiting())
self.queue.put(text)
class Gui():
def __init__(self, master):
###MAIN FRAME###
mainFrame = Frame(master, width=50000, height=40000)
mainFrame.pack(fill = BOTH, expand = 1)
###LIST FRAME###
listFrame = Frame(mainFrame)
listFrame.pack(side = TOP, fill = BOTH, expand = 1) …Run Code Online (Sandbox Code Playgroud)